iT邦幫忙

鐵人檔案

2023 iThome 鐵人賽
回列表
AI & Data

用單張顯卡探索大型語言模型的奧秘 系列

今天是特殊的一年,大型語言模型如雨後春筍般冒出,其回答問題、邏輯推理、舉一反三的能力也令人嘆為觀止,曾經被人工智能視為障礙的圖靈測試對如今的語言模型來說就像一塊小蛋糕;原本因為進入門檻極高,該技術始終掌握在少數人的手中,然而現在,在LLama系列的大型語言模型開源後,先前許多專門被用來finetune大模型的技術,也開始被使用在了LLama系列的語言模型上,本系列文章將使用單張顯卡,藉由研究baby llama2專案來嘗試從頭訓練自己的語言模型並一步一步把模型參數量加大;並且使用QLORA等等的技術來對現有的大型語言模型做針對性的微調,探索大語言模型的奧秘。

DAY 1

Day1-選擇題目的動機

這次參加鐵人賽,我打算利用這個機會來深入探索大型語言模型(LLM)領域、相關的基礎知識,以及專案。雖然我對自然語言處理(NLP)領域並非完全不熟悉 - 在Ber...

2023-09-02 ‧ 由 jjchen1 分享
DAY 2

Day2 - 從nanoGPT開始 (1)

我會先從研究nanoGPT開始的一個重要原因是因為他的作者Andrej Karpathy。他不僅對OpenAI和特斯拉的人工智慧成果有重要的影響,而且也是深度學...

2023-09-03 ‧ 由 jjchen1 分享
DAY 3

Day3 - 從nanoGPT開始 (2)

優化 Bigram Language Model 加入 Position encoding 直接使用很簡單的torch.arange(T, device=dev...

2023-09-04 ‧ 由 jjchen1 分享
DAY 4

Day4 - 從nanoGPT開始 (3)

開始使用NanoGPT專案來做Training,我研究了一下專案的內容,發現雖然NanoGPT是以教學為導向的但是似乎還是有點大,不知道單張顯卡跑不跑得動最小的...

2023-09-05 ‧ 由 jjchen1 分享
DAY 5

Day5 - 從nanoGPT開始 (4)

昨天晚上睡覺的時間訓練了一版GPT用的是最小參數量的gpt2,使用RTX3090訓練4000個iteration花了大約10個小時,我看設定好的MaxItera...

2023-09-06 ‧ 由 jjchen1 分享
DAY 6

Day 6 - Baby LLama2

“baby-llama2-chinese”是一個用於從頭開始預訓練加上SFT的小參數量中文LLaMa2的倉庫。該專案的目的是創建一個能夠流暢進行中文問答的cha...

2023-09-07 ‧ 由 jjchen1 分享
DAY 7

Day 7 - Baby LLama2 Chinese

這是一個Baby LLama2的Fork專案,用了中文的資料庫來訓練具有中文能力的Baby LLama2 Model,看ReadMe.md的內容,作者使用的也是...

2023-09-08 ‧ 由 jjchen1 分享
DAY 8

Day 8 - Baby LLama2 Chinese (2)

昨天訓練前,沒注意看讀取訓練資料的路徑設定,沒有把前處理的資料wiki跟medical的資料做pretrain.py,這邊要補一下;今天只好再重新放著做pret...

2023-09-09 ‧ 由 jjchen1 分享
DAY 9

Day 9 - Baby LLama2 Chinese (3)

由於昨天在訓練時沒有存檔路徑,因此訓練完10個epoch的結果存放在'./out/20230815_baike_pretrain/epoch_9.pth'。pr...

2023-09-10 ‧ 由 jjchen1 分享
DAY 10

Day 10 - Baby LLama2 Chinese (4)

完成了7個epoch的sft訓練以後,結果差的慘不忍睹,現在我正在嘗試重頭來過看看能不能找出問題在哪;以作者的描述: 用于从头预训练+SFT一个小参数量的中文...

2023-09-11 ‧ 由 jjchen1 分享