使用 LoRA 轉接器
你在一間新創公司工作,該公司提供能自動解決顧客簡單問題的客服聊天機器人。
你被指派要使用 bitext 資料集微調 Maykeye/TinyLLama-v0 語言模型,讓它能回答客服相關問題。這個模型將部署在你們團隊提供的聊天機器人中。訓練腳本幾乎已經完成,但你希望把 LoRA 整合進微調流程,因為它更有效率,能讓你們在部署時的訓練管線更快完成。
相關的模型、分詞器、資料集與訓練參數已預先載入到 model、tokenizer、dataset 與 training_arguments。
本練習屬於課程
使用 Llama 3 進行微調
練習說明
- 從對應的函式庫匯入 LoRA 設定。
- 以預設值建立 LoRA 設定參數並指定給
lora_config。 - 將 LoRA 參數整合進 SFTTrainer。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Import LoRA configuration class
from ____ import ____
# Instantiate LoRA configuration with values
lora_config = ____(
r=12,
lora_alpha=8,
task_type="CAUSAL_LM",
lora_dropout=0.05,
bias="none",
target_modules=['q_proj', 'v_proj']
)
trainer = SFTTrainer(
model=model,
train_dataset=dataset,
tokenizer=tokenizer,
args=training_arguments,
# Pass the lora_config to trainer
____,
)