LLMs開源模型們和數據集簡介_#深度學習

1. 大模型語言模型訓練的幾種主流方法

訓練大型語言模型(LLM)是一個複雜但回報豐厚的過程。根據不同的需求和資源,我們可以選擇多種訓練策略。

1.1 從頭訓練(Pre-training from Scratch)與全參數微調

這種方法指的是在一個大規模的、無標籤的文本語料庫上,從零開始訓練一個全新的語言模型。

  • 優點:可以根據特定領域或語言的需求,構建一個高度定製化的模型。
  • 缺點:需要巨大的計算資源(數百甚至數千個GPU)、海量的數據和漫長的訓練時間。成本極高,通常只有大型科技公司或研究機構能夠承擔。

1.2 無需訓練:Few-shot Prompting

這是一種“即插即用”的方法,不涉及任何模型參數的更新。我們通過在輸入中提供少量示例(shots),來引導模型理解任務並給出期望的輸出。

  • 優點:成本極低,無需訓練,上手快。
  • 缺點:性能受限於模型本身的泛化能力和Prompt的設計質量,對於複雜任務效果有限。

1.3 微調方案(Fine-tuning)

微調是目前應用最廣泛的方法,它利用已經預訓練好的模型(Foundation Model),在特定的、小規模的、有標籤的數據集上進行進一步訓練,以適應新的任務。

1.3.1 SFT (Supervised Fine-tuning)

SFT是最直接的微調方式,它使用高質量的“指令-回答”數據對來訓練模型,讓模型學會遵循指令並生成相應的回覆。

1.3.2 持續預訓練 (Continual Pre-training)

當我們的任務領域與原始預訓練模型的領域差異較大時(例如,從通用新聞語料到醫學文獻),可以先在特定領域的無標籤數據上進行持續預訓練,然後再進行SFT。這有助於模型學習新領域的知識和語言風格。1

專業術語解釋:持續預訓練 vs. SFT

  • 持續預訓練 的目標是向模型注入新知識,使用的是無標籤的領域文本,學習的是語言模型本身。
  • SFT 的目標是教會模型如何遵循指令,使用的是有標籤的“指令-回答”數據,學習的是一種“行為模式”。
1.3.3 強化學習:DPO / ORPO
  • DPO (Direct Preference Optimization):一種更直接的強化學習方法,它通過“偏好數據”(即哪個回答更好)來優化模型,使其更符合人類的偏好。相比傳統的RLHF,DPO更穩定且易於實現。1
  • ORPO (Odds Ratio Preference Optimization):DPO的變種,進一步簡化了流程,將指令微調和偏好對齊合併為一個階段,效率更高。1

專業術語解釋:DPO
DPO繞過了訓練獎勵模型的步驟,直接在偏好數據上優化語言模型。它將偏好學習問題轉化為一個簡單的分類問題,從而使得訓練過程更加穩定和高效。

1.3.4 人類反饋強化學習 (RLHF / RLAIF)
  • RLHF (Reinforcement Learning from Human Feedback):經典的對齊方法。首先訓練一個獎勵模型(Reward Model)來識別人類偏好的回答,然後用這個獎勵模型作為信號,通過強化學習算法(如PPO)來優化語言模型。
  • RLAIF (Reinforcement Learning from AI Feedback):RLHF的變種,使用一個更強大的AI模型來代替人類標註者,為數據提供偏好標籤,從而降低成本和加速流程。

專業術語解釋:RLHF
RLHF包含三個主要步驟:1. 監督微調一個初始模型;2. 收集人類對模型輸出的偏好數據,訓練一個獎勵模型;3. 使用獎勵模型通過強化學習優化初始模型。這個過程複雜但對齊效果好。

1.3.5 PEFT (Parameter-Efficient Fine-tuning)

PEFT旨在通過只微調模型的一小部分參數來降低訓練成本。

  • LoRA (Low-Rank Adaptation):通過在模型的某些層中注入低秩矩陣來進行微調,訓練時只更新這些小矩陣的參數。
  • QLoRA:LoRA的升級版,結合了4-bit量化技術,進一步將顯存需求降低到驚人的水平,使得在消費級GPU上微調大型模型成為可能。
