AI 大型語言模型 (LLMs)
NanoEuler
NanoEuler 是一個完全用 C/CUDA 從頭建構的開源 GPT-2 風格語言模型,包含手寫反向傳播、BPE 分詞器、FlashAttention 和訓練管道。
NanoEuler
什麼是 NanoEuler?
NanoEuler 是一個教育專案,完全使用 C 和 CUDA 實現解碼器僅變壓器(GPT-2 風格),不依賴任何機器學習函式庫。它包含位元組級別 BPE 分詞器、在書籍和網路資料上的預訓練,以及用於對話的監督微調。
NanoEuler 與相似工具比較
| 計價模式 | 免費 | 免費 | 免費 | 免費 |
| 免費額度 | ||||
| 主要功能 |
|
|
|
|
| 優點 |
|
|
|
|
| 缺點 |
|
|
|
|
| 適合對象 |
|
|
|
|
如何使用 NanoEuler?
- 1從 GitHub 複製儲存庫。
- 2確保已安裝 gcc 和 nvcc。
- 3執行 'make' 來建構 CPU 訓練二進位檔。
- 4執行 'make check' 以驗證反向傳遞。
- 5訓練小型模型:'./nanoeuler train'。
- 6訓練 GPU 模型:'./nanoeuler_cuda t'。
- 7微調用於對話:'./nanoeuler_cuda s'。
- 8與對話模型互動:'./nanoeuler_cuda c'。
NanoEuler 主要功能
- 在 C/CUDA 中手寫的前向和反向傳遞
- 具有 GPT-2 風格預分詞的位元組級別 BPE 分詞器
- 用於 GPU 訓練的 FlashAttention 核心
- 在書籍和網路語料庫上進行預訓練
- 用於對話的監督微調(SFT)
- 雙精度下的全模型梯度檢查
- 檢查點/恢復訓練
- 支援 CPU 和 GPU(CUDA)執行
NanoEuler 使用情境
- 探索 LLM 內部機制的教育用途
- 從頭學習變壓器訓練
- 實驗小規模語言模型
- 研究自訂模型架構
NanoEuler 價格與免費點數
NanoEuler 目前採用 免費 模式。
此工具完全免費使用
NanoEuler 優缺點
優點
- 完全從頭實作,無依賴
- 透過數值檢查驗證梯度準確性
- 支援 CPU 和 GPU 訓練
- 包含預訓練和微調管道
- 文件完善且具教育性
缺點
- 僅約 1.16 億參數,不適合生產環境
- 大型模型訓練需要支援 CUDA 的 GPU
- 因規模小,世界知識有限
- 未提供官方預訓練檢查點
NanoEuler 最適合哪些用途?
- 學習 LLM 訓練的開發者和研究人員
- 研究變壓器內部機制的學生
- 建立自訂小型模型的愛好者