TinyGPT
1.0.0
Winzige C++11-GPT-2-Inferenzimplementierung von Grund auf, die hauptsächlich auf dem Projekt picoGPT basiert.
Begleitender Blogbeitrag: Schreiben Sie ein GPT von Grund auf (TinyGPT)
Tensor
: Tensorklasse ähnlich der Numpy-Schnittstelle.Model
: GPT-2-Modellimplementierung mit Verweis auf gpt2_pico.py.Tokenizer
: BPE-Tokenizer mit genau der gleichen Logik wie GPT-2-Encoder.py. git clone --recurse-submodules https://github.com/keith2018/TinyGPT.git
Offizielle Website: Intel®-Optimized Math Library for Numerical Computing on CPUs & GPUs
python3 tools / download_gpt2_model . py
Bei Erfolg wird die Datei model_file.data
im Verzeichnis assets/gpt2
angezeigt
mkdir build
cmake -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --config Release
Dadurch wird die ausführbare Datei generiert und die Assets in das Verzeichnis app/bin
kopiert. Anschließend können Sie die Demo ausführen:
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 Dieser Code ist unter der MIT-Lizenz lizenziert (siehe LIZENZ).