TinyGPT
1.0.0
Tiny C++11 GPT-2 從頭開始的推理實現,主要基於 picoGPT 專案。
隨附的部落格文章:從頭開始撰寫 GPT (TinyGPT)
Tensor
:類似 numpy 介面的 Tensor 類別。Model
:GPT-2模型實作參考gpt2_pico.py。Tokenizer
:BPE tokenizer 與 GPT-2encoder.py 的邏輯完全相同。 git clone --recurse-submodules https://github.com/keith2018/TinyGPT.git
官方網站:用於 CPU 和 GPU 上數值計算的英特爾® 最佳化數學庫
python3 tools / download_gpt2_model . py
如果成功,您將在目錄assets/gpt2
中看到檔案model_file.data
mkdir build
cmake -B ./build -DCMAKE_BUILD_TYPE=Release
cmake --build ./build --config Release
這將產生可執行檔並將資產複製到目錄app/bin
,然後您可以執行示範:
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 此代碼根據 MIT 許可證獲得許可(請參閱許可證)。