MiuLab / Taiwan-LLM

Traditional Mandarin LLMs for Taiwan
https://twllm.com
Apache License 2.0
1.26k stars 104 forks source link

想請教關於Fine tuning時的資料集要求 #57

Open davidho27941 opened 8 months ago

davidho27941 commented 8 months ago

Hi

想請教一下在進行微調時是否有需要對資料的格式進行處理,在網路上有看到不同作法,例如:

  1. 以alpaca格式,儲存為jsonl形式後,直接作為資料集提供給SFTTrainer進行微調。
  2. 將對話以<s>[INST] {instruction} [/INST] {response} </s>的形式紀錄,並直接提供給SFTTrainer進行微調。
  3. 將(1)(2)的資料集以tokenizer進行處理後,取得attention_mask以及input_ids後才提供給SFTTrainer進行微調。

想詢問哪一種方式會是比較好的,同時也好奇attention_mask在微調過程中的必要性,以目前Hugging Face的SFTTrainer而言,並未有一個參數能指定這個mask的名稱,實在不確定提供了之後是否會被使用,以及這向資訊是否為必要的。

感謝撥冗閱讀,還請不吝賜教。

adamlin120 commented 6 months ago

如果你自己寫腳本訓練,我建議用 1 就好,簡單有效。

這問題可以回答有深有淺,會關乎你要不要 1. 訓練在 user input / 2. use flash attention? / 3. packing? 等等等,所以我建議你直接熟悉 axolotl 哈哈哈哈 他會幫你準備這些 model input。