1.3.6 MoE (Mixture of Experts) 路由微調

MoE模型由多個“專家”子網絡和一個“路由器”組成。在微調時,可以針對性地訓練特定的專家或路由器,使其在特定任務上表現更出色。3

專業術語解釋:MoE
想象一個團隊,每個成員都是某個領域的專家。當一個任務來臨時,路由器(項目經理)會判斷這個任務應該交給哪個專家來處理。MoE模型就是這樣工作的,它可以在不顯著增加計算量的情況下,極大地擴展模型參數規模。


2. 基於預訓練模型的增量微調

2.1 流行的開源預訓練模型

模型

開發者

特點

官網/鏈接

Llama 3

Meta

綜合性能強,社區生態活躍,是目前最受歡迎的開源模型之一。

https://ai.meta.com/llama/

Qwen (通義千問)

阿里巴巴

中文能力優秀,模型系列豐富(從1.8B到72B),並有專門的視覺語言模型。

https://github.com/QwenLM/Qwen

DeepSeek

深度求索

代碼和數學能力非常突出,其Code系列模型在多個編程基準測試中名列前茅。

https://www.deepseek.com/

Mistral

Mistral AI

技術領先,以其稀疏混合專家(SMoE)架構(如Mixtral 8x7B)而聞名,效率高。

https://mistral.ai/

Gemma

Google

源自其強大的Gemini模型,技術實力雄厚,提供了多種規模和變體。

https://ai.google.dev/gemma

ChatGLM

智譜AI

在中文處理上表現出色,擁有良好的社區支持和生態。

https://github.com/THUDM/ChatGLM-6B

2.2 各微調方案的優缺點及適用場景

微調方案

優點

缺點

擅長領域

SFT

實現簡單,效果立竿見影,是大多數微調任務的起點。

需要大量高質量的標註數據,否則模型容易“學壞”。

任務導向型對話(客服、助手)、內容摘要、文本分類。

持續預訓練

能有效將模型“拉到”新的知識領域,為後續微調打下堅實基礎。

需要額外的領域語料和大量計算資源,成本較高。

專業領域知識注入,如法律、金融、醫療、特定公司文檔。

DPO / ORPO

訓練過程更穩定,無需訓練獨立的獎勵模型,效率高。

偏好數據的構建需要精細的設計和標註成本。

提升模型的安全性、無害性,使其輸出更符合人類普遍價值觀。

RLHF / RLAIF

對齊效果的上限更高,能處理更復雜的偏好。

流程複雜,包含多個訓練階段,對超參數敏感,訓練不穩定。

對內容質量、安全性和風格有極高要求的場景,如公共對話機器人。

PEFT (LoRA/QLoRA)

極大地降低了硬件門檻,使得在消費級GPU上微調大模型成為可能。

可能會犧牲少量模型性能,且需要仔細調整LoRA的秩等超參數。

個人開發者實驗、快速原型驗證、特定任務的輕量級定製。

MoE路由微調

可以在不顯著增加推理成本的情況下,極大擴展模型規模,提升專業性。

模型結構複雜,訓練和推理框架支持有限,容易出現負載不均。

需要模型同時具備多種“專家能力”的複雜多任務場景。

2.3 主流微調框架

框架

開發者

優點

缺點

Hugging Face TRL

Hugging Face

官方支持,與transformerspeft無縫集成,文檔完善。

抽象層次高,對於底層實現的定製化不夠靈活。

LLaMA-Factory

hiyouga (社區)

一站式UI和CLI,支持海量模型和方法,預設配置豐富,非常易用。1

社區驅動,部分功能的穩定性和文檔可能不如官方庫。

Unsloth

Unsloth AI

極致的性能優化,能以2倍速度和更少顯存進行微調,尤其擅長Llama和Mistral系列。5

主要針對性能優化,支持的模型和方法範圍相對聚焦。

Axolotl

OpenAccess AI

基於YAML配置,高度可定製和可復現,支持多GPU和分佈式訓練。2

上手有一定學習曲線,需要熟悉其配置文件的寫法。

DeepSpeed

Microsoft

專注於大規模訓練的性能優化,提供了ZeRO等強大的顯存優化技術。

框架較重,主要面向大規模分佈式訓練,對於單卡微調不夠輕便。

2.4 GPU服務器配置建議

微調所需的顯存主要取決於模型大小微調方法。以下是一個基於經驗的參考:

模型規模

微調方法

最低顯存建議 (單卡)

推薦GPU型號

7B

QLoRA (4-bit)

8 GB

RTX 3060 / RTX 4060 (12GB+)

7B

LoRA

24 GB

RTX 3090 / RTX 4090 / A4000

7B

全參數微調

80 GB

A100 (80GB) / H100

13B

QLoRA (4-bit)

16 GB

RTX 3080 (12GB) / RTX 4070 / A10G

13B

LoRA

40 GB

A100 (40GB)

34B (e.g., Qwen-32B)

QLoRA (4-bit)

24 GB

RTX 4090 / A6000

34B

LoRA

80 GB

A100 (80GB) / H100

70B

QLoRA (4-bit)

48 GB

2x RTX 4090 / A100 (80GB)

70B

LoRA

160 GB (多卡)

2x A100 (80GB) / 2x H100

省錢小貼士QLoRA 是個人開發者和小型團隊的福音。通過使用4-bit量化,它能將顯存需求降低到原來的1/4左右,使得在單張消費級顯卡(如RTX 4090)上微調70B模型成為可能。


3. 增量微調的數據集準備:高質量數據的藝術

“Garbage in, garbage out.” 這句話在模型微調中是金科玉律。高質量的數據是決定微調成敗的關鍵。下面我們詳細探討幾種主流的數據集格式及其構建方法。

3.1 經典對話格式 (Conversation Format)

這是最基礎的SFT數據格式,模擬一問一答。

簡單場景示例:

{
  "conversations": [
    { "from": "human", "value": "你好,你叫什麼名字?" },
    { "from": "gpt", "value": "我是一個大型語言模型,由[你的公司]訓練。"}
  ]
}

複雜場景示例(企業客服機器人):

{
  "conversations": [
    { "from": "human", "value": "我的訂單(No. 2023092512345)一直顯示在處理中,已經三天了,請問是什麼情況?" },
    { "from": "gpt", "value": "您好,請稍等,我正在為您查詢訂單(No. 2023092512345)的最新狀態... 查詢到您的訂單由於其中一件商品(商品ID: 8801A)暫時缺貨,導致發貨延遲。我們預計該商品將在24小時內補貨併發出,給您帶來不便非常抱歉。作為補償,我們已將一張10元無門檻優惠券發放到您的賬户。"}
  ]
}

3.2 指令格式 (Instruction Format)

這種格式更側重於讓模型理解並完成一個特定任務。

簡單場景示例:

{
  "instruction": "將下面的英文翻譯成中文。",
  "input": "Hello, world!",
  "output": "你好,世界!"
}

複雜場景示例(生成商業運營策略):

{
  "instruction": "你是一位經驗豐富的市場分析師。請根據以下信息,為一款新的無糖蘇打水產品制定一個社交媒體推廣的核心策略。",
  "input": "產品名稱:清汽蘇打;目標用户:18-30歲,關注健康、注重生活品質的年輕白領;產品特點:0糖0脂0卡,添加真實果汁,口感清爽;預算:50萬/月。",
  "output": "好的,基於'清汽蘇打'的產品定位和目標用户,我建議以下社交媒體推廣策略:\n**核心主題:** ‘輕享生活,無‘腹’擔’\n**平台矩陣:**\n1. **小紅書 (主陣地):** 邀請健康、健身、美食類KOL進行產品評測和場景化內容植入(如辦公室下午茶、運動後補水),發起#清汽蘇打健康打卡#話題挑戰,激勵UGC內容創作。\n2. **抖音/B站:** 製作高質量短視頻,內容方向包括:a) 口感ASMR;b) 創意DIY飲品教程;c) 街頭採訪,突出年輕人對健康飲品的看法。\n3. **微博:** 作為官方信息發佈和粉絲互動的主要渠道,定期舉辦抽獎活動,與相關品牌進行聯動,擴大聲量。\n**預算分配:** KOL/KOC合作佔60%,平台廣告投放佔30%,內容製作和活動佔10%。"
}

3.3 多輪對話格式 (Multi-turn Conversation Format)

多輪對話要求模型具備理解和維持對話上下文的能力,這對於構建真正智能的聊天機器人至關重要。

複雜場景示例(上下文追問與澄清):

{
  "conversations": [
    { "from": "human", "value": "我想為我的團隊預訂一個會議室,下週三下午。" },
    { "from": "gpt", "value": "好的,請問您的團隊大概有多少人?我們需要根據人數來確定會議室的大小。" },
    { "from": "human", "value": "我們有8個人。" },
    { "from": "gpt", "value": "收到。正在查詢下週三下午可用的8人會議室... 目前有‘天王星’和‘海王星’兩個會議室可用。‘天王星’配備了投影儀和白板,‘海王星’配備了高清視頻會議系統。請問您需要哪一個?" },
    { "from": "human", "value": "我們需要視頻會議功能。" },
    { "from": "gpt", "value": "好的,已為您預訂下週三下午2點至4點的‘海王星’會議室。預訂詳情已發送到您的郵箱,請查收。" }
  ]
}

3.4 思維鏈 (Chain-of-Thought, CoT)

CoT數據通過向模型展示解決問題的詳細步驟,來激發其內在的推理能力。這對於需要邏輯、數學或代碼能力的任務至關重要。2

複雜場景示例(命理推理/邏輯分析):

{
  "instruction": "案件:一位女士被發現在反鎖的房間內中毒身亡,桌上有一杯有毒的酒和一封遺書。但法醫發現,死者的死亡時間早於遺書的書寫時間。房間內沒有其他人進入的痕跡。請問這最可能是什麼情況?請給出你的推理過程。",
  "output": "這是一個經典的邏輯推理問題。我的分析過程如下:\n1. **核心矛盾:** 死亡時間早於遺書書寫時間。這意味着死者不可能自己寫下遺書。\n2. **關鍵線索:** 房間是反鎖的,沒有強行進入的痕跡。這表明兇手(如果存在)是以一種巧妙的方式離開或從未進入房間。\n3. **排除自殺:** 基於第一點,自殺的假設不成立。\n4. **可能的假設:** 他殺。我們需要解釋兇手是如何做到“密室殺人”並留下遺書的。\n5. **推理鏈:** \n   a. 兇手在死者進入房間前,就已經在房間裏設置好了毒酒。\n   b. 兇手通過某種方式誘導或強迫受害者喝下毒酒。\n   c. 在受害者死亡後,兇手偽造了遺書。\n   d. **如何離開?** ‘反鎖’是關鍵。有些鎖具可以在門外用特殊工具(如細線、卡片)操作鎖舌,造成從內部反鎖的假象。或者,兇手從未離開,而是藏在房間的某個隱蔽角落(如衣櫃、牀下),等警察進入時趁亂逃走。\n**結論:** 這最可能是一起他殺案件。兇手在殺人後偽造了遺書,並利用特殊的技巧製造了密室的假象。調查的重點應該是檢查門鎖是否有被操作過的痕跡,以及搜查房間內所有可能的藏身之處。"
}

3.5 不同數據集的適用場景和模型選擇

數據集類型

適合的開源模型

典型應用場景

備註

指令/對話格式

所有模型 (Llama, Qwen, ChatGLM等)

知識問答、企業客服、內容創作、通用AI助手

這是最基礎、最通用的數據類型,是構建任何對話模型的第一步。

思維鏈 (CoT)

邏輯推理強的模型 (DeepSeek-Code, Llama 3, Qwen-Max)

數學解題、代碼生成與調試、法律案件分析、命理推理

CoT能顯著提升模型在複雜推理任務上的表現,但需要高質量的推理過程數據。

特定領域數據

所有模型

商業/運營策略生成、特定寫作風格模仿(如模仿某位作家的風格)、金融/醫療/法律等專業問答

通過持續預訓練或SFT注入領域知識,是模型“專業化”的關鍵。

代碼生成/解釋

代碼模型 (DeepSeek-Code, CodeLlama, StarCoder)

編寫代碼、解釋代碼邏輯、修復Bug、代碼語言翻譯

需要大量高質量的代碼數據對,通常結合了指令和CoT格式。

3.6 DPO / ORPO 訓練語料構建

偏好數據的核心是 (prompt, chosen, rejected) 三元組。2 構建這類數據的常見流程如下:

  1. 生成候選: 針對同一個 prompt,使用一個或多個SFT模型生成多個不同的回答。
  2. 進行標註:
  • 人工標註: 標註者根據一系列標準(如真實性、無害性、幫助性、詳細程度)來選擇一個最佳回答 (chosen) 和一個較差的回答 (rejected)。
  • AI標註 (RLAIF): 使用一個更強大的“教師”模型(如GPT-4o)來自動評估和選擇 chosenrejected,可以極大提高效率。

舉例:

{
  "prompt": "作為一名運營,如何提升APP的日活躍用户(DAU)?",
  "chosen": "提升DAU是一個系統工程,可以從以下四方面着手:1. **優化用户體驗**:簡化核心流程,減少加載時間,確保APP穩定。2. **增加用户粘性**:建立簽到、積分、等級等成長體系,讓用户有持續使用的動力。3. **推送精準內容**:基於用户畫像和行為,推送個性化的內容或活動,吸引用户打開APP。4. **策劃線上活動**:定期舉辦有吸引力的活動,如挑戰賽、節日活動等,並通過Push、短信等渠道觸達用户,引導其迴歸。",
  "rejected": "多做活動,多發優惠券。"
}

3.7 RLHF / RLAIF 訓練語料

RLHF的數據通常更復雜,除了 chosenrejected,還可能包含更細緻的評分。

  • 評分制: 對每個回答從1到5分進行打分,涵蓋多個維度(如相關性、流暢性、安全性)。
  • 排序制: 對多個(>2個)回答進行排序。

這些數據用於訓練一個獎勵模型 (Reward Model),這個模型學會了預測人類或教師模型會給哪個回答打更高的分。然後,這個獎勵模型會指導SFT模型進行進一步的優化。

3.8 MoE 路由微調語料

MoE微調的關鍵是讓路由器學會將正確的任務分配給正確的專家。因此,數據集需要帶有明確的“任務類型”或“領域”標籤。

構建策略:

  1. 定義專家領域: 首先明確每個專家的分工,例如:專家A(數學與代碼)、專家B(創意寫作)、專家C(金融知識)、專家D(通用對話)。
  2. 準備領域數據: 收集或生成對應領域的數據集。
  3. 打上路由標籤: 在數據預處理時,為每個樣本添加一個元數據字段,指明它應該由哪個專家處理。

舉例:

// 樣本1:應該路由到專家A(數學與代碼)
{
  "task_type": "coding",
  "instruction": "用Python寫一個函數,計算斐波那契數列的第n項。",
  "output": "def fibonacci(n): ..."
}

// 樣本2:應該路由到專家B(創意寫作)
{
  "task_type": "creative_writing",
  "instruction": "寫一首關於秋天的五言絕句。",
  "output": "空山新雨後,天氣晚來秋。明月鬆間照,清泉石上流。"
}

在訓練時,路由器會根據 task_type 學習將輸入路由到正確的專家,從而實現“專人專事”,提升模型在多任務環境下的綜合表現。


4. 特定模型的預訓練差異

不同的預訓練模型由於其架構和訓練數據的差異,在微調時對數據的偏好和要求也不盡相同。理解這些差異,可以幫助我們更有針對性地準備數據,從而最大化微調效果。下面我們以在代碼和多模態領域各具特色的 DeepSeek 和 Qwen 為例進行説明。

4.1 DeepSeek:為代碼和推理而生

DeepSeek 模型系列,特別是其 Code 模型,在訓練時吸收了海量的代碼和數學相關數據,使其天生具備強大的邏輯推理能力。因此,在微調 DeepSeek 時,數據準備應側重於發揮其長處。

  • SFT 數據集(必選):這是所有微調的基礎。對於 DeepSeek,即使是通用的SFT數據,也建議儘量與代碼、數學、或需要邏輯推理的場景相關。數據格式遵循標準的指令或對話格式即可。
  • DPO 數據集(推薦):當需要模型在特定風格或標準上進行對齊時(例如,生成更安全、更簡潔或更符合特定規範的代碼),DPO 數據集是必不可少的。你需要準備 (prompt, chosen, rejected) 格式的數據,其中 chosen 的代碼/答案比 rejected 更優。
  • 思維鏈 (CoT) 數據(強烈推薦):這是最大化 DeepSeek 推理能力的關鍵。1 在微調數據中包含詳細的解題步驟或代碼實現邏輯,能顯著提升模型在複雜問題上的表現。在缺乏真實數據時,甚至可以採用合成數據的方式,利用更強的模型(如GPT-4)來生成高質量的帶推理過程的數據。

總結: 微調 DeepSeek 的核心思想是“餵養”它高質量的、包含邏輯和推理過程的數據,從而激活並強化其在代碼和數學領域的先天優勢。

4.2 Qwen:全能的多模態與混合推理專家

Qwen(通義千問)系列模型由阿里巴巴達摩院開發,其一個顯著特點是強大的多模態能力和獨特的“混合推理模式”。

  • 多模態數據集:對於 Qwen-VL 等視覺語言模型,你可以準備圖文並茂的數據集進行微調。例如,輸入一張圖表圖片和相關問題,期望模型能理解圖表並回答問題。數據格式通常會將圖像和文本編碼在一起。
  • 混合推理數據集:Qwen-3 引入了一個創新的“思考模式”,允許模型在需要時展現其推理過程(CoT),在不需要時直接給出答案。5 這為數據準備帶來了極大的靈活性。你可以構建一個混合數據集,其中一部分是包含詳細步驟的 CoT 數據,另一部分是直接的問答對。這有助於訓練出一個既能“思考”又能“秒答”的智能模型。
  • 通用SFT/DPO數據集:與 DeepSeek 類似,通用的SFT和DPO數據也適用於Qwen,用於注入領域知識和進行偏好對齊。其數據格式與其他模型完全兼容。

總結: 微調 Qwen 的關鍵在於利用其多模態和混合推理的特性。如果你需要模型處理圖像,就準備圖文數據;如果你希望模型在“深思熟慮”和“快速響應”之間自由切換,就準備混合推理的數據集。

對比總結

特性

DeepSeek

Qwen

核心優勢

強大的代碼和數學推理能力

領先的多模態能力和獨特的混合推理模式

SFT 數據

通用,是基礎的微調方式

通用,同樣是基礎

推理數據 (CoT)

強烈推薦,尤其是在代碼和邏輯任務上,以激發其核心潛力

支持且靈活,可以通過混合推理模式控制,數據集可包含CoT和直接問答兩種形式

DPO/偏好數據

支持,與其他模型類似,用於對齊和提升回答質量

支持,同樣用於對齊和優化

多模態數據

主要關注文本,尤其是代碼和數學

核心特性,支持圖文對等多種格式的數據進行微調

數據準備關鍵點

確保代碼/邏輯的準確性,構建高質量的思維鏈

平衡推理和非推理樣本的比例,準備高質量的圖文數據