TinyGPT
1.0.0
Petite implémentation d'inférence C++11 GPT-2 à partir de zéro, principalement basée sur le projet picoGPT.
Article de blog qui l'accompagne : Rédigez un GPT à partir de zéro (TinyGPT)
Tensor
: Classe Tensor similaire à l'interface numpy.Model
: implémentation du modèle GPT-2 en référence à gpt2_pico.py.Tokenizer
: tokenizer BPE avec exactement la même logique que GPT-2 encoder.py. git clone --recurse-submodules https://github.com/keith2018/TinyGPT.git
Site officiel : Bibliothèque mathématique optimisée Intel® pour le calcul numérique sur processeurs et GPU
python3 tools / download_gpt2_model . py
en cas de succès, vous verrez le fichier model_file.data
dans le répertoire assets/gpt2
mkdir build
cmake -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --config Release
Cela générera le fichier exécutable et copiera les actifs dans le répertoire app/bin
, vous pourrez ensuite exécuter la démo :
cd app/bin
./TinyGPT_demo
[DEBUG] TIMER TinyGPT::Model::loadModelGPT2: cost: 800 ms
[DEBUG] TIMER TinyGPT::Encoder::getEncoder: cost: 191 ms
INPUT:Alan Turing theorized that computers would one day become
GPT:the most powerful machines on the planet.
INPUT:exit
intel-mkl
https://www.intel.com/content/www/us/en/developer/tools/oneapi/onemkl.htmljson11
https://github.com/dropbox/json11re2
https://github.com/google/re2abseil-cpp
https://github.com/abseil/abseil-cpp Ce code est sous licence MIT (voir LICENCE).