AI News HubLIVE
站内改写1 分鐘閱讀

如何使用QLoRA和DPO在Google Colab上微調LFM2:完整的分步編程教程

本教程詳細介紹瞭如何在Google Colab上使用QLoRA、監督微調(SFT)和直接偏好優化(DPO)微調Liquid AI的LFM2模型。包括加載模型、準備數據集、訓練LoRA適配器、合併適配器以及進行DPO訓練的全流程,最終獲得一個可部署的模型檢查點。

來源MarkTechPost作者: Sana Hassan

本教程演示瞭如何使用完全開源的工作流程微調Liquid AI的LFM2模型。首先,我們通過QLoRA加載基礎LFM2檢查點,準備聊天風格的監督微調數據集,使用TRL和PEFT訓練輕量級LoRA適配器,然後將適配器合併回模型。我們還擴展了工作流程,使用DPO來展示如何通過選擇的和拒絕的答案改進響應偏好。最終,我們獲得了一個從基礎LFM2模型到SFT調優、偏好對齊的檢查點的實用管道,可供進一步測試或部署。

教程首先安裝必要的庫,包括Transformers、TRL、PEFT、datasets、bitsandbytes和PyTorch。然後定義訓練設置,檢測GPU並選擇適當的精度。接下來,加載LFM2基礎模型,可選擇4位量化以減少GPU內存使用。準備分詞器,並定義一個聊天函數用於測試模型響應。在微調前,我們運行一個基線提示以比較模型行為。

然後,我們加載聊天格式的監督微調數據集,僅保留消息列。配置LoRA用於輕量級適配器訓練,並定義SFT訓練設置。使用SFT訓練模型,保存LoRA適配器,並測試改進後的模型響應。之後,我們清理內存,重新加載基礎模型,附加訓練好的SFT LoRA適配器,合併適配器並保存合併後的SFT檢查點。

可選地,我們使用提示-選擇-拒絕響應對運行DPO。配置另一個LoRA適配器用於偏好調優,並在SFT合併模型上訓練DPO。最後,合併DPO適配器,保存最終模型檢查點,並與之前的輸出進行比較。

總之,我們使用完全開源的工具構建了LFM2的完整微調管道,包括Transformers、TRL、PEFT、datasets和bitsandbytes。我們使用QLoRA使訓練在Colab GPU上高效,應用監督微調於聊天格式數據,將訓練好的適配器合併到基礎模型中,並可選地通過DPO進一步改進模型。這讓我們清楚地看到現代LLM微調的實際工作方式,從加載模型到生成可與原始基線比較並準備部署的最終檢查點。