Une petite base de code interprétable contenant la réimplémentation de quelques modèles NLP « profonds » dans PyTorch.
Ceci est présenté comme un point de départ (incomplet) pour ceux qui souhaitent se familiariser avec les architectures DL en PNL. Des modèles annotés sont présentés accompagnés de quelques notes.
Il existe des liens pour exécuter ces modèles sur Colab avec des GPU ?️ via des notebooks.
Modèles actuels : word2vec, CNN, transformateur, gpt. ( Travaux en cours )
BERT : Je lis. Comprendre.
Remarque : ce sont des versions jouets de chaque modèle.
Ces modèles PNL sont présentés chronologiquement et, comme on peut s’y attendre, s’appuient les uns sur les autres.
Classe de modèle | Modèle | Année |
---|---|---|
Intégrations | ||
1. | Intégrations Word2Vec (apprentissage auto-supervisé) | 2013 |
CNN | ||
2. | Classification de texte basée sur CNN (classification binaire) | 2014 |
Transformateurs | ||
3. | Le transformateur OG (traduction automatique) | 2017 |
4. | Modèle GPT d'OpenAI (modèle de langage) | 2018, 2019, 2020 |
Ce référentiel présente les fonctionnalités suivantes :
Après avoir examiné ces modèles, le monde vous appartient en termes d'autres modèles à explorer :
Char-RNN, BERT, ELMO, XLNET, tous les autres BERT, BART, Performer, T5, etc....
Futurs modèles à mettre en œuvre :
Fonctionnalités futures du dépôt :
Vous pouvez installer le dépôt en utilisant pip
:
pip install git + https : // github . com / will - thompson - k / deeplearning - nlp - models
Voici une répartition du référentiel :
nlpmodels/models
: Le code du modèle pour chaque article. nlpmodels/utils
: Contient toutes les classes auxiliaires liées à la construction d'un modèle, y compris les ensembles de données, le vocabulaire, les tokenizers, les échantillonneurs et les classes d'entraînement. ( Remarque : la plupart des fichiers non-modèles sont jetés dans des utilitaires. Je déconseille cela dans un dépôt plus grand.) tests
: Couverture légère (et en aucun cas exhaustive). notebooks
: contient les cahiers et les notes pour chaque implémentation de modèle.Quelques commandes utiles :
make test
: Exécutez la suite complète de tests (vous pouvez également utiliser setup.py test
et run_tests.sh
). make test_light
: Exécutez tous les tests sauf les tests de régression. make lint
: Si vous aimez vraiment le code de peluchage (vous pouvez également exécuter run_pylint.sh
). Python3.6+
Voici les exigences du package (trouvées dans exigences.txt)
@ misc { deeplearning - nlp - models ,
author = { Thompson , Will },
url = { https : // github . com / will - thompson - k / deeplearning - nlp - models },
year = { 2020 }
}
MIT