開始使用免費開始

使用 LoRA 微調 Llama 以處理客服

你被指派微調一個語言模型,讓它能回答客服問題。 Llama 系列在問答任務上表現不錯,應該也適用於這個客服情境。不過,你沒有足夠的運算資源進行一般的微調,所以必須使用 LoRA 微調技術,並採用 bitext 資料集。

你想要能訓練 Maykeye/TinyLLama-v0。訓練腳本已經幾乎完成,你也已拿到訓練程式碼,唯一期待你補上的部分是 LoRA 的組態參數。

相關的模型、分詞器、資料集與訓練參數已預先載入為 modeltokenizerdatasettraining_arguments

本練習屬於課程

使用 Llama 3 進行微調

檢視課程

練習說明

  • 新增引數,將 LoRA adapter 的 rank 設為 2。
  • 將縮放係數設為 rank 的 2 倍。
  • 在 Lora 組態中設定與 Llama 類型模型相符的 task type。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

from peft import LoraConfig, get_peft_model

peft_config = LoraConfig(
    # Set rank parameter 
  	____=____,
  	# Set scaling factor
    ____=____,
  	# Set the type of task
  	____=____,
    lora_dropout=0.05,
    bias="none",
    target_modules=['q_proj', 'v_proj']
)

trainer = SFTTrainer(
    model=model,
    train_dataset=dataset,
    max_seq_length=250,
    dataset_text_field='conversation',
    tokenizer=tokenizer,
    args=training_arguments,
  	peft_config=peft_config,
)

trainer.train()
編輯並執行程式碼