alvroble / NetConfigLens

Analysis of Netkwork Equipment Configuration using AI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

NetConfigLens

Analysis of Netkwork Equipment Configuration using AI
Explore the docs »

Table of Contents
  1. About The Project
  2. Prerequisites
  3. Usage
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments

About The Project

In this project, it is developed an AI system for error detection in network equipment configurations, such as routers configurations, improving the current state-of-the-art in the relevant metrics, and demonstrating AI’s potential in telecommunications network management. Two design alternatives based on transformer networks are developed using Python and frameworks like TensorFlow, Keras, and PyTorch. Several tests are conducted to compare the performance of these models with the existing state-of-the-art alternatives. Ultimately, significant improvements in the results are achieved for both design alternatives, showcasing the potential of NLP techniques using transformers and large language models (LLMs), especially in the case of pretrained models.

(back to top)

Built With

Share to Community

Keras TensorFlow PyTorch

Google-Colab

(back to top)

Prerequisites

In Google Colab, it is needed to install the following packages

  • transformers (using TensorFlow)
    !pip install -q transformers
  • transformers and accelerate (using PyTorch)
    !pip install -U -q transformers
    !pip install -U -q accelerate

(back to top)

Usage

Two Colab notebooks are provided:

  • NCL_GPT2. Here, a GPT-2 model is trained from scratch with Cisco configuration files in order to detect configuration mistakes. Then, evaluation is carried out using a configuration file with 70 mistakes (approximately 10% of the word count).
  • NCL_GPT2_Pretrained. Here, it is used an already trained GPT-2 model, fine-tuning with 100 Cisco configuration files in order to detect configuration mistakes. Then, evaluation is carried out using a configuration file with 70 mistakes (approximately 10% of the word count).

The used dataset of 100 Cisco PE config examples is provided. Anyone can train the models from this examples as done in the notebooks provided. If you want to run this on your own Google Colab, you should be aware of mantaining the folder and file structure.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Alvaro Robledo - alv.rbarba@gmail.com

linkedin-shield

Project Link: https://github.com/alvroble/NetConfigLens

(back to top)

Acknowledgments

This work is based on and inspired by Javier Antich's work:

(back to top)

About

Analysis of Netkwork Equipment Configuration using AI

License:MIT License


Languages

Language:Jupyter Notebook 100.0%