聊聊大模型的微調實現及其應用

轉載請備註出處: https://www.cnblogs.com/zhiyong-ITNote

微調框架概述

模型的微調有多種方式,對於入門的來說,一般都是基於官方的文檔微調;最近發現很多開源庫,其目的就是支持應用多種微調策略來微調模型,簡化模型的微調門檻。比如 ChatGLM-Efficient-TuningLLaMA-Factory。其架構邏輯如下:

最近試玩了這兩個框架,個人覺得蠻好的,先不說實際的調試效果,這取決於多種因素,總的來說還是很方便快捷的。方便快捷的基於多種微調策略調試LLM;同時支持多種數據集類型。

LLaMA-Factory

這個開源庫相比較其餘的庫,更全面,更方便。有如下幾點我是比較喜歡的。

  1. 訓練方法
    1. 如圖,多種訓練方法都支持,很全面。不過這裏的預訓練,我理解爲是增量預訓練;即準備大量的文本數據訓練。
    2. 支持全參數、部分參數、LoRA等策略微調。
    3. 降低門檻,一鍵訓練。對於學習來說,可以增加知識面及使用。

image.png

  1. 數據集
    1. 支持多種數據集:增量預訓練數據集、指令微調數據集、偏好數據集;在官方文檔都是有說明的。
    2. 每次微調前,我都需要斟酌數據集的準備、格式等;但開源庫已經準備的很齊全而且各種場景的數據格式都有,直接參考即可;比如單輪對話、多輪對話、指令格式等等。這就極大的方便了數據集的準備。
  2. 其它
    1. 當然還有分佈式訓練、web界面操作等等

ChatGLM-Finetuning

Finetuning 是專門基於GLM系列的微調庫,我個人也試用,還是很方便快速的,而且文檔比較清晰,只是在部署時比較簡陋,但對於要學習瞭解微調及LLM一些原理來說,還是很適合入門鑽研的。

應用

目前絕大多數的大模型都是基於基座模型(GLM、QWen、LlaMa、BaiChuan)等微調訓練而來,不過實現的邏輯卻是有多種,要麼基於官方的微調文檔,要麼基於開源微調庫實現。CareGPT 就是基於開源微調庫LLaMA-Factory實現的醫療領域大模型。其架構設計如下:

在其架構設計中,有兩個部分比較值得關注:

  1. 微調框架的集成
    1. 通過集成了微調框架,調用底層具備的能力,準備多種格式的數據集微調模型。
  2. 數據開放
    1. 基於開源醫療數據集,準備增量預訓練預料、指令監督預料、SFT預料等等;擴充基座模型的領域知識能力。

總結

基於個人使用及學習的角度,介紹了微調框架的概述及其應用。在這裏面的道道還是蠻多的,有一定的大模型知識再基於這些庫去做參考去做應用,將極大的降低LLM的應用門檻。更有甚者可以瞭解底層的實現邏輯。

轉載請備註出處: https://www.cnblogs.com/zhiyong-ITNote

首發於個人公衆號
image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章