LLM workshop 2024
1.0.0
該教程針對有興趣了解大語模型(LLMS)的構件,LLM的工作方式以及如何從Pytorch的地面進行編碼的編碼器。我們將介紹本教程,介紹LLM,最近的里程碑及其用例。然後,我們將編寫一個類似GPT的LLM,包括其數據輸入管道,核心體系結構組件和預處理代碼。在了解所有內容如何合併在一起以及如何預處理LLM之後,我們將學習如何使用開源庫加載預驗證的重量和Finetune LLM。
代碼材料基於我的構建大型語言模型,還使用了Litgpt庫。
可以在此處提供一個即將到達的雲環境,其中包含所有代碼示例和依賴項。這使參與者能夠在GPU上運行所有代碼,尤其是在預處理和填充部分中。
此外,請參閱設置文件夾中的說明以設置計算機以在本地運行代碼。
| 標題 | 描述 | 文件夾 | |
|---|---|---|---|
| 1 | LLMS簡介 | 介紹LLM的研討會簡介,該研討會中涵蓋的主題以及設置說明。 | 01_intro |
| 2 | 了解LLM輸入數據 | 在本節中,我們將通過實現文本令牌和我們的LLM的自定義Pytorch DataLoader來編碼文本輸入管道 | 02_data |
| 3 | 編碼LLM體系結構 | 在本節中,我們將瀏覽LLMS的各個構建塊,並在代碼中組裝它們。我們不會細緻的細節涵蓋所有模塊,而是將重點放在更大的情況下,以及如何將它們組裝成類似GPT的模型。 | 03_architecture |
| 4 | 預訓練的LLM | 在第4部分中,我們將介紹LLM的預訓練過程,並實施代碼,以確定我們先前實施的模型體系結構。由於預處理很昂貴,我們只會在公共領域中可用的小文本樣本上預處理它,以便LLM能夠生成一些基本的句子。 | 04_進行 |
| 5 | 加載預驗證的重量 | 由於預訓練是一個漫長而昂貴的過程,因此我們現在將在自我實施的體系結構中加載預處理的重量。然後,我們將介紹LITGPT開源庫,該圖書館為培訓和Finetuning LLMS提供了更複雜的(但仍可閱讀)的代碼。我們將學習如何在LITGPT中加載預驗證的LLM(Llama,Phi,Gemma,Mistral)。 | 05_weightloading |
| 6 | FINETUNING LLMS | 本節將介紹LLM Finetuning技術,我們將準備一個小型數據集以進行指導登錄,然後我們將使用該數據集在LITGPT中使用LLM。 | 06_finetuning |
(代碼材料基於我的構建大型語言模型,還使用了litgpt庫。)