Eine kleine, interpretierbare Codebasis, die die Neuimplementierung einiger „tiefer“ NLP-Modelle in PyTorch enthält.
Dies wird als (unvollständiger) Ausgangspunkt für diejenigen dargestellt, die sich mit den Grundlagen der DL-Architekturen im NLP befassen möchten. Kommentierte Modelle werden zusammen mit einigen Anmerkungen vorgestellt.
Es gibt Links, um diese Modelle auf Colab mit GPUs ?️ über Notebooks auszuführen.
Aktuelle Modelle : word2vec, CNNs, Transformator, gpt. ( In Arbeit )
BERT: Lesen. Verstehen.
Hinweis: Dies sind Spielzeugversionen jedes Modells.
Diese NLP-Modelle werden chronologisch dargestellt und bauen erwartungsgemäß aufeinander auf.
Modellklasse | Modell | Jahr |
---|---|---|
Einbettungen | ||
1. | Word2Vec-Einbettungen (selbstüberwachtes Lernen) | 2013 |
CNNs | ||
2. | CNN-basierte Textklassifizierung (Binärklassifizierung) | 2014 |
Transformatoren | ||
3. | Der OG-Transformer (maschinelle Übersetzung) | 2017 |
4. | GPT-Modell (Sprachmodell) von OpenAI | 2018, 2019, 2020 |
Dieses Repository verfügt über die folgenden Funktionen:
Nachdem Sie diese Modelle überprüft haben, liegt Ihnen die Welt zu Füßen, wenn es um weitere Modelle geht, die Sie erkunden können:
Char-RNN, BERT, ELMO, XLNET, alle anderen BERTs, BART, Performer, T5 usw....
Zukünftige Modelle zur Umsetzung:
Zukünftige Repo-Funktionen:
Sie können das Repo mit pip
installieren:
pip install git + https : // github . com / will - thompson - k / deeplearning - nlp - models
Hier ist eine Aufschlüsselung des Repositorys:
nlpmodels/models
: Der Modellcode für jedes Papier. nlpmodels/utils
: Enthält alle Hilfsklassen im Zusammenhang mit der Erstellung eines Modells, einschließlich Datensätze, Vokabular, Tokenizer, Sampler und Trainerklassen. ( Hinweis: Die meisten Nicht-Modelldateien werden in Utils abgelegt. Ich würde davon in einem größeren Repo abraten.) tests
: Leichte (und keineswegs umfassende) Abdeckung. notebooks
: Enthält die Notizbücher und Aufsätze für jede Modellimplementierung.Ein paar nützliche Befehle:
make test
: Führen Sie die gesamte Testsuite aus (Sie können auch setup.py test
und run_tests.sh
verwenden). make test_light
: Alle Tests außer den Regressionstests ausführen. make lint
: Wenn Sie Linting-Code wirklich mögen (können Sie auch run_pylint.sh
ausführen). Python 3.6+
Hier sind die Paketanforderungen (zu finden in „requirements.txt“)
@ misc { deeplearning - nlp - models ,
author = { Thompson , Will },
url = { https : // github . com / will - thompson - k / deeplearning - nlp - models },
year = { 2020 }
}
MIT