iT邦幫忙

2025 iThome 鐵人賽

DAY 21
0

語言模型的自我學習:

模型在training期間如何找到最佳化參數?

  • 模型在training前,設定hyperparameter來決定optimization。
  • 如果training失敗,那再換一個hyperparameter,直到理想結果出現。
  • train from scratch: 除了hyperparameter外,也可以隨機設定出初始參數。
  • 增加訓練資料。

機器學習目的:找到訓練資料中合理的參數
機器學習分兩階段:訓練(training/learning)、測試(testing/inference)
訓練:設定hyperparameter,透過最佳化找出參數
測試:使用訓練過的參數進行推論

語言模型訓練第一階段:自我學習
目標:透過大量文字資料,學習知識
資料來源:從網路爬蟲文字資料
資料清理:過濾有害內容、去除HTML tag等符號、去除低品質資料、重複內容移除

語言模型的修練

第一階段-自我學習(pre-train):

  • 模型透過網路的大量文本資料,取得良好的參數。
  • 在pre-train階段訓練出的良好參數,可以讓模型在第二階段fine-tuning有舉一反三的能力

第二階段-instruction fine-tuning:

  • 模型取得第一階段訓練出來的良好參數,做為第二階段使用的初始參數。
  • 使用人工標註好的資料,比如問題與答案給模型學習。
  • 讓模型按指令給出正確回應
  • Adapter:在原有的參數(a+b+c+d+e)上再加上少量參數(f+g)。作用是避免在第二階段訓練出的參數與第一階段差距很大,穩定參數的設定。ex:LoRA

透過pre-train讓模型成為專才或通才:

  • 專精:針對單一任務做Fine-tuning(比如翻譯、編修),如BERT
  • 通才:收集多種任務的大量資料做instruction fine-tuning

Instruction Fine-tuning資料收集:

  • 高品質的Instruction Fine-tuning資料是最重要的
  • 比起設定好的範本,收集真實使用者問題並標註答案是更好的做法 (OpenAI的做法)
  • 對ChatGPT等大型模型做逆向工程, 生成使用者可能會問的問題及答案

Instruction Fine-tuning:

  • 只要有高品質資料就不須要大量資料
  • 對小模型有顯著進步

Meta開源LLaMA讓個人與團隊都可以訓練自己的大型語言模型,因為不用pre-train

名詞解釋:
overfitting: 在training階段找到符合訓練資料的參數,但在testing階段時泛化失敗
supervised learning:大量人工標註資料,讓模型學習
self-supervised learning:少量人工介入,只要讓機器不斷網路爬蟲大量文本資料。
model size:表示模型複雜度,也就是參數量
data size:訓練用的資料量


上一篇
DAY 20
系列文
找工作期間不要讓自己太廢21
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言