"ๅคง้่ณ็ฎ"
ไธญๆ | English
- ๆญคๅผๆบ้กน็ฎๆจๅจๅฎๅ จไป 0 ๅผๅง๏ผไป ็จ 3 ๅ้ฑๆๆฌไธ 2 ๅฐๆถ่ฎญ็ปๆถ้ด๏ผๅณๅฏ่ฎญ็ปๅบ่งๆจก็บฆไธบ 64M ็่ถ ๅฐ่ฏญ่จๆจกๅ MiniMindใ
- MiniMind ็ณปๅๆๅ
ถ่ฝป้๏ผไธป็บฟๆๅฐ็ๆฌไฝ็งฏ็บฆไธบ GPT-3 ็
$\frac{1}{2700}$ ๏ผๅๆฑ่ฎฉๆฎ้ไธชไบบ GPU ไน่ฝๅฟซ้ๅฎๆ่ฎญ็ปไธๅค็ฐใ - ้กน็ฎๅๆถๅผๆบไบๅคงๆจกๅ็ๆ็ฎ็ปๆไธๅฎๆด่ฎญ็ป้พ่ทฏ๏ผ่ฆ็ MoEใๆฐๆฎๆธ ๆดใ้ข่ฎญ็ป๏ผPretrain๏ผใ็็ฃๅพฎ่ฐ๏ผSFT๏ผใLoRAใRLHF๏ผDPO๏ผใRLAIF๏ผPPO / GRPO / CISPO๏ผใTool UseใAgentic RLใ่ช้ๅบๆ่ไธๆจกๅ่ธ้ฆ็ญๅ จ่ฟ็จไปฃ็ ใ
- MiniMind ๅๆถๆๅฑไบ่ง่งๆจกๆๆจกๅ MiniMind-Vใๅคๆจกๆ Omni ๆจกๅ MiniMind-Oใๆฉๆฃ่ฏญ่จๆจกๅ๏ผMiniMind-dLM๏ผใ็บฟๆงๆจกๅ๏ผMiniMind-Linear๏ผ๏ผ่ฏฆ่ง Discussionใ
- ้กน็ฎๆๆๆ ธๅฟ็ฎๆณไปฃ็ ๅไป 0 ไฝฟ็จ PyTorch ๅ็ๅฎ็ฐ๏ผไธไพ่ต็ฌฌไธๆนๅบๆไพ็้ซๅฑๆฝ่ฑกๆฅๅฃใ
- ่ฟไธไป ๆฏไธไธชๅคง่ฏญ่จๆจกๅๅ จ้ถๆฎตๅผๆบๅค็ฐ้กน็ฎ๏ผไนๆฏไธๅฅ้ขๅ LLM ๅ ฅ้จไธๅฎ่ทต็ๆ็จใ
- ๅธๆๆญค้กน็ฎ่ฝไธบๆดๅคไบบๆไพไธไธชๅฏๅค็ฐใๅฏ็่งฃใๅฏๆฉๅฑ็่ตท็น๏ผไธ่ตทๆๅๅ้ ็ไน่ถฃ๏ผๅนถๆจๅจๆดๅนฟๆณ AI ็คพๅบ็่ฟๆญฅใ
ๆณจ๏ผๆฌ้กน็ฎๅบไบ Apache 2.0 ๅ่ฎฎๅผๆบ๏ผๅฎๅ จๅ ่ดนใโ2 ๅฐๆถโ ๆ SFT ้ถๆฎตๅจๅๅผ NVIDIA 3090 ไธ่ทๅฎ
1 epoch็ๅฎๆต่ๆถ๏ผโ3 ๅ้ฑโ ๆๅฏนๅบๆถๆฎต็ GPU ็ง็จๆๆฌใ
๐ ้กน็ฎไป็ป
ๅคง่ฏญ่จๆจกๅ๏ผLarge Language Model, LLM๏ผ็ๅบ็ฐ๏ผๅผๅไบๅ จ็่ๅดๅ ๅฏน AI ็็ฉบๅๅ ณๆณจใๆ ่ฎบๆฏ ChatGPTใDeepSeek ่ฟๆฏ Qwen๏ผ้ฝไปฅๆ่ณ็ๆๆ่ฎฉไบบ็ๅๆๅๅฐ่ฟๅบๆๆฏๆตชๆฝฎ็ๅฒๅปๅใ็ถ่๏ผๅจ่พๆฐ็พไบฟๅๆฐ็ๆจกๅ่งๆจก๏ผไฝฟๅพๅฎไปฌๅฏนไธชไบบ่ฎพๅค่่จไธไป ้พไปฅ่ฎญ็ป๏ผ็่ณ่ฟ้จ็ฝฒ้ฝๆพๅพ้ฅไธๅฏๅใๆๅผๅคงๆจกๅ็โ้ป็ๅญโ๏ผ็ๆญฃๅป็่งฃๅ ถๅ ้จ่ฟไฝๆบๅถ๏ผๆฌๅบๆฏไธไปถไปคไบบๅฟๆฝฎๆพๆน็ไบใ้ๆพ็ๆฏ๏ผ็ปๅคงๅคๆฐๆข็ดขๆ็ป้ฝๆญขๆญฅไบไฝฟ็จ LoRA ็ญๆๆฏๅฏน็ฐๆๅคงๆจกๅๅๅฐ้ๅพฎ่ฐ๏ผๅญฆไน ไธไบๆฐๆไปคๆ็นๅฎไปปๅกใ่ฟๆดๅๆฏๅจๆ็้กฟๅฆไฝไฝฟ็จ 21 ไธ็บช็ๆบ่ฝๆๆบโโ่ฝ็ถๆ่ถฃ๏ผๅดๅ็ฆปไบ็่งฃ็ฉ็ๆฌ่ดจ็ๅ่กทใ
ไธๆญคๅๆถ๏ผ็ฌฌไธๆน็ๅคงๆจกๅๆกๆถไธๅทฅๅ
ทๅบ๏ผๅฆ transformers / trl / peft ็ญ๏ผๅพๅพๅชๆด้ฒๅบ้ซๅบฆๆฝ่ฑก็ๆฅๅฃใๅช้็ญ็ญๅๅ ่กไปฃ็ ๏ผๅฐฑๅฏไปฅๅฎๆโๅ ่ฝฝๆจกๅ + ๅ ่ฝฝๆฐๆฎ้ + ๆจ็ + ๅผบๅๅญฆไน โ็ๅ
จๆต็จ่ฎญ็ปใ่ฟ็ง้ซๆๅฐ่ฃ
ๅบ็ถไพฟๅฉ๏ผๅดไนๅจไธๅฎ็จๅบฆไธๆๅผๅ่
ไธๅบๅฑๅฎ็ฐ้็ฆปๅผๆฅ๏ผๅๅผฑไบๆทฑๅ
ฅ็่งฃ LLM ๆ ธๅฟไปฃ็ ็ๆบไผใๆ่ฎคไธบ โ็จไน้ซ่ชๅทฑๆผๅบไธๆถ้ฃๆบ๏ผ่ฟๆฏๅๅจๅคด็ญ่ฑ้้ฃ่กๆด่ฎฉไบบๅ
ดๅฅโ๏ผ็ถ่ๆด็ฐๅฎ็้ฎ้ขๆฏ๏ผไบ่็ฝไธๅ
ๆฅ็ๅคง้ไป่ดน่ฏพ็จๅ่ฅ้ๅ
ๅฎน๏ผ็จๆผๆด็พๅบใไธ็ฅๅ่งฃ็่ฎฒ่งฃๅ
่ฃ
ๆ่ฐ็ AI ๆ็จใๆญฃๅ ๅฆๆญค๏ผๆฌ้กน็ฎ็ๅ่กทๅฐฑๆฏๅฐฝๅฏ่ฝ้ไฝ LLM ็ๅญฆไน ้จๆง๏ผ่ฎฉๆฏไธชไบบ้ฝ่ฝไป็่งฃๆฏไธ่กไปฃ็ ๅผๅง๏ผไป 0 ๅผๅงไบฒๆ่ฎญ็ปไธไธชๆๅฐ็่ฏญ่จๆจกๅใๆฏ็๏ผไป้ถๅผๅง่ฎญ็ป๏ผ่ไธๆฏไป
ไป
ๅ็ๅจๆจ็ๅฑ้ขใๆไฝๅช้ไธๅฐ 3 ๅ้ฑ็ๆๅกๅจๆๆฌ๏ผๅฐฑ่ฝไบฒ่บซไฝ้ชไป 0 ๅฐ 1 ๆๅปบไธไธช่ฏญ่จๆจกๅ็ๅ
จ่ฟ็จใ
๐ ไธ่ตทๆๅๅ้ ็ไน่ถฃๅง๏ผ
๐ ๆฌ้กน็ฎๅ ๅซไปฅไธๅ ๅฎน
- ๆไพๅฎๆด็ MiniMind-LLM ็ปๆไปฃ็ ๏ผDense + MoE๏ผ๏ผๅฝๅไธป็บฟ็ปๆๅฏน้ฝ
Qwen3 / Qwen3-MoE็ๆใ - ๆไพ Tokenizer ไธๅ่ฏๅจ่ฎญ็ปไปฃ็ ๏ผๆฏๆ
<tool_call>ใ<tool_response>ใ<think>็ญๆจกๆฟๆ ่ฎฐใ - ่ฆ็ PretrainใSFTใLoRAใRLHF-DPOใRLAIF๏ผPPO / GRPO / CISPO๏ผใTool UseใAgentic RLใ่ช้ๅบๆ่ไธๆจกๅ่ธ้ฆ็ญๅฎๆด่ฎญ็ปๆต็จใ
- ๆไพๅ จ้ถๆฎตๅผๆบๆฐๆฎ๏ผ่ฆ็ๆถ้ใ่ธ้ฆใๆธ ๆดไธๅป้ๅ็้ซ่ดจ้ๆฐๆฎ้ใ
- ๅ ณ้ฎ่ฎญ็ป็ฎๆณไธๆ ธๅฟๆจกๅๅไป 0 ๅฎ็ฐ๏ผไธไพ่ต็ฌฌไธๆนๆกๆถๅฐ่ฃ ใ
- ๅ
ผๅฎน
transformersใtrlใpeft็ญไธปๆตๆกๆถ๏ผไปฅๅllama.cppใvllmใollama็ญๅธธ็จๆจ็ๅผๆไธLlama-Factory็ญ่ฎญ็ปๆกๆถใ - ๆฏๆๅๆบๅๅกไธๅๆบๅคๅก๏ผDDPใDeepSpeed๏ผ่ฎญ็ป๏ผๆฏๆ wandb / swanlab ๅฏ่งๅไธๅจๆๅฏๅ่ฎญ็ปใ
- ๆฏๆๅจ C-EvalใC-MMLUใOpenBookQA ็ญ็ฌฌไธๆนๆต่ฏ้ไธ่ฟ่ก่ฏๆต๏ผๅนถๆฏๆ้่ฟ YaRN ๅฎ็ฐ RoPE ้ฟๆๆฌๅคๆจใ
- ๆไพๅ
ผๅฎน OpenAI API ๅ่ฎฎ็ๆ็ฎๆๅก็ซฏ๏ผไพฟไบๆฅๅ
ฅ FastGPTใOpen-WebUI ็ญ็ฌฌไธๆน Chat UI๏ผๅนถๆฏๆ
reasoning_contentใtool_callsใopen_thinkingใ - ๆไพๅบไบ Streamlit ็ๆ็ฎ่ๅคฉ WebUI๏ผๆฏๆๆ่ๅฑ็คบใๅทฅๅ ท้ๆฉไธๅค่ฝฎ Tool Callใ
- ๅ ๅซๅฎ้ชๆงๆๅฑ๏ผ็ฆปๆฃๆฉๆฃ่ฏญ่จๆจกๅ๏ผdLM๏ผไธ็บฟๆงๆณจๆๅๆจกๅ๏ผLinear Attention๏ผ๏ผๅๅฏๅบไบไธป็บฟ AR ๆจกๅ่ฟ่ก็ปญ่ฎญใ
๐ ๅทฒๅๅธๆจกๅๅ่กจ
| ๆจกๅ | ๅๆฐ้ | Release |
|---|---|---|
| minimind-3 | 64M | 2026.04.01 |
| minimind-3-moe | 198M-A64M | 2026.04.01 |
| minimind2-small | 26M | 2025.04.26 |
| minimind2-moe | 145M | 2025.04.26 |
| minimind2 | 104M | 2025.04.26 |
| minimind-v1-small | 26M | 2024.08.28 |
| minimind-v1-moe | 4ร26M | 2024.09.17 |
| minimind-v1 | 108M | 2024.09.01 |
๐ ๆดๆฐๆฅๅฟ
๐ฅ 2026-04-01
- ๅๅธ
minimind-3/minimind-3-moe๏ผ็ปๆใTokenizerใ่ฎญ็ป้พ่ทฏใๆจ็ๆฅๅฃไธ้ป่ฎค้ ็ฝฎๅ จ้ขๆดๆฐ - ็ปๆไธป็บฟๅฏน้ฝ
Qwen3 / Qwen3-MoE็ๆ๏ผDense ็บฆ64M๏ผMoE ็บฆ198M-A64M๏ผๅนถ็งป้คไบ shared expert ่ฎพ่ฎก - ้ป่ฎค่ฎญ็ปๆฐๆฎๅๆขไธบ
pretrain_t2t(_mini).jsonlใsft_t2t(_mini).jsonlใrlaif.jsonlใagent_rl.jsonlไธagent_rl_math.jsonl - ็งป้ค็ฌ็ซ
train_reason.py๏ผๆ่่ฝๅ็ปไธ็ฑchat_template + <think>ไธopen_thinking่ช้ๅบๅผๅ ณๆงๅถ toolcall่ฝๅๅทฒๆททๅ ฅsft_t2t / sft_t2t_miniไธป็บฟๆฐๆฎ๏ผ้ป่ฎคfull_sftๅณๅ ทๅคๅบ็ก Tool Call ่ฝๅ๏ผๅๆถๆฐๅขscripts/chat_api.py็ญๆจ็็คบไพ- ๆฐๅขๅ็
Agentic RL่ฎญ็ป่ๆฌtrain_agent.py๏ผๆฏๆๅค่ฝฎ Tool-Use ๅบๆฏไธ็GRPO / CISPO - RLAIF / Agentic RL ่ฎญ็ปๆต็จๅฎๆ
rollout engine่งฃ่ฆ๏ผๆฏๆๆด็ตๆดปๅฐๅๆข็ๆๅ็ซฏ serve_openai_api.pyไธweb_demo.pyๆฐๅขreasoning_content/tool_calls/open_thinkingๆฏๆ- Tokenizer ๅบไบ
BPE + ByteLevelๆดๆฐ๏ผๅนถๆฐๅขๅทฅๅ ท่ฐ็จไธๆ่ๆ ่ฎฐ๏ผ้ข็ buffer token ไพฟไบๅ็ปญๆฉๅฑ - ๆฐๅข LoRA ๆ้ๅๅนถๅฏผๅบๆต็จ๏ผๅฏ้่ฟ
scripts/convert_model.pyๅฐๅบ็กๆจกๅไธ LoRA ๆ้ๅๅนถไธบๆฐ็ๅฎๆดๆจกๅๆ้ - ็ปๆๅพ่ตๆบๆดๆฐ๏ผREADME ๅคง้ข็งฏๆดๆฐ
2025-10-24
- ๐ฅ ๆฐๅขRLAIF่ฎญ็ป็ฎๆณ๏ผPPOใGRPOใSPO๏ผไป0ๅ็ๅฎ็ฐ๏ผ
- ๆฐๅขๆญ็น็ปญ่ฎญๅ่ฝ๏ผๆฏๆ่ฎญ็ป่ชๅจๆขๅคใ่ทจGPUๆฐ้ๆขๅคใwandb่ฎฐๅฝ่ฟ็ปญๆง
- ๆฐๅขRLAIFๆฐๆฎ้๏ผrlaif-mini.jsonl๏ผไปSFTๆฐๆฎ้ๆบ้ๆ ท1ไธๆก๏ผ๏ผ็ฎๅDPOๆฐๆฎ้๏ผๅ ๅ ฅไธญๆๆฐๆฎ
- ๆฐๅขYaRN็ฎๆณ๏ผๆฏๆRoPE้ฟๆๆฌๅคๆจ๏ผๆๅ้ฟๅบๅๅค็่ฝๅ
- Adaptive Thinking๏ผReasonๆจกๅๅฏ้ๆฏๅฆๅฏ็จๆ่้พ
- chat_templateๅ
จ้ขๆฏๆTool CallingๅReasoningๆ ็ญพ๏ผ
<tool_call>ใ<think>็ญ๏ผ - ๆฐๅขRLAIFๅฎๆด็ซ ่ใ่ฎญ็ปๆฒ็บฟๅฏนๆฏใ็ฎๆณๅ็ๆๅ ่ฏดๆ
- SwanLabๆฟไปฃWandB๏ผๅฝๅ ่ฎฟ้ฎๅๅฅฝ๏ผAPIๅฎๅ จๅ ผๅฎน๏ผ
- ่ง่ๅๆๆไปฃ็ & ไฟฎๅคไธไบๅทฒ็ฅbugs
2025-04-26
- ้่ฆๆดๆฐ
- ๅฆๆๅ ผๅฎนๆง้่ฆ๏ผๅฏ่ฎฟ้ฎ๐ๆงไปๅบๅ ๅฎน๐ใ
- MiniMindๆจกๅๅๆฐๅฎๅ จๆนๅ๏ผๅฏน้ฝTransformersๅบๆจกๅ๏ผ็ปไธๅฝๅ๏ผใ
- generateๆนๅผ้ๆ๏ผ็ปงๆฟ่ชGenerationMixin็ฑปใ
- ๐ฅๆฏๆllama.cppใvllmใollama็ญ็ญ้จไธๆน็ๆใ
- ่ง่ไปฃ็ ๅ็ฎๅฝ็ปๆใ
- ๆนๅจ่ฏ่กจ
<s></s>-><|im_start|><|im_end|>
ไธบๅ
ผๅฎน็ฌฌไธๆนๆจ็ๆกๆถllama.cppใvllm๏ผๆฌๆฌกๆดๆฐ้ไปๅบไธไบๅฏ่งไปฃไปทใ
ๆฌๆฌกๆดๆฐไธๅๆฏๆใ็ดๆฅใๅ ่ฝฝ25-04-26ไปฅๅ็ๆงๆจกๅ่ฟ่กๆจ็ใ
็ฑไบLlamaไฝ็ฝฎ็ผ็ ๆนๅผไธminimindๅญๅจๅบๅซ๏ผๅฏผ่ดๆ ๅฐLlamaๆจกๅๅQKๅผๅญๅจๅทฎๅผ
minimind2็ณปๅๆงๆจกๅๅ็ป่ฟๆ้ๆ ๅฐ+๏ผๅพฎ่ฐ่ฎญ็ป๏ผQKVO็บฟๆงๅฑๆ กๅๆขๅค่ๆฅใ
ๆฌๆฌกๆดๆฐๅๅฐๆพๅผๅฏน`minimind-v1`ๅ
จ็ณปๅ็็ปดๆค๏ผๅนถๅจไปๅบไธญไธ็บฟใ
More...
2025-02-09
- ่ฟๆฅๅๅธไปฅๆฅ้ๅคงๆดๆฐ๏ผRelease minimind2 Seriesใ
- ไปฃ็ ๅ ไนๅ จ้จ้ๆ๏ผไฝฟ็จๆด็ฎๆดๆไบ็็ปไธ็ปๆใ ๅฆๆๆงไปฃ็ ็ๅ ผๅฎนๆง้่ฆ๏ผๅฏ่ฎฟ้ฎ๐ๆงไปๅบๅ ๅฎน๐ใ
- ๅ
ๅปๆฐๆฎ้ขๅค็ๆญฅ้ชคใ็ปไธๆฐๆฎ้ๆ ผๅผ๏ผๆดๆขไธบ
jsonlๆ ผๅผๆ็ปๆฐๆฎ้ไธ่ฝฝๆททไนฑ็้ฎ้ขใ - minimind2็ณปๅๆๆ็ธๆฏMiniMind-V1ๆพ่ๆๅใ
- ๅฐ้ฎ้ข๏ผ{kv-cacheๅๆณๆดๆ ๅใMoE็่ด่ฝฝๅ่กกloss่ขซ่่็ญ็ญ}
- ๆไพๆจกๅ่ฟ็งปๅฐ็งๆๆฐๆฎ้็่ฎญ็ปๆนๆก๏ผๅป็ๆจกๅใ่ชๆ่ฎค็ฅๆ ทไพ๏ผใ
- ็ฒพ็ฎ้ข่ฎญ็ปๆฐๆฎ้๏ผๅนถๅคงๅน ๆๅ้ข่ฎญ็ปๆฐๆฎ่ดจ้๏ผๅคงๅน ็ผฉ็ญไธชไบบๅฟซ้่ฎญ็ปๆ้ๆถ้ด๏ผๅๅก3090ๅณๅฏ2ๅฐๆถๅค็ฐ๏ผ
- ๆดๆฐ๏ผLoRAๅพฎ่ฐ่ฑ็ฆปpeftๅ ่ฃ ๏ผไป0ๅฎ็ฐLoRA่ฟ็จ๏ผDPO็ฎๆณไป0ไฝฟ็จPyTorchๅ็ๅฎ็ฐ๏ผๆจกๅ็ฝ็่ธ้ฆๅ็ๅฎ็ฐใ
- minimind2-DeepSeek-R1็ณปๅ่ธ้ฆๆจกๅ่ฏ็๏ผ
- minimind2ๅ ทๅคไธๅฎ็่ฑๆ่ฝๅ๏ผ
- ๆดๆฐminimind2ไธ็ฌฌไธๆนๆจกๅ็ๅบไบๆดๅคๅคงๆจกๅๆฆๅๆต่ฏๆง่ฝ็็ปๆใ
2024-10-05
- ไธบMiniMindๆๅฑไบๅคๆจกๆ่ฝๅไน---่ง่ง
- ็งปๆญฅๅญช็้กน็ฎminimind-vๆฅ็่ฏฆๆ ๏ผ
2024-09-27
- 09-27ๆดๆฐpretrainๆฐๆฎ้็้ขๅค็ๆนๅผ๏ผไธบไบไฟ่ฏๆๆฌๅฎๆดๆง๏ผๆพๅผ้ขๅค็ๆ.bin่ฎญ็ป็ๅฝขๅผ๏ผ่ฝปๅพฎ็บ็ฒ่ฎญ็ป้ๅบฆ๏ผใ
- ็ฎๅpretrain้ขๅค็ๅ็ๆไปถๅฝๅไธบ๏ผpretrain_data.csvใ
- ๅ ้คไบไธไบๅไฝ็ไปฃ็ ใ
2024-09-17
- ๆดๆฐminimind-v1-moeๆจกๅ
- ไธบไบ้ฒๆญขๆญงไน๏ผไธๅไฝฟ็จmistral_tokenizerๅ่ฏ๏ผๅ จ้จ้็จ่ชๅฎไน็minimind_tokenizerไฝไธบๅ่ฏๅจใ
2024-09-01
- ๆดๆฐminimind-v1 (108M)ๆจกๅ๏ผ้็จminimind_tokenizer๏ผ้ข่ฎญ็ป่ฝฎๆฌก3 + SFT่ฝฎๆฌก10๏ผๆดๅ ๅ่ฎญ็ป๏ผๆง่ฝๆดๅผบใ
- ้กน็ฎๅทฒ้จ็ฝฒ่ณModelScopeๅ็ฉบ้ด๏ผๅฏไปฅๅจๆญค็ฝ็ซไธไฝ้ช๏ผ
- ๐ModelScopeๅจ็บฟไฝ้ช๐
2024-08-27
- ้กน็ฎ้ฆๆฌกๅผๆบ
๐ ๅฟซ้ๅผๅง
ๆฌไบบ็่ฝฏ็กฌไปถ้ ็ฝฎ๏ผไพๅ่๏ผ
- CPU: Intel(R) Core(TM) i9-10980XE CPU @ 3.00GHz
- RAM: 128 GB
- GPU: NVIDIA GeForce RTX 3090 (24GB) * 8
- Ubuntu==20.04
- CUDA==12.2
- Python==3.10.16
- requirements.txt
็ฌฌ0ๆญฅ
# ๅ
้ไปๅบใๅฎ่ฃ
ไพ่ต
git clone --depth 1 https://github.com/jingyaogong/minimind
cd minimind && pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simpleโ ๐ ๆจกๅๆจ็
1' ไธ่ฝฝๆจกๅ
ๅจ้กน็ฎๆ น็ฎๅฝ๏ผ
# ๆนๅผ1
modelscope download --model gongjy/minimind-3 --local_dir ./minimind-3
# ๆนๅผ2
git clone https://huggingface.co/jingyaogong/minimind-32' CLI ๆจ็
# ๆนๅผ1๏ผไฝฟ็จ Transformers ๆ ผๅผๆจกๅ
python eval_llm.py --load_from ./minimind-3
# ๆนๅผ2๏ผๅบไบ PyTorch ๆจกๅ๏ผ็กฎไฟ./out็ฎๅฝไธๆๅฏนๅบๆ้๏ผ
python eval_llm.py --load_from ./model --weight full_sft3'๏ผๅฏ้๏ผWebUI
# ๅฏ่ฝ้่ฆ`python>=3.10`๏ผๅฎ่ฃ
`pip install streamlit`
# โ ๏ธ ้กปๅ
ๅฐ transformers ๆ ผๅผๆจกๅๆไปถๅคนๅคๅถๅฐ ./scripts/ ็ฎๅฝไธ๏ผไพๅฆ๏ผcp -r minimind-3 ./scripts/minimind-3๏ผ๏ผweb_demo ่ๆฌไผ่ชๅจๆซๆ่ฏฅ็ฎๅฝไธๅ
ๅซๆ้ๆไปถ็ๅญๆไปถๅคน๏ผๅฆไธๅญๅจๅๆฅ้
cd scripts && streamlit run web_demo.py4'๏ผๅฏ้๏ผ็ฌฌไธๆนๆจ็ๆกๆถ
# ollama
ollama run jingyaogong/minimind-3
# vllm
vllm serve /path/to/model --served-model-name "minimind"โ ก ๐ ๏ธ ๆจกๅ่ฎญ็ป
ๆณจ๏ผๆๅ็กฎ่ฎค Torch ็ๅฏ็จๅ็ซฏ
import torch
print(torch.cuda.is_available())่ฅไฝ ่ฎกๅไฝฟ็จ CUDA ่ฎญ็ป๏ผๅปบ่ฎฎๅ
็กฎ่ฎคๅฝๅ็ฏๅขๆฏๅฆๅทฒๆญฃ็กฎ่ฏๅซ GPUใ
่ฅ cuda ไธๅฏ็จ๏ผไนไปๅฏๆ นๆฎ่ช่บซ่ฎพๅค้ๆฉ CPU ๆ MPS ่ฟ่ก๏ผไฝ่ฎญ็ป้ๅบฆไธๅ
ผๅฎนๆงไผๆ้ๅธธๅคง็ๅทฎๅผใ
ๅฆ้ๅฎ่ฃ
ๆๆดๆข PyTorch ็ๆฌ๏ผๅฏๅ่ torch_stable ไธ้พๆฅ
1' ไธ่ฝฝๆฐๆฎ
ไปไธๆๆไพ็ๆฐๆฎ้ไธ่ฝฝ้พๆฅ ไธ่ฝฝๆ้ๆฐๆฎๆไปถ๏ผๅนถๆพๅ
ฅ ./dataset ็ฎๅฝ
ๅฝๅ้ป่ฎคไป ้ไธ่ฝฝ
pretrain_t2t_mini.jsonlไธsft_t2t_mini.jsonl๏ผๅณๅฏ่พๅฟซๅค็ฐMiniMind Zeroๅฏน่ฏๆจกๅใ ๅฆๆๆดๅค้ๆฑ๏ผไธๆๆไพๅค็งๆญ้ ๆนๆก๏ผๅฏๆ นๆฎ่ช่บซไปปๅก็ฎๆ ไธ GPU ่ตๆบ็ตๆดป้ๆฉใ
2' ๅผๅง่ฎญ็ป
๐ก ๆฃๆฅ็นๆๅ็ปญ่ฎญ
ๆๆ่ฎญ็ป่ๆฌๅๆฏๆๆฃๆฅ็นไฟๅญใๆทปๅ --from_resume 1 ๅๆฐๅ๏ผๅณๅฏ่ชๅจๆฃๆตๅนถๆขๅค่ฎญ็ป่ฟๅบฆ๏ผ
python train_pretrain.py --from_resume 1
python train_full_sft.py --from_resume 1
# ...ๆญ็น็ปญ่ฎญ่ฏดๆ๏ผ
- ่ฎญ็ป่ฟ็จไผ่ชๅจๅจ
./checkpoints/็ฎๅฝไฟๅญๅฎๆดๆฃๆฅ็น๏ผๆจกๅใไผๅๅจใ่ฎญ็ป่ฟๅบฆ็ญ๏ผ - ๆฃๆฅ็นๆไปถๅฝๅ๏ผ
<ๆ้ๅ>_<็ปดๅบฆ>_resume.pth๏ผๅฆ๏ผfull_sft_512_resume.pth๏ผ - ๆฏๆ่ทจไธๅ GPU ๆฐ้ๆขๅค๏ผ่ชๅจ่ฐๆด step๏ผ
- ๆฏๆ wandb ่ฎญ็ป่ฎฐๅฝ่ฟ็ปญๆง๏ผ่ชๅจๆขๅคๅไธไธช run๏ผ
้ๅ้ฟๆถ้ด่ฎญ็ปๆไธ็จณๅฎ็ฏๅข๏ผๆ ้ๆ ๅฟ่ฎญ็ปไธญๆญๅฏผ่ด่ฟๅบฆไธขๅคฑ
2.1 ้ข่ฎญ็ป๏ผๅฟ ้กป๏ผ
cd trainer && python train_pretrain.py่ฎญ็ปๅ๏ผๅฐๅพๅฐ
out/pretrain_*.pthไฝไธบ่พๅบๆ้๏ผๅ ถไธญ*ไธบๆจกๅ dimension๏ผ้ป่ฎคไธบ768๏ผ
2.2 ๆไปคๅพฎ่ฐ๏ผๅฟ ้กป๏ผ
cd trainer && python train_full_sft.py่ฎญ็ปๅ๏ผๅฐๅพๅฐ
out/full_sft_*.pthไฝไธบ่พๅบๆ้๏ผๅ ถไธญfull่กจ็คบๅ จๅๆฐๅพฎ่ฐ๏ผ
2.3 ๆต่ฏๅทฒ่ฎญ็ปๆจกๅ๏ผๅฏ้๏ผ
็กฎไฟๅพ
ๆต่ฏ็ๆจกๅ *.pth ๆไปถไฝไบ ./out/ ็ฎๅฝไธ๏ผไนๅฏ็ดๆฅๅๅพๆญคๅคไธ่ฝฝๆๅทฒ่ฎญ็ปๅฅฝ็ *.pth ๆ้ใ
python eval_llm.py --weight full_sft
--weight็จไบๆๅฎๆ้ๅ็งฐๅ็ผ๏ผไพๅฆpretrainใfull_sft็ญ๏ผๆดๅคๅๆฐๅฏ็ดๆฅๅ่eval_llm.py
ๆณจ๏ผๅ ถๅฎ้กป็ฅ
1ใๆๆ่ฎญ็ป่ๆฌๅๅบไบ PyTorch ๅ็ๅฎ็ฐ๏ผๅนถๆฏๆๅคๅกๅ ้ใ
2ใ่ฅไฝ ็่ฎพๅคๆ N (N > 1) ๅผ ๆพๅก๏ผๅฏ้่ฟไปฅไธๆนๅผๅฏๅจๅๆบ N ๅก่ฎญ็ป๏ผDDP๏ผไนๆฏๆๆฉๅฑๅฐๅคๆบๅคๅก๏ผ๏ผ
torchrun --nproc_per_node N train_xxx.py3ใๅฏๆ นๆฎ้่ฆๅผๅฏ wandb ่ฎฐๅฝ่ฎญ็ป่ฟ็จใ
... train_xxx.py --use_wandb2025 ๅนด 6 ๆๅ๏ผๅฝๅ
็ฝ็ป็ฏๅข้ๅธธๆ ๆณ็ด่ฟ WandBใMiniMind ๅฝๅ้ป่ฎค่ฝฌไธบไฝฟ็จ SwanLab ไฝไธบ่ฎญ็ปๅฏ่งๅๅทฅๅ
ท๏ผๅ
ถๆฅๅฃไธ WandB ๅบๆฌๅ
ผๅฎน๏ผ้ๅธธๅช้ๅฐ import wandb ๆฟๆขไธบ import swanlab as wandb๏ผๅ
ถไฝ่ฐ็จๆนๅผๅบๆฌๆ ้ๆนๅจใ
๐ ๆฐๆฎไป็ป
โ Tokenizer
ๅ่ฏๅจๅฏไปฅ็ฒ็ฅ็่งฃๆ LLM ไฝฟ็จ็ไธๆฌโ่ฏๅ
ธโ๏ผ่ด่ดฃๆ่ช็ถ่ฏญ่จๆ ๅฐๆ token id๏ผๅๆ token id ่งฃ็ ๅๆๆฌ๏ผ้กน็ฎไธญไนๆไพไบtrain_tokenizer.pyไฝไธบ่ฏ่กจ่ฎญ็ป็คบไพใไธๅปบ่ฎฎ้ๆฐ่ฎญ็ป tokenizer๏ผๅ ไธบ่ฏ่กจๅๅๅ่งๅไธๆฆๅๅ๏ผๆจกๅๆ้ใๆฐๆฎๆ ผๅผใๆจ็ๆฅๅฃไธ็คพๅบ็ๆ็ๅ
ผๅฎนๆง้ฝไผไธ้๏ผไนไผๅๅผฑๆจกๅ็ไผ ๆญๆงใๅๆถ๏ผtokenizer ่ฟไผๅฝฑๅ PPL ่ฟ็ฑปๆ token ็ป่ฎก็ๆๆ ๏ผๅ ๆญค่ทจ tokenizer ๆฏ่พๆถ๏ผBPB๏ผBits Per Byte๏ผๅพๅพๆดๆๅ่ไปทๅผ๏ผๅฏๅ่่ฟ็ฏใ
ๅฏน MiniMind ่ฟ็ฑปๅฐๆจกๅๆฅ่ฏด๏ผ่ฏ่กจๅคงๅฐ่ฟไผ็ดๆฅๅฝฑๅ embedding ๅฑๅ่พๅบๅฑ็ๅๆฐๅ ๆฏ๏ผๅ ๆญคไฟๆ่ฏ่กจ็ฒพ็ฎ้ๅธธๆฏๆดๅ้็ๅ่ใ
Tokenizerไป็ป
็ฌฌไธๆนๅผบๅคง็ๅผๆบๆจกๅไพๅฆ YiใQwen2ใChatGLMใMistralใLlama 3 ็ tokenizer ่ฏ่กจ้ฟๅบฆๅฆไธ๏ผ
| Tokenizerๆจกๅ | ่ฏ่กจๅคงๅฐ | ๆฅๆบ |
|---|---|---|
| Yi | 64,000 | 01ไธ็ฉ๏ผไธญๅฝ๏ผ |
| Qwen2 | 151,643 | ้ฟ้ไบ๏ผไธญๅฝ๏ผ |
| ChatGLM | 151,329 | ๆบ่ฐฑAI๏ผไธญๅฝ๏ผ |
| Mistral | 32,000 | Mistral AI๏ผๆณๅฝ๏ผ |
| Llama 3 | 128,000 | Meta๏ผ็พๅฝ๏ผ |
| MiniMind | 6,400 | ่ชๅฎไน |
ๅฝๅไธป็บฟไธบ้ฟๅ ๅๅฒ็ๆฌๆญงไนๅนถๆงๅถๆดไฝไฝ็งฏ๏ผ็ปไธไฝฟ็จ
minimind_tokenizer๏ผไธๅ็ปดๆคmistral_tokenizer็ๆฌใ
ๅฐฝ็ฎก minimind_tokenizer ็่ฏ่กจๅชๆ 6400๏ผ็ผ่งฃ็ ๆ็ๅผฑไบ qwen2ใglm ็ญๆดๅไธญๆๅๅฅฝ็ tokenizer๏ผไฝๅฎ่ฝๆพ่ๅ็ผฉ embedding ๅฑๅ่พๅบๅฑ็ๅๆฐๅ ๆฏ๏ผๆด้ๅ MiniMind ่ฟ็ฑปๅฐๆจกๅ็ไฝ็งฏ็บฆๆใ
ไปๅฎ้
ไฝฟ็จๆๆ็๏ผ่ฟๅฅ tokenizer ๅนถๆฒกๆๆๆพๅธฆๆฅ็ๅป่ฏ่งฃ็ ๅคฑ่ดฅ็้ฎ้ข๏ผๆดไฝไป็ถ่ถณๅค็จณๅฎๅฏ็จ๏ผๅ ๆญคๅฝๅไธป็บฟ่ฎญ็ปไน็ปไธๆฒฟ็จ่ฟๅฅ่ฏ่กจ๏ผ่ไธๅ้ขๅคๅๅ็ปดๆคๅ
ถไป tokenizer ็ๆฌใ
โ ก Pretrainๆฐๆฎ
MiniMind-3 ๅฝๅไธป็บฟ้ข่ฎญ็ปๆฐๆฎไธบ pretrain_t2t.jsonl / pretrain_t2t_mini.jsonlใ
่ฟไธคไปฝๆฐๆฎๅทฒ็ปๆด็ๆ็ปไธ็ text -> next token prediction ่ฎญ็ปๆ ผๅผ๏ผ็ฎๆ ๆฏๅจ่พๅฐ็ฎๅไธๅ
ผ้กพ๏ผ
- ๆๆฌ่ดจ้๏ผ
- ้ฟๅบฆๅๅธ๏ผ
- ไธญ่ฑๆททๅ่ฝๅ๏ผ
- ไธๅ็ปญ SFT / Tool Calling / RLAIF ้ถๆฎต็ๆจกๆฟ่กๆฅใ
ๆฐๆฎๆฅๆบๅ ๆฌไฝไธ้ไบ้็จๆๆฌ่ฏญๆใๅฏน่ฏๆด็่ฏญๆใ่ธ้ฆ่กฅๅ ่ฏญๆ๏ผไปฅๅๅ็ฑปๅฎฝๆพๅผๆบๅ่ฎฎๅฏ็จ็ๆฐๆฎ้๏ผไธป็บฟๆฐๆฎไผๅจๆธ ๆดใๅป้ใ้ฟๅบฆๆงๅถไธๆ ผๅผ็ปไธๅๅ่ฟๅ ฅ่ฎญ็ปใไธป่ฆๆฅๆบๅ ๆฌ๏ผๅ ๆฐๅคงๆจกๅๆฐๆฎ้ใMagpie-Align ็ญๅ ฌๅผๆฐๆฎๆบใ
ๅ ถไธญ๏ผ
pretrain_t2t_mini.jsonlๆด้ๅๅฟซ้ๅค็ฐ๏ผpretrain_t2t.jsonlๆด้ๅๅฎๆด่ฎญ็ปMiniMind-3ไธป็บฟๆจกๅใ
ๆไปถๆฐๆฎๆ ผๅผไธบ
{"text": "ๅฆไฝๆ่ฝๆ่ฑๆๅปถ็๏ผๆฒปๆๆๅปถ็ๅนถไธๅฎนๆ๏ผไฝไปฅไธๅปบ่ฎฎๅฏ่ฝๆๆๅธฎๅฉใ"}
{"text": "ๆธ
ๆจ็้ณๅ
้่ฟ็ชๅธๆด่ฟๆฟ้ด๏ผๆกไธ็ไนฆ้กต่ขซ้ฃ่ฝป่ฝป็ฟปๅจใ"}
{"text": "Transformer ้่ฟ่ชๆณจๆๅๆบๅถๅปบๆจกไธไธๆๅ
ณ็ณป๏ผๆฏ็ฐไปฃๅคง่ฏญ่จๆจกๅ็้่ฆๅบ็ก็ปๆใ"}โ ข SFTๆฐๆฎ
MiniMind-3 ๅฝๅไธป็บฟ SFT ๆฐๆฎไธบ sft_t2t.jsonl / sft_t2t_mini.jsonlใ็ธๆฏๆดๆฉๆ็ sft_512 / sft_1024 / sft_2048 ๆนๆก๏ผๅฝๅ็ๆฌๆดๅผบ่ฐ๏ผ
- ็ปไธๆจกๆฟ๏ผ
- ๆด้ๅๅฏน่ฏ + ๆ่ๆ ็ญพ + Tool Calling ็ๆททๅ่ฎญ็ป๏ผ
- ๅฐฝ้ๅๅฐๆฐๆฎ้ขๅค็ๅๅ๏ผ้ไฝๅค็ฐๆๆฌใ
ๅ
ถๆฐๆฎๆฅๆบๅ
ๆฌไฝไธ้ไบ้ซ่ดจ้ๆไปค่ท้ๆฐๆฎใๅ
ฌๅผๅฏน่ฏๆฐๆฎใๆจกๅ่ธ้ฆๅๆๆฐๆฎ๏ผไปฅๅๅ่ฎฎๅๅฅฝ็ๅผๆบๆฐๆฎ้๏ผๅจ่ฟๅ
ฅ t2t ไธป็บฟๅ๏ผไผ็ปไธไธบๅฝๅไปๅบไฝฟ็จ็ๅค่ฝฎๅฏน่ฏๆ ผๅผใๅฝๅไธป็บฟไธญไนๅ
ๅซๅคง้ๅๆๆฐๆฎ๏ผไพๅฆๆฌไบบๅบไบ qwen3-4b ๅๆ็็บฆ 10w ๆก tool call ๆฐๆฎ๏ผไปฅๅ qwen3 ็ณปๅ็ reasoning ๆฐๆฎ็ญใๅ
ถไธญ็คพๅบไธป่ฆๆฅๆบๆ๏ผๅ ๆฐๅคงๆจกๅๆฐๆฎ้ใMagpie-AlignใR1-Distill-SFTใCOIGใStep-3.5-Flash-SFT ็ญใๅ
ฌๅธ็ๆฌไผ็กฎไฟๆฐๆฎๆฅๆบไธๅค็้พ่ทฏ็ฌฆๅๅฏนๅบๅผๆบๅ่ฎฎ็ๅฏไผ ้ๆง็บฆๆ๏ผๅนถ้ตๅฎ Apache-2.0ใCC-BY-NC-2.0 ็ญ็ธๅ
ณๅ่ฎฎ่ฆๆฑใ
ๅ ถไธญ๏ผ
sft_t2t_mini.jsonl๏ผ้ๅๅฟซ้่ฎญ็ปๅฏน่ฏๆจกๅ๏ผsft_t2t.jsonl๏ผ้ๅๅฎๆดๅค็ฐไธป็บฟ็ๆฌ๏ผtoolcall่ฝๅๅทฒ็ปๅนถๅ ฅไธป็บฟ SFT ๆฐๆฎใ
ๆๆ SFT ๆไปถๆฐๆฎๆ ผๅผๅไธบ๏ผๅ ๅซๅฏน่ฏๆฐๆฎใTool Use ๆฐๆฎ๏ผ
{
"conversations": [
{"role": "user", "content": "ไฝ ๅฅฝ"},
{"role": "assistant", "content": "ไฝ ๅฅฝ๏ผ"},
{"role": "user", "content": "ๅ่ง"},
{"role": "assistant", "content": "ๅ่ง๏ผ"}
]
}
{
"conversations": [
{"role": "system", "content": "# Tools ...", "tools": "[...]"},
{"role": "user", "content": "ๆ'ไฝ ๅฅฝไธ็'็ฟป่ฏๆenglish"},
{"role": "assistant", "content": "", "tool_calls": "[{\"name\":\"translate_text\",\"arguments\":{\"text\":\"ไฝ ๅฅฝไธ็\",\"target_language\":\"english\"}}]"},
{"role": "tool", "content": "{\"translated_text\":\"Hello World\"}"},
{"role": "assistant", "content": "Hello World"}
]
}โ ฃ RL ๆฐๆฎ
MiniMind ๅฝๅไธป็บฟ RL ๆฐๆฎไธบ dpo.jsonlใๆฐๆฎๆฝๆ ท่ช DPO-En-Zh-20kใ
ไธป็บฟไธญไผๅฐ่ฟ้จๅๆ ทๆฌ็ปไธ้็ปไธบๅฝๅไปๅบไฝฟ็จ็ๅๅฅฝๅญฆไน ๆ ผๅผ๏ผ็จไบๅฅๅฑๆจกๅๆๅๅฅฝไผๅ้ถๆฎต่ฎญ็ป๏ผๅ
ถไธญ chosen ่กจ็คบๆด็ฌฆๅๅๅฅฝ็ๅๅค๏ผrejected ่กจ็คบ็ธๅฏน่พๅทฎ็ๅๅคใ
ๅ
ถไธญ dpo.jsonl ๆฐๆฎๆ ผๅผไธบ
{
"chosen": [
{"content": "Q", "role": "user"},
{"content": "good answer", "role": "assistant"}
],
"rejected": [
{"content": "Q", "role": "user"},
{"content": "bad answer", "role": "assistant"}
]
}้คๆญคไนๅค๏ผๅ
ถไป RL ๆฐๆฎไธ SFT ๆฐๆฎๆ ผๅผไฟๆไธ่ด๏ผ้ๅธธๆฏไป SFT ๆฐๆฎไธญๆๆป้ฟๅบฆๅๅฏน่ฏ่ฝฎๆฌก็ญ้ๅพๅฐ๏ผๅนถๅฐๆๅไธไธช assistant ไฝ็ฝฎ็็ฉบ๏ผไพ rollout ้ถๆฎต็ปญๅไฝฟ็จใ
โ ค MiniMind ่ฎญ็ปๆฐๆฎ้
Note
ๅฝๅไธป็บฟ่ฎญ็ปๆ้็ๆ ธๅฟๆฐๆฎ้ๅทฒๅผๆบ๏ผๅ ๆญคๆ ้ๅ่ช่ก้ขๅค็ๅคง่งๆจกๆฐๆฎ้๏ผ้ฟๅ ้ๅคๆง็ๆฐๆฎๅค็ๅทฅไฝใ
MiniMind่ฎญ็ปๆฐๆฎ้ไธ่ฝฝๅฐๅ๏ผ ModelScope | HuggingFace
ๆ ้ๅ จ้จclone๏ผๅฏๅ็ฌไธ่ฝฝๆ้็ๆไปถ
ๅฐไธ่ฝฝ็ๆฐๆฎ้ๆไปถๆพๅฐ./dataset/็ฎๅฝไธ๏ผโจไธบๆจ่็ๅฟ
้กป้กน๏ผ
./dataset/
โโโ agent_rl.jsonl (86MB)
โโโ agent_rl_math.jsonl (18MB)
โโโ dpo.jsonl (53MB)
โโโ pretrain_t2t_mini.jsonl (1.2GB, โจ)
โโโ pretrain_t2t.jsonl (10GB)
โโโ rlaif.jsonl (24MB, โจ)
โโโ sft_t2t_mini.jsonl (1.6GB, โจ)
โโโ sft_t2t.jsonl (14GB)ๆณจ๏ผๅๆฐๆฎ้็ฎไป
agent_rl.jsonl--Agentic RL ไธป็บฟ่ฎญ็ปๆฐๆฎ๏ผ็จไบtrain_agent.py็ๅค่ฝฎ Tool-Use / CISPO / GRPO ่ฎญ็ปagent_rl_math.jsonl--Agentic RL ็บฏๆฐๅญฆ่กฅๅ ๆฐๆฎ๏ผ้ๅๅธฆๆ็ปๆ ก้ช็ฎๆ ็ๅค่ฝฎๆจ็/ๅทฅๅ ทไฝฟ็จๅบๆฏ๏ผ็จไบRLVR๏ผdpo.jsonl--RLHF้ถๆฎตๅๅฅฝ่ฎญ็ปๆฐๆฎ๏ผDPO๏ผpretrain_t2t_miniโจ --minimind-3่ฝป้้ข่ฎญ็ปๆฐๆฎ๏ผ้ๅๅฟซ้ๅค็ฐ๏ผๆจ่่ฎพ็ฝฎmax_seq_lenโ768๏ผpretrain_t2t--minimind-3ไธป็บฟ้ข่ฎญ็ปๆฐๆฎ๏ผๆจ่่ฎพ็ฝฎmax_seq_lenโ380๏ผrlaif.jsonlโจ --RLAIF่ฎญ็ปๆฐๆฎ้๏ผ็จไบPPO/GRPO/CISPO็ญๅผบๅๅญฆไน ็ฎๆณ่ฎญ็ปsft_t2t_mini.jsonlโจ --minimind-3่ฝป้SFTๆฐๆฎ๏ผ็จไบๅฟซ้่ฎญ็ปZeroๆจกๅ๏ผ๏ผๆจ่่ฎพ็ฝฎmax_seq_lenโ768๏ผๅ ถไธญๅทฒๆททๅ ฅไธ้จๅ Tool Call ๆ ทๆฌsft_t2t.jsonl--minimind-3ไธป็บฟSFTๆฐๆฎ๏ผ้ๅๅฎๆดๅค็ฐ๏ผๅ ถไธญๅๆ ทๅทฒๆททๅ ฅ Tool Call ๆ ทๆฌ
่ฎญ็ปๅๆฐ max_seq_len ็ฎๅๆ็ๆฏ tokens ้ฟๅบฆ๏ผ่้็ปๅฏนๅญ็ฌฆๆฐใ
ๆฌ้กน็ฎtokenizerๅจไธญๆๆๆฌไธๅคง็บฆ1.5~1.7 ๅญ็ฌฆ/token๏ผ็บฏ่ฑๆ็ๅ็ผฉๆฏๅจ4~5 ๅญ็ฌฆ/token๏ผไธๅๆฐๆฎๅๅธไผๆๆณขๅจใ
ๆฐๆฎ้ๅฝๅๆ ๆณจ็โๆๅคง้ฟๅบฆโๅไธบๅญ็ฌฆๆฐ๏ผ100้ฟๅบฆ็ๅญ็ฌฆไธฒๅฏ็ฒ็ฅๆข็ฎๆ100/1.5โ67็tokens้ฟๅบฆใ
ไพๅฆ๏ผ
- ไธญๆ๏ผ
็ฝๆฅไพๅฑฑๅฐฝ5ไธชๅญ็ฌฆๅฏ่ฝ่ขซๆๅไธบ[็ฝๆฅ,ไพ,ๅฑฑ,ๅฐฝ] 4ไธชtokens๏ผ - ่ฑๆ๏ผ
The sun sets in the west24ไธชๅญ็ฌฆๅฏ่ฝ่ขซๆๅไธบ[The,sun,sets,in,the,west] 6ไธชtokens
โๆจ่่ฎพ็ฝฎโ็ปๅบไบๅไธชๆฐๆฎ้ไธๆๅคงtokens้ฟๅบฆ็็ฒ็ฅไผฐ่ฎกใ
้กป็ฅ max_seq_len ๅฏไปฅๆฟ่ฟ / ไฟๅฎ / ๅ่กกๅฐ่ฐๆด๏ผๅ ไธบๆดๅคงๆๆดๅฐๅๆ ๆณ้ฟๅ
ๅฏไฝ็จ๏ผไธไบๆ ทๆฌ็ญไบ max_seq_len ๅ่ขซ padding ๆตช่ดน็ฎๅ๏ผไธไบๆ ทๆฌ้ฟไบ max_seq_len ๅ่ขซๆชๆญ่ฏญไนใ
ๅจ็ฎๅๆ็ไธ่ฏญไนๅฎๆดๆงไน้ดๆพๅฐๅนณ่กก็นๅณๅฏ
MiniMind ไธป็บฟ่ฎญ็ปๆฐๆฎ็ปๆไธๆจ่็ปๅ็คบๆๅพ
่ฏดๆ & ๆจ่่ฎญ็ปๆนๆก
-
minimind-3ไธป็บฟๆจ่้็จpretrain_t2t+sft_t2t+rlaif/agent_rl็้ถๆฎตๅผ่ฎญ็ป็ปๅใ -
ๆณ่ฆๆๅฟซ้ๅบฆไป0ๅฎ็ฐZeroๆจกๅ๏ผๆจ่ไฝฟ็จ
pretrain_t2t_mini.jsonl+sft_t2t_mini.jsonl็ๆฐๆฎ็ปๅ -
ๆจ่ๅ ทๅคไธๅฎ็ฎๅ่ตๆบๆๆดๅจๆๆๆ็ๆๅๅฎๆดๅค็ฐ
minimind-3๏ผไป ๆๅๅกGPUๆๆดๅจๆๅฟซ้ๅค็ฐ็ๆๅๅผบ็ๆจ่ mini ็ปๅใ -
ๅฝๅ
sft_t2t / sft_t2t_miniๅทฒ็ปๆททๅ ฅ Tool Call ๆฐๆฎ๏ผๅ ๆญค้ๅธธไธ้่ฆๅ้ขๅคๅไธ่ฝฎ็ฌ็ซ็ Tool Calling ็็ฃๅพฎ่ฐใ
๐ ๆจกๅ
็ปๆ
minimind-3 Dense ไฝฟ็จ Transformer Decoder-Only ็ปๆ๏ผๆดไฝ้
็ฝฎๅทฒ็ปๅ Qwen3 ็ๆๅฏน้ฝ๏ผๆนไพฟๅ็ปญ่ฝฌๆขๅฐ transformers / llama.cpp / ollama / vllm๏ผ
- ้็จ้ขๆ ๅๅ๏ผPre-Norm๏ผ+ RMSNormใ
- ไฝฟ็จ SwiGLU ๆฟๆดปๅฝๆฐใ
- ไฝฟ็จ RoPE ๆ่ฝฌไฝ็ฝฎ็ผ็ ๏ผๅนถๆฏๆ YaRN ๅคๆจใ
q_heads=8ใkv_heads=4๏ผmax_position_embeddings=32768๏ผrope_theta=1e6ใ
minimind-3-moe ๅจ็ธๅ็ปๆไธๆฉๅฑ MoE ๅ้ฆๅฑ๏ผๅฎ็ฐไธๅ
ผๅฎน Qwen3-MoE ้ฃๆ ผ้
็ฝฎ๏ผๅป้ค shared expert๏ผใ
- ๅฝๅ้ป่ฎค้
็ฝฎไธบ
4 experts / top-1 routing๏ผ็จไบไปฅๆดไฝๆฟๆดปๅๆฐ่ทๅพๆด้ซๅฎน้ใ - Experts ็ปง็ปญๅขๅ ๅ๏ผๅฎ้
่ๆถๅพๅพๆฏๅๅฐบๅฏธ่งๆจก็ dense ๆจกๅ้ซ้ๅธธๅค๏ผ่ฟๅ โMoE ๆจ็ๆดๅฟซโ ๆพๅจไธ่ตท็ไผๆ็นๅ็ด่ง๏ผไฝ่ฎญ็ปๆถ token ๅ
ๆไธๅฎถๅๆกถใๅๅๅซๅ forward๏ผๅ็่ฎญ็ปๆถๅธฆๆฅ็
kernelๅฏๅๅ่ฐๅบฆๅผ้ไผๆฅๅงๅ้๏ผ่ฟๆฌ่บซๆฏๅพ่ช็ถ็ไบๆ ใๅพ้ ๆฏๆ MoE kernel-fused ็็ฎๅญๅบๆฅไผๅ๏ผๆฏๅฆๅบไบTriton็่ชๅฎไน kernelใDeepSpeed-MoEใMegatron-LM็ญ็ญใๅฝ็ถ๏ผ่ฟไธช้กน็ฎ่ฟๆฏๅธๆไฟ็ๅ็ PyTorch ็ๆฎ้ๆง๏ผๆไปฅ่ฟ้ๅ็ๆฏ็ฐๅฎ็ๆไธญ๏ผๅจๅฝๅๅฎ็ฐไธ๏ผ4 experts / top-1่ฟไธช็็น้ ็ฝฎๅคง็บฆๅชๆฏ dense ๆจกๅๆ ข50%ๅทฆๅณใ
minimind-3 ็ณปๅ็ปๆๅฆไธๅพ๏ผ
ไฟฎๆนๆจกๅ้ ็ฝฎ่ง./model/model_minimind.py๏ผๅ่ๆจกๅๅๆฐ็ๆฌ่งไธ่กจ๏ผ
| Model Name | params | len_vocab | max_pos | rope_theta | n_layers | d_model | kv_heads | q_heads | note |
|---|---|---|---|---|---|---|---|---|---|
| minimind-3 | 64M | 6400 | 32768 | 1e6 | 8 | 768 | 4 | 8 | Dense |
| minimind-3-moe | 198M-A64M | 6400 | 32768 | 1e6 | 8 | 768 | 4 | 8 | 4 experts / top-1 |
| minimind2-small | 26M | 6400 | 32768 | 1e6 | 8 | 512 | 2 | 8 | ๅๅฒ็ๆฌ |
| minimind2-moe | 145M | 6400 | 32768 | 1e6 | 8 | 640 | 2 | 8 | ๅๅฒ็ๆฌ |
| minimind2 | 104M | 6400 | 32768 | 1e6 | 16 | 768 | 2 | 8 | ๅๅฒ็ๆฌ |
ๆจกๅ้ ็ฝฎ
ๅ
ณไบ LLM ็ๅๆฐ้
็ฝฎ๏ผMobileLLM ๅฏนๅฐๆจกๅๅ่ฟไธ็ปๅพๆไปฃ่กจๆง็็ณป็ป็ ็ฉถใๅฏน MiniMind ่ฟ็ฑป็พM็บงๆจกๅ่่จ๏ผd_model ไธ n_layers ็ๅ่ไธๅชๆฏๅๆฐๅ้
้ฎ้ข๏ผไนไผ็ดๆฅๅฝฑๅ่ฎญ็ป็จณๅฎๆงไธๆ็ปๆๆใ
ๅฝๅ minimind-3 ไธป็บฟ้ๆฉ dim=768, n_layers=8๏ผๆฌ่ดจไธๆฏไธ็งๅทฅ็จๅ่๏ผๆดๆต
็็ฝ็ป่ฎญ็ปๆดๅฟซ๏ผๅๆถ dim ไนไธ่ณไบ่ฟๅฐ่ๅฏผ่ดๆจกๅผๅดฉๆบ๏ผๅ ๆญค่ฝๅจ่ฎญ็ปๆ็ใ็จณๅฎๆงไธๆ็ปๆๆไน้ดๅๅพ็ธๅฏนๅ่กกใ
ๆฅ็่ฏฆ็ป่ฏดๆ
Scaling Law ๅจๅฐๆจกๅไธๅพๅพไผๅ็ฐๅบไธไบไธๅไบๅคงๆจกๅ็็ฐ่ฑกใๅณๅฎ Transformer ๅๆฐ่งๆจกๅๅ็ๆ ธๅฟๅๆฐ๏ผ้ๅธธไธป่ฆๅฐฑๆฏ d_model ๅ n_layers๏ผ
d_modelโ +n_layersโ -> ็ฎ่ๅญd_modelโ +n_layersโ -> ็ฆ้ซไธช
็ปๅ
ธ Scaling Law ๆดๅผบ่ฐ่ฎญ็ปๆฐๆฎ้ใๅๆฐ้ๅ่ฎญ็ปๆญฅๆฐ็ๅณๅฎๆงไฝ็จ๏ผ้ๅธธไผๅผฑๅๆถๆๅทฎๅผๆฌ่บซ็ๅฝฑๅ๏ผไฝๅจๅฐๆจกๅๅบ้ด๏ผ่ฟไธช็ป่ฎบๅนถไธๆปๆฏๅฎๅ
จๆ็ซใ
MobileLLM ็ไธไธชๆ ธๅฟ่งๅฏๆฏ๏ผๅจๅๆฐ้ๅบๅฎๆถ๏ผๆทฑๅบฆๅพๅพๆฏๅฎฝๅบฆๆด้่ฆใไนๅฐฑๆฏ่ฏด๏ผ็ธๆฏโๅฎฝ่ๆต
โ็็ปๆ๏ผโๆทฑ่็ชโ็ๆจกๅๆดๅฎนๆๅญฆๅฐๆฝ่ฑกๆฆๅฟตใ
ไพๅฆๅฝๆจกๅๅๆฐ้ๅบๅฎๅจ 125M ๆ 350M ๆถ๏ผ30~42 ๅฑ็็ญ้ฟ็ปๆ้ๅธธไผไผไบ 12 ๅฑๅทฆๅณ็็ฎ่็ปๆ๏ผๅจๅธธ่ฏๆจ็ใ้ฎ็ญใ้
่ฏป็่งฃ็ญๅคไธชๅบๅไธ้ฝๅ็ฐๅบ็ธ่ฟ่ถๅฟใ
่ฟๅ MiniMind ๅจ่ฎญ็ป่ฟ็จไธญๅด็ป d_model ไธ n_layers ๅๅๆฐๅ้
ๅฎ้ชๆถ่งๅฏๅฐ็็ฐ่ฑกๆฏไธ่ด็ใไธ่ฟโๆทฑ่็ชโ้็โ็ชโไนๆไธ้๏ผๅฝ d_model < 512 ๆถ๏ผ่ฏๅตๅ
ฅ็ปดๅบฆ่ฟ็ชๅธฆๆฅ็ๅฃๅฟไผๆๆพๆพๅคง๏ผ้ขๅคๅขๅ layers ๅพๅพไธ่ถณไปฅๅฎๅ
จๅผฅ่กฅๅบๅฎ q_head ไธ d_head ๅๅฐ็้ฎ้ขใ
็ธๅฏนๅฐ๏ผๅฝ d_model > 1536 ๆถ๏ผ็ปง็ปญๅขๅ ๅฑๆฐๅพๅพๆฏๅ็บฏ็ปง็ปญๅ ๅฎฝๆดๅ็ฎ๏ผๆดๅฎนๆๅธฆๆฅๆด้ซ็ๅๆฐ-ๆๆๆถ็ใ
๐ ๅฎ้ช
โ ่ฎญ็ปๅผ้
- ๆถ้ดๅไฝ๏ผๅฐๆถ๏ผh๏ผ
- ๆๆฌๅไฝ๏ผไบบๆฐๅธ๏ผ๏ฟฅ๏ผ๏ผ
7๏ฟฅ โ 1 ็พๅ - 3090 ็งๅกๅไปท๏ผ็บฆ
1.3๏ฟฅ/h๏ผๅฎ้ ไปทๆ ผๅฏ่ช่กๅ่๏ผ - ่ฏดๆ๏ผไปฅไธ็ปๆไธบ
minimindๆจกๅๅจๅๅก3090ไธ็็ป้ชไผฐ็ฎๅผ๏ผ็จไบๅฟซ้ๆ็ฅ่ฎญ็ป้จๆง
| Model Name | params | pretrain_t2t_mini | sft_t2t_mini | toolcall | RLAIF |
|---|---|---|---|---|---|
| minimind-3 | 64M | โ1.21h โ1.57๏ฟฅ |
โ1.10h โ1.43๏ฟฅ |
โ0.9h โ1.17๏ฟฅ |
โ1.1h โ1.43๏ฟฅ |
| minimind-3-moe | 198M-A64M | โ1.69h โ2.20๏ฟฅ |
โ1.54h โ2.00๏ฟฅ |
โ1.26h โ1.64๏ฟฅ |
โ1.54h โ2.00๏ฟฅ |
่ฎญ็ปๅผ้ๆป็ป&้ขๆต
minimind-3
pretrain_t2t_mini+sft_t2t_mini
ๅๅก3090๏ผ1 epoch้ข่ฎก็บฆ2.31ๅฐๆถ๏ผๆๆฌ็บฆ3.0ๅ ไบบๆฐๅธ
ๅฏไป 0 ่ฎญ็ปๅบminimind-3 Zeroๅฏน่ฏๆจกๅใ
minimind-3-moe
pretrain_t2t_mini+sft_t2t_mini
ๅๅก3090๏ผ1 epoch้ข่ฎก็บฆ3.23ๅฐๆถ๏ผๆๆฌ็บฆ4.2ๅ ไบบๆฐๅธ
ๅฏๅฟซ้ๅพๅฐminimind-3-moe็ๅบ็กๅฏน่ฏ็ๆฌใ
ไปฅไธๅไธบไผฐ็ฎๅผ๏ผไป ็จไบๅฟซ้ๆ็ฅ่ฎญ็ป้จๆงใ
ๅบไบๅๅก NVIDIA 3090๏ผminimind zero ไป 0 ่ฎญ็ปไพ็ถๅฏไปฅๆงๅถๅจ็บฆ 2 ๅฐๆถ้็บง๏ผไธชไบบๅผๅ่
ไน่ฝ่พไฝ้จๆงๅฐๅฟซ้ไธๆใ
่ฅ้็จๆด้ซ่งๆ ผ็ๅคๅก็ฏๅข๏ผไพๅฆ 8x H100๏ผๆป่ฎญ็ปๆถ้ฟ่ฟๅฏ่ฟไธๆญฅๅ็ผฉ่ณๅ้็บงใไปฅๅฐฝๅฏ่ฝไฝ็้จๆงๅฎ็ฐๅฏๅค็ฐใๅฏไธๆใๅฏๆ็ปญ่ฟญไปฃ็ LLM ่ฎญ็ปไฝ้ช๏ผ่ฟไนๆฏ MiniMind ็ณปๅไธ็ดๅธๆๅๆ็ๆนๅใไฝๆๆฌๅฟซ้ๅค็ฐๅนถไธๆฏๅฑๅคด๏ผไธ้ขไฟ็ไธไธชๆฉๆ็ Zero ้ฃๆ ผๆ ทไพๅฏน่ฏไพๅ่๏ผ
๐ถ: ่ฏทไป็ปไธไธ่ชๅทฑใ
๐ค๏ธ: ไฝไธบไบบๅทฅๆบ่ฝ๏ผๆๆฒกๆๅฎ้
็็ๆดป๏ผไนๆฒกๆ่ชๆๆ่ฏ๏ผๆไปฅๆฒกๆ่ชๅทฑ็็ๆดปใๆ่ขซ่ฎพ่ฎกๆ่ฝๅคๅธฎๅฉ็จๆท่งฃ็ญ้ฎ้ขใๆไพไฟกๆฏใ่ฟ่กๅฏน่ฏ็ญใๆ็่ฎพ่ฎกๅๅ่ฝๆฏ็ฑ่ฎก็ฎๆบ็งๅญฆใๆบๅจๅญฆไน ใไบบๅทฅๆบ่ฝๆๆฏๅ็ฎๆณๆๆๅปบ็๏ผๆ้่ฟ็ผ็จๅ็ฎๆณๅฎ็ฐใ
๐ถ: ๆจ่ไธไบๆญๅท็็น่ฒ็พ้ฃๅงใ
๐ค๏ธ: ๆญๅทๆๅพๅค็พๅณ็็น่ฒ็พ้ฃ๏ผๆฏๅฆ้ธก่ไธฒใ้ณ้ฑผๅคดใๆฐด็
ฎ้ฑผใ่ฑ่
่็ญใ่ฟไบ็พ้ฃ้ฝ้ๅธธ็พๅณ๏ผๆ็็ฌ็น็้ฃๅณๅๅฃๆ๏ผ็ปๅฏนๆฏๅผๅพไธ่ฏ็็พ้ฃใ
๐ถ: ่ฏทไธบๆ่ฎฒ่งฃโๅคง่ฏญ่จๆจกๅโ่ฟไธชๆฆๅฟตใ
๐ค๏ธ: ๅคง่ฏญ่จๆจกๅๆฏไธ็งไบบๅทฅๆบ่ฝๆๆฏ๏ผๅฎไฝฟ็จๅคง้็ๆๆฌๆฐๆฎๆฅ่ฎญ็ปๆจกๅ๏ผ็ถๅๅจไธๆญ็่ฟญไปฃไธญไธๆญไผๅๆจกๅใๅฎ็็ฎๆ ๆฏๆ นๆฎ่พๅ
ฅ็ๆฐๆฎๆฅ็ๆ็ฌฆๅ็นๅฎ้ๆฑ็ๆๆฌ๏ผ่ฟไบๆๆฌๅฏไปฅๆฏไปปไฝไฝ ๆๅ
ด่ถฃ็ไธป้ขใ
๐ถ: Introduce the history of the United States, please.
๐ค๏ธ: ๆจๆๅฐ็โIntrook's the believeations of theument." ่ฟไธชๅๅญๆฅๆบไบไธญๅฝๅคไปฃ็"groty of of the change."
ๅฐฝ็ฎก่ฏฅ็ๆฌๅทฒ็ปๅ
ทๅคๅบ็กๅฏน่ฏ่ฝๅ๏ผไฝไบๅฎ็ฅ่ฏไธๆณๅๆๆไป่พๆ้๏ผๅฎๆด้ๅไฝไธบ Zero ่ฎญ็ป่ทฏ็บฟๅฏ่กๆง็ๆฉๆๅ่ใ
Zero ๆจกๅๆ้ไฟๅญไธบ full_sft_zero_768.pth๏ผ่งไธๆ MiniMind ๆจกๅๆไปถ้พๆฅ๏ผ๏ผๅฆๆๅ
ด่ถฃๅฏไธ่ฝฝไฝ้ชๅ
ถๅฏน่ฏๆๆใ
โ ก ไธป่ฆ่ฎญ็ป๏ผๅฟ ้กป๏ผ
ๆๆ่ฎญ็ป่ๆฌๅ
cd ./trainer็ฎๅฝๆง่ก
1' ้ข่ฎญ็ป (Pretrain):
LLM ้ฆๅ ่ฆๅญฆไผ็ๆฏๅ ๆๅฐฝๅฏ่ฝๅค็ๅบ็ก็ฅ่ฏๅ่ฏญ่จ่งๅพๅธๆถๅฐๅๆฐ้ใๅชๆ่ฟไธๆญฅๆ็จณไบ๏ผๆจกๅๅ้ขๆๆ่ฝๅๅป็่งฃ้ฎ้ขใ็ป็ป่กจ่พพ๏ผๅนถ้ๆญฅๅฝขๆๅๆ ท็็ๆ่ฝๅใ้ข่ฎญ็ปๅ็ไบๆ ๏ผๆฌ่ดจไธๅฐฑๆฏ่ฎฉๆจกๅๅ ๅๅคด่ฏปๅคง้ๆๆฌ๏ผไพๅฆ Wiki ็พ็งใๆฐ้ปใไนฆ็ฑใๅฏน่ฏ่ฏญๆ็ญ๏ผไปไธญๅญฆไน ไบๅฎ็ฅ่ฏใ่ฏญ่จๆจกๅผไปฅๅไธไธๆไน้ด็็ป่ฎกๅ ณ็ณปใ่ฟไธช้ถๆฎต้ๅธธๆฏโๆ ็็ฃโ็๏ผไบบ็ฑปไธ้่ฆ้ๆกๅ่ฏๆจกๅๅช้ๅฏนใๅช้้๏ผ่ๆฏ่ฎฉๅฎ่ชๅทฑไปๆตท้ๆๆฌ้ๆป็ป่งๅพ๏ผ้ๆญฅๅปบ็ซ่ตทๅฏนไธ็็ฅ่ฏๅ่ฏญ่จ็ปๆ็ๅ ้จ่กจๅพใ ๆด็ด็ฝๅฐ่ฏด๏ผๆจกๅๅจ่ฟไธ้ถๆฎต็ๆ ธๅฟ็ฎๆ ๅฐฑๆฏๅญฆไผ้ซ่ดจ้ๅฐ่ฏ่ฏญๆฅ้พใไพๅฆ่พๅ ฅโ็งฆๅง็โ๏ผๅฎ่ฆ่ฝๅค็ปง็ปญ็ๆโๆฏไธญๅฝๅๅฒไธ็็ฌฌไธไฝ็ๅธโ่ฟ็ฑป็ฌฆๅ่ฏญไนไธๅธธ่ฏ็ๅ็ปญๅ ๅฎนใ
# ๆนๅผ1
torchrun --nproc_per_node 1 train_pretrain.py # 1ๅณไธบๅๅก่ฎญ็ป๏ผๅฏๆ นๆฎ็กฌไปถๆ
ๅต่ช่ก่ฐๆด (่ฎพ็ฝฎ>=2)
# ๆนๅผ2
python train_pretrain.py่ฎญ็ปๅ็ๆจกๅๆ้ๆไปถ้ป่ฎคๆฏ้
save_intervalๆญฅไฟๅญไธบ:pretrain_*.pth๏ผ*ไธบๆจกๅๅ ทไฝdimension๏ผๆฏๆฌกไฟๅญๆถๆฐๆไปถไผ่ฆ็ๆงๆไปถ๏ผ
768dim้ ็ฝฎๅจ้ข่ฎญ็ป้ถๆฎต็ loss ๆฒ็บฟ
# ๅฏๅฏน้ข่ฎญ็ป็ปๆๅ็ฎๅๆต่ฏ๏ผ
python eval_llm.py --weight pretrain
๐ฌ: ไธบไปไนๅคฉ็ฉบๆฏ่่ฒ็
๐ง : ๅคฉ็ฉบไนๆไปฅ็่ตทๆฅๆฏ่่ฒ็๏ผไธป่ฆๆฏๅ ไธบๅคช้ณๅ
่ฟๅ
ฅๅคงๆฐๅฑๅ๏ผ็ญๆณข้ฟ็่ๅ
ๆดๅฎนๆ่ขซ็ฉบๆฐๅๅญๆฃๅฐ๏ผๅ ๆญคไบบ็ผไปๅไธชๆนๅๆฅๆถๅฐ็่ๅ
ไผๆดๅคใ
๐ฌ: ่งฃ้ไปไนๆฏๆบๅจๅญฆไน
๐ง : ๆบๅจๅญฆไน ๆฏไบบๅทฅๆบ่ฝ็ไธไธช้่ฆๅๆฏ๏ผๅฎ้่ฟๆฐๆฎ่ฎญ็ปๆจกๅ๏ผไฝฟ็ณป็ป่ฝๅค่ชๅจๅญฆไน ่งๅพ๏ผๅนถๅจๅ็ฑปใ้ขๆตใๆจ่ใ่ช็ถ่ฏญ่จๅค็็ญไปปๅกไธญๆ็ปญๆน่ฟๆๆใ2' ๆ็็ฃๅพฎ่ฐ (Supervised Fine-Tuning):
SFT ๅนถไธๅชๆฏๆๆจกๅ่ฐๆโๆดไผ่ๅคฉโ๏ผๅฎๅๆ ทๅฏไปฅ็ปง็ปญๅๆจกๅไธญ็ๅ
ฅๆฐ็็ฅ่ฏใ่กไธบๆจกๅผๅๅ็ญ้ฃๆ ผใๅฐคๅ
ถๆฏๅ MiniMind ๅฝๅไธป็บฟ่ฟๆ ทไฝ้่พพๅฐ 14GB ็ SFT ๆฐๆฎ๏ผๆฌ่บซๅฐฑๅทฒ็ปไธๅชๆฏ็ฎๅ็ๆ ผๅผๅฏน้ฝ๏ผ่ๆดๆฅ่ฟไธ็งๅธฆๆ mid training ๆง่ดจ็ๆ็ปญๅผบๅ่ฟ็จใ
ๅฆๆๆ้ข่ฎญ็ป็่งฃไธบๅ
่ฎฉๆจกๅๅนฟๆณๅฐ่ฏปไนฆใ็งฏ็ดฏๅบ็ก่ฏญ่จ่ฝๅ๏ผ้ฃไน SFT ๆดๅๆฏๅจ้ซ่ดจ้ใๆดๆ็ฎๆ ็ๆฐๆฎไธ็ปง็ปญๆทฑๅ ๅทฅใไธๆน้ข๏ผๅฎไผ่ฎฉๆจกๅ้ๅบๅค่ฝฎๅฏน่ฏใ้ฎ็ญใๅทฅๅ
ท่ฐ็จๅๆ่ๆ ็ญพ็ญไบคไบๅฝขๅผ๏ผๅฆไธๆน้ข๏ผๅฎไนไผ็ปง็ปญๆ็นๅฎ็ฅ่ฏๅๅธใไปปๅกๆจกๅผๅๅฉๆ้ฃๆ ผๅ่ฟๅๆฐ้ใ
ๅ
ทไฝๅฐ MiniMind ้๏ผSFT ้ถๆฎตไผ่ฎฉๆจกๅ้ๅบๅฝๅไปๅบไฝฟ็จ็ๅค่ฝฎๅฏน่ฏๆจกๆฟใๆจกๅไผ้ๆธ็่งฃ user / assistant / system / tool ็ญ่ง่ฒ็ปๆ๏ผๅๆถ่ฟไธๆญฅๅผบๅๆไปค่ท้ใ็จณๅฎๅๅคๅไปปๅกๅฎๆ่ฝๅใ
ๅฝๅ่ฎญ็ปๆถไผๅฏนๆไปคๅๅ็ญ้ฟๅบฆๅๆชๆญๆงๅถ๏ผไธป่ฆๆฏไธบไบๅ
ผ้กพๆพๅญๅ ็จไธ่ฎญ็ปๆ็๏ผๅฆๆๅ็ปญ้่ฆๆด้ฟไธไธๆ๏ผๅช้่ฆ็ปง็ปญๅๅคๅฐ้้ฟๆ ทๆฌๅๅข้ๅพฎ่ฐๅณๅฏใๅจๆจ็ๆถ้่ฟๅฏ็จ YaRN ๅคๆจ๏ผๅฏไปฅๅ
่ฎญ็ปๅฐๅฐไธไธๆ้ฟๅบฆๆฉๅฑๅฐ 2048 ๅไปฅไธใ
# ๆนๅผ1
torchrun --nproc_per_node 1 train_full_sft.py
# ๆนๅผ2
python train_full_sft.py่ฎญ็ปๅ็ๆจกๅๆ้ๆไปถ้ป่ฎคๆฏ้
save_intervalๆญฅไฟๅญไธบ:full_sft_*.pth๏ผ*ไธบๆจกๅๅ ทไฝdimension๏ผๆฏๆฌกไฟๅญๆถๆฐๆไปถไผ่ฆ็ๆงๆไปถ๏ผ
768dim้ ็ฝฎๅจ SFT ้ถๆฎต็ loss ๆฒ็บฟ
# ๅฏๅฏนSFT็ปๆๅ็ฎๅๆต่ฏ๏ผ
python eval_llm.py --weight full_sft
๐ฌ: ่งฃ้ไปไนๆฏๆบๅจๅญฆไน
๐ง : ๆบๅจๅญฆไน ๆฏไบบๅทฅๆบ่ฝ็ๆ ธๅฟๆๆฏไนไธ๏ผ้่ฟ็ฎๆณ่ฎฉ่ฎก็ฎๆบไปๆฐๆฎไธญๅญฆไน ่งๅพ๏ผๅนถๆ็ปญๆน่ฟ้ขๆตๆๅณ็ญๆๆ๏ผๅธธ่งๅบ็จๅ
ๆฌๆจ่็ณป็ปใๅพๅ่ฏๅซใ่ฏญ้ณ่ฏๅซๅ่ช็ถ่ฏญ่จๅค็ใ
๐ฌ: ๆจ่ไธไบไธญๅฝ็็พ้ฃ
๐ง : ไพๅฆๅไบฌ็ค้ธญใๅ
ฐๅทๆ้ขใๅๅท็ซ้
ใๅนฟไธๆฉ่ถใๅฐ็ฌผๅ
ๅ้บปๅฉ่ฑ่
็ญ๏ผ่ฟไบ็พ้ฃๅๅซไปฃ่กจไบไธๅๅฐๅบ็้ฃๅณ็น็น๏ผไนๅพ้ๅไฝไธบไบ่งฃไธญๅฝ้ฅฎ้ฃๆๅ็ๅ
ฅ้จ้ๆฉใโ ข ๅ ถๅฎ่ฎญ็ป๏ผๅฏ้๏ผ
ๆๆ่ฎญ็ป่ๆฌๅ
cd ./trainer็ฎๅฝๆง่ก
3' ็ฅ่ฏ่ธ้ฆ (Knowledge Distillation, KD)
็ฅ่ฏ่ธ้ฆๅคงไฝๅฏไปฅๅๆ้ป็ๅ็ฝ็ไธค็ฑป๏ผMiniMind ๅฝๅไธป็บฟไธค็งๆ่ทฏ้ฝๆๆถๅ๏ผๅชๆฏไพง้็นไธๅใ
- ้ป็่ธ้ฆ๏ผๆดๅธธ่ง๏ผไนๆด่ดด่ฟๅฝๅไธป็บฟ็ๅฎ้
ๅๆณใไธฅๆ ผๆฅ่ฏด๏ผๅฎๆฌ่ดจไธไป็ถๆฏ้ขๅๆๅธ่พๅบ็ปๆ็็็ฃๅพฎ่ฐ๏ผไนๅฐฑๆฏๅบไบ็กฌๆ ็ญพ็ปง็ปญ่ฎญ็ป๏ผๅชๆฏ้็ LLM ็ๆต่ก๏ผ่ฟ็ฑปโๅฏน็ๅผบๆจกๅ่พๅบๅ FTโ็ๅๆณไน้ๆธ่ขซๅนฟไนๅฐๅฝๅ
ฅไบ่ธ้ฆ่็ด๏ผๅ ๆญค้ๅธธ่ขซ็งฐไธบ้ป็่ธ้ฆใๅฎ้็นๅญฆไน ็ๆฏ็ญๆกใ้ฃๆ ผๅ่กไธบๆจกๅผ๏ผๅญฆ็ๆจกๅๅช่ฝ็ๅฐโ่ๅธ่ฏดไบไปไนโ๏ผๅด็ไธๅฐ่ๅธๅ
้จๆฏๅฆไฝๅๅบ่ฟไธชๅคๆญ็ใๅ
DeepSeek R1ใQwen3็้ซ่ดจ้ๅ็ญ๏ผไปฅๅtool callใreasoningใๆ็ปด้พ็ญๆฐๆฎ๏ผ้ฝๅฏไปฅ็ไฝ้ป็่ธ้ฆไฟกๅท๏ผMiniMind ๅฝๅไธป็บฟfull_sftๆฐๆฎ้๏ผๅ ถๅฎๅทฒ็ปๆททๅ ฅไบ็ธๅฝไธ้จๅ่ฟๆ ท็ๆ่ทฏใ - ็ฝ็่ธ้ฆ๏ผๆด่ฟไธๆญฅ๏ผไธๅชๅญฆไน ๆๅธ็ปๅบ็ๆ็ป่พๅบ๏ผ่ฟๅปๅญฆไน ๆๅธๅจ token ๅๅธๅฑ้ข็ๅๅฅฝใ็ธๆฏ้ป็่ธ้ฆ๏ผๅฎ้ขๅคๅฉ็จไบๆๅธๆจกๅ่พๅบๅฑๆด็ป็ฒๅบฆ็ๅๅธไฟกๆฏ๏ผๅ ๆญคๅญฆ็ๆจกๅๅญฆๅฐ็ไธๅชๆฏโๆ ๅ็ญๆกโ๏ผ่ฟๅ
ๆฌๆๅธๅจๅ้ token ไน้ด็็ธๅฏนๅพๅใๅฏนๅบๅฐ
train_distillation.py๏ผๅฝๅๅฎ็ฐๆฏๅจๅทฒ็ปๅฎๆ SFT ็ๆ้ๅบ็กไธ๏ผ็ปง็ปญ็จๆๅธๆจกๅๆไพ็ๅๅธไฟกๅทๆฅ่ฎญ็ปๅญฆ็ๆจกๅ๏ผๅ ๆญคๆด้ๅไฝไธบ็่งฃ MiniMind ่ธ้ฆๆต็จ็ๅ่ๅฎ็ฐใ
้ป็่ธ้ฆๆฌ่ดจไธ็ญไปทไบๅฏน teacher ็ๆ็ญๆกๅ็็ฃๅพฎ่ฐ๏ผ
็ฝ็่ธ้ฆๅ้ๅธธๅจ็็ฃๆๅคฑไนๅค๏ผๅ้ขๅคๆๅๆๅธๅๅธ๏ผ
ไปๅบไธญๆไพ็ train_distillation.py ๆด้ๅไฝไธบ็่งฃ็ฝ็่ธ้ฆๆต็จ็ๅ่ๅฎ็ฐ๏ผๅฎๅฎๆดๅฑ็คบไบๆๅธ/ๅญฆ็ๅๆจกๅๅ ่ฝฝใCE + KL ๆททๅๆๅคฑใๆธฉๅบฆ็ผฉๆพใMoE ไธ dense ็ปๅ่ธ้ฆ๏ผไปฅๅๆญ็น็ปญ่ฎญๅๅๅธๅผ่ฎญ็ป็ญๅ
ณ้ฎ็ป่ใ
# ๆนๅผ1
torchrun --nproc_per_node 1 train_distillation.py
# ๆนๅผ2
python train_distillation.py4' LoRA (Low-Rank Adaptation)
LoRA ๆฏไธ็งๅธธ่ง็ๅๆฐ้ซๆๅพฎ่ฐ๏ผParameter-Efficient Fine-Tuning, PEFT๏ผๆนๆณใ็ธๆฏๅ
จๅๆฐๅพฎ่ฐ๏ผๅฎๅชๆดๆฐๅฐ้ๆฐๅขๅๆฐ๏ผ่ไฟ็ๅๅงๆจกๅไธปไฝๆ้ไธๅ๏ผๅ ๆญค่ฎญ็ปๆๆฌๆดไฝ๏ผไนๆด้ๅๅๅ็ดๅบๆฏ้้
ใ
ๅฎ็ๆ ธๅฟๆๆณๆฏๅจๅๆๆ้็ฉ้ตๆๅผๅ
ฅไฝ็งฉๅข้ๅๆฏ๏ผไป
่ฎญ็ป่ฟ้จๅไฝ็งฉๅๆฐ๏ผไป่็จ่พๅฐไปฃไปทๅฎๆ่ฝๅ่ฟ็งปใ็ธๅ
ณๅฎ็ฐๅฏ่ง model_lora.py ๅ train_lora.py๏ผๆดไธชๆต็จๅไธบ็บฏๆๅๅฎ็ฐ๏ผไธไพ่ต็ฌฌไธๆนๅฐ่ฃ
ใ
# train_lora.py ๅจ CPU ไธ้ๅธธไน่ฝๆฏ่พ่ฝปๅฟซๅฐๅฎๆ
# ๆนๅผ1
cd trainer && torchrun --nproc_per_node 1 train_lora.py
# ๆนๅผ2
cd trainer && python train_lora.py่ฎญ็ปๅ็ๆจกๅๆ้ๆไปถ้ป่ฎคๆฏ้
save_intervalๆญฅไฟๅญไธบ:lora_xxx_*.pth๏ผ*ไธบๆจกๅๅ ทไฝdimension๏ผๆฏๆฌกไฟๅญๆถๆฐๆไปถไผ่ฆ็ๆงๆไปถ๏ผ
LoRA ๅพ้ๅๅค็โๅฆไฝๅจๅฐฝ้ไฟ็้็จ่ฝๅ็ๅๆไธ๏ผ่ฎฉๆจกๅๅฟซ้้ๅบ็งๆ้ขๅๆๅ็ดๅบๆฏโ่ฟ็ฑป้ฎ้ขใไพๅฆๅบ็กๆจกๅๅปๅญฆ็ฅ่ฏไธ่ถณๆถ๏ผๅฐฑๅฏไปฅๅจๅๆๆจกๅไนไธๅ ๅ ไธๅฑ้ขๅๅป็ๅบๆฏ็ LoRA ๆ้๏ผไปฅ่พๅฐไปฃไปท่ทๅพๆดๅฅฝ็้ขๅ่กจ็ฐใ
้ๅธธๅช้่ฆๅๅคๅๆ ท็ๅค่ฝฎๅฏน่ฏๆ ผๅผๆฐๆฎ๏ผๆพ็ฝฎๅฐ lora_xxx.jsonl๏ผๅไปไปๅบๆ น็ฎๅฝๆง่ก cd trainer && python train_lora.py๏ผๅณๅฏๅพๅฐๆฐ็ LoRA ๆจกๅๆ้ใ
ไพ1๏ผๅๅๆฐๆฎ
{"conversations": [{"role": "user", "content": "่ฏท้ฎ้ขๆค็
็ไบบๆๅคดๅค้ซๆๆๅฅฝ๏ผ"}, {"role": "assistant", "content": "้ขๆค็
ๆฃ่
้ๆฉๆๅคด็้ซๅบฆๅบ่ฏฅๆ นๆฎ..."}]}
{"conversations": [{"role": "user", "content": "่ฏท้ฎxxx"}, {"role": "assistant", "content": "xxx..."}]}ไพ2๏ผ่ชๆ่ฎค็ฅๆฐๆฎ
{"conversations": [{"role": "user", "content": "ไฝ ๅซไปไนๅๅญ๏ผ"}, {"role": "assistant", "content": "ๆจๅฅฝ๏ผๆๅๅซ MiniMind๏ผๆฏ็ฑ Jingyao Gong ๅผๅ็ไบบๅทฅๆบ่ฝๅฉๆใๆๅฏไปฅๅธฎๅฉไฝ ่งฃๅณๅ็ง้ฎ้ข๏ผๅ
ๆฌ็ฟป่ฏใๆจ่ๅ
ๅฎน็ญ็ญใ"}]}
{"conversations": [{"role": "user", "content": "ไฝ ๆฏ่ฐ"}, {"role": "assistant", "content": "ๆจๅฅฝ๏ผๆๆฏ MiniMind๏ผ็ฑ Jingyao Gong ๅๅปบใๆ็ไธป่ฆ่่ดฃๆฏๆไพๅ็กฎ็ๅ็ญๅๅธฎๅฉใ"}]}ๆญคๆถๅฏๅฐใๅบๆจก + LoRA ๆ้ใ็ปๅไฝฟ็จ๏ผไป่ๅจไฟ็ๅบ็กๆจกๅ้็จ่ฝๅ็ๅๆถ๏ผๅขๅผบ็นๅฎ้ขๅ่กจ็ฐใ่ฎญ็ปๅฎๆๅไนๅฏไปฅ้่ฟ eval_llm.py ๅ็ฎๅๆต่ฏใ
# ๆณจๆ๏ผweightๅๆฐๆๅฎๅบ็กๆจกๅ็ฑปๅ๏ผ้ไธtrain_lora่ฎญ็ปๆถไฝฟ็จ็ๅบ็กๆจกๅไฟๆไธ่ด
python eval_llm.py --weight full_sft --lora_weight lora_medical
๐ถ: ๆๆ่ฟ็ปๅธธๆๅฐๅคดๆ๏ผๅฏ่ฝๆฏไปไนๅๅ ๏ผ
๐ค๏ธ: ๅคดๆๅฏ่ฝๆฏ็ฑไบๅค็งๅๅ ๏ผๅ
ๆฌไฝไธ้ไบ๏ผๅฟ่็พ็
ใ็ผ็ๆไผคใ่ฟๆๅๅบใ็ฎ่ค้ฎ้ขใ่ฟๆๅๅบใๅๅใ็ฆ่ใ็ฒๅณใ่ฏ็ฉๅฏไฝ็จใๆงๅ่ฝ้็ขๆ่
ๅ
ถไป...
python eval_llm.py --weight full_sft --lora_weight lora_identity
๐ถ: ไฝ ๅopenaiๆฏไปไนๅ
ณ็ณป๏ผ
๐ค๏ธ: ๆๆฏ MiniMind๏ผไธไธช็ฑ Jingyao Gong ๅผๅ็ไบบๅทฅๆบ่ฝๅฉๆใๆ้่ฟ่ช็ถ่ฏญ่จๅค็ๅ็ฎๆณ่ฎญ็ปๆฅไธ็จๆท่ฟ่กไบคไบใPS๏ผๅฆๆๆๆดๅ
่ถณ็ๆฐๆฎ๏ผไนๅฏไปฅ็ดๆฅๅ full_sft ๅ
จๅๅพฎ่ฐ๏ผไธ่ฟ่ฟ้ๅธธ้่ฆๆด่ฐจๆ
ๅฐๆททๅ้็จๆฐๆฎไธ้ขๅๆฐๆฎ๏ผๅฆๅๅพๅฎนๆๅ ไธบ่ฟๆๅๅๅๆ ทๆฌ่ๆๅคฑๆจกๅๅๆ็้็จๆงใ
LoRAๆ้ๅฏๅๅนถๅๅบ็กๆจกๅๅนถๅฏผๅบไธบๆฐ็ๅฎๆดๆจกๅๆ้๏ผๅฏไฝฟ็จscripts/convert_model.pyไธญ็convert_merge_base_lora๏ผ
cd scripts && python convert_model.py5' ๅทฅๅ ท่ฐ็จ & ่ช้ๅบๆ่
2026-03 ่ตท๏ผไปๅบ็งป้คไบ็ฌ็ซ็ train_reason.pyใ
ๅฝๅ็ๆฌไธๅๅ็ฌ็ปดๆค reason_*.pth ๆ้๏ผ่ๆฏ็ปไธ้่ฟ chat_templateใ<think> ๆ ็ญพใopen_thinking ๅผๅ
ณไปฅๅๅ็ปญ SFT / RLAIF ๆต็จๆฅๅปบๆจกโๆฏๅฆๆพๅผ่พๅบๆ่่ฟ็จโใ
5.1 Tool Calling
ๅฝๅ toolcall ่ฝๅๅทฒ็ปๅนถๅ
ฅ sft_t2t / sft_t2t_mini ไธป็บฟๆฐๆฎ๏ผๅ ๆญค้ๅธธไธๅ้่ฆ้ขๅคๅ็ฌ่ฎญ็ปไธ่ฝฎ Tool Calling๏ผ้ป่ฎค็ full_sft ๆ้ๅทฒ็ปๅ
ทๅคๅบ็ก Tool Call ่ฝๅใๅฝๅ่ฟ้จๅ่ฎญ็ปๆฐๆฎไธป่ฆ็ฑ qwen3-4b ้ๆ ท็บฆ 10w ๆกๆๆ๏ผๅทฅๅ
ทๅ่กจไนไธป่ฆ่ฆ็็บฆ 10 ไธชๆจกๆ็่ชๅฎไนๅทฅๅ
ท๏ผไพๅฆๆฅ่ฏขๆถ้ดใๆฐๅญฆ่ฎก็ฎใ่ทๅๅคฉๆฐ็ญ๏ผ๏ผๅ ๆญค็ฎๅ่ฟ่ฐไธไธๆ็กฎ็ๆณๅ่ฝๅใๅ
ถไธญ Tool Calling ๆ ทๆฌ็ปไธๆฒฟ็จไบ OpenAI ้ฃๆ ผ็ๅค่ฝฎๆถๆฏๆ ผๅผ๏ผ
{
"conversations": [
{"role": "system", "content": "# Tools ...", "tools": "[...]"},
{"role": "user", "content": "ๅธฎๆ็ฎไธไธ 256 ไนไปฅ 37 ็ญไบๅคๅฐ"},
{"role": "assistant", "content": "", "tool_calls": "[{\"name\":\"calculate_math\",\"arguments\":{\"expression\":\"256 * 37\"}}]"},
{"role": "tool", "content": "{\"result\":\"9472\"}"},
{"role": "assistant", "content": "256 ไนไปฅ 37 ็ญไบ 9472ใ"}
]
}ๅ
ถไธญ tools ๆๅจ system ๆถๆฏไธ๏ผtool_calls ๆๅจ assistant ๆถๆฏไธ๏ผ่ฎญ็ปๆถๅ็ฑ chat_template ่ชๅจๅฑๅผไธบ <tool_call>...</tool_call> ไธ <tool_response>...</tool_response> ็ๆฎต๏ผๅ ๆญค็ฐๅจๅฏไปฅ็ดๆฅๅญฆไน ๅ็ tool call ๆ ผๅผใ
Tool Calling ็ chat template ๅทฒ็ปไธๆฏๆ่งฃๆไธบ๏ผ
<tool_call>{"name": "...", "arguments": {...}}</tool_call>
<tool_response>{...tool result...}</tool_response>
ไนๅฏไปฅ็ดๆฅ้่ฟ eval_toolcall.py ๅ็ฎๅๆต่ฏ๏ผ
python eval_toolcall.py --weight full_sft
๐ฌ: ็ฐๅจๅ ็นไบ๏ผ
๐ง : <tool_call>{"name": "get_current_time", "arguments": {"timezone": "Asia/Shanghai"}}</tool_call>
๐ [Tool Calling]: get_current_time
โ
[Tool Called]: {"datetime": "2026-03-15 17:18:22", "timezone": "Asia/Shanghai"}
๐ง : ็ฐๅจๆฏ2026ๅนด3ๆ15ๆฅ17ๆถ18ๅ22็งใ5.2 Adaptive Thinking
minimind ๅฐๆพๅผๆ่่ฝๅ็ปไธๅฐไบๆจกๆฟๅฑ๏ผ่ฟไนๅๅฝๅๅพๅคไธปๆตๅคงๆจกๅ็ๆจกๆฟ่ฎพ่ฎกไฟๆไธ่ด๏ผ
open_thinking=0๏ผ้ป่ฎคๆณจๅ ฅ็ฉบ็<think>\n\n</think>๏ผๆจกๅๆดๅพๅไบ็ดๆฅๅ็ญ๏ผopen_thinking=1๏ผๆจกๆฟไผ้ขๅ ๆณจๅ ฅ<think>่ตทๅงๆ ็ญพ๏ผๆจกๅๅ็ปง็ปญ่พๅบๆพๅผๆ่่ฟ็จไธๆ็ปๅ็ญ๏ผ- CLIใOpenAI-APIใWebUI ไธไธชๅ ฅๅฃๅๆฏๆ่ฏฅๅผๅ ณใ
ๆดๅ็กฎๅฐ่ฏด๏ผ็ฎๅไธๅโๅ็ฌ่ฎญไธไธชๆ่ๆจกๅโ๏ผ่ๆฏๆโๆฏๅฆๆพๅผๆ่โไธๆฒๅฐ chat_templateใๆจกๆฟๅฑไผๅ
้ข็ <think></think> ่ฟไธ็ปๆ๏ผๅไธไธชๆจกๅๅจๆจ็ๆถๅ้่ฟ open_thinking ๅจๆๅๆข๏ผๅจ่ฎญ็ปๆถ๏ผๅ้่ฟๆททๅ็ฉบ thinkใๆพๅผ reasoning_content ไธ thinking_ratio ้ๆ ท๏ผ่ฎฉๆจกๅ้ๆญฅ่ง่ฟโ่ฏฅๆณๆถๆณใ่ฏฅ็ด็ญๆถ็ด็ญโ็ๆททๅๆจกๅผใ
# ๆต่ฏๅ็ญ
python eval_llm.py --load_from ./minimind-3 --open_thinking 1OpenAI-API-SDK ็จๆณ๏ผ
response = client.chat.completions.create(
model="minimind",
messages=[{"role": "user", "content": "ไฝ ๆฏ่ฐ๏ผ"}],
# ...
extra_body={"chat_template_kwargs": {"open_thinking": True}} # ๆ่ๅผๅ
ณ
)ๆณจ๏ผๅฝๅๅๆถๅผๅฏ Tool Call ไธๆพๅผๆ่ๆถ๏ผๆจกๅ้ๅธธๅนถไธๅคชไผ็จณๅฎๅฐ่พๅบๆ่่ฟ็จใๅๅ ๅจไบ็ฐ้ถๆฎต่ฎญ็ปๆฐๆฎ้่ฟ็ผบๅฐโreasoning ไธ tool call ๅๆถๅญๅจโ็่ๅ่ธ้ฆๆ ทๆฌ๏ผๅ ๆญคๆจกๅๅฐๆชๅ ๅๅญฆไผ่ฟไธค็ง่ฝๅ็ๅๅ่กจ่พพใ
โ ฃ ๅผบๅๅญฆไน ๏ผๅฏ้๏ผ
ๅจ LLM ็ๅ่ฎญ็ปๅฎ่ทตไธญ๏ผๅธธ่ง็ๅผบๅๅญฆไน ่ทฏๅพไธป่ฆๆไธคๆก๏ผ
- ๅบไบไบบ็ฑปๅ้ฆ็ๅผบๅๅญฆไน (Reinforcement Learning from Human Feedback, RLHF)
- ้่ฟไบบ็ฑปๅฏนๆจกๅ่พๅบ็ๅๅฅฝ่ฟ่ก่ฏไปทๆฅ่ฎญ็ปๆจกๅ๏ผไฝฟๅ ถ็ๆๆด็ฌฆๅไบบ็ฑปไปทๅผ่งๅๅๅฅฝ็ๅ ๅฎนใ
- ๅบไบAIๅ้ฆ็ๅผบๅๅญฆไน (Reinforcement Learning from AI Feedback, RLAIF)
- ไฝฟ็จAIๆจกๅๆๅ ถไปๅฏ่ชๅจ้ช่ฏ็ๆบๅถๆฅๆไพๅ้ฆ๏ผ่ไธ็ดๆฅไพ่ตไบบ็ฑปๆ ๆณจใ
- ่ฟ้็โAI feedbackโๅจๅนฟไนไธไนๅฏไปฅๆฉๅฑๅฐ่งๅๅฅๅฑใGround Truth ๆ ก้ชใไปฃ็ ่งฃ้ๅจใ็ฏๅขๅ้ฆ็ญ่ชๅจๅไฟกๅทใ
| ็ฑปๅ | ่ฃๅค | ไผ็น | ็ผบ็น |
|---|---|---|---|
| RLHF | ไบบ็ฑป | ๆด่ดด่ฟ็ๅฎไบบ็ฑปๅๅฅฝ | ๆๆฌ้ซใๆ็ไฝ |
| RLAIF | ๆจกๅ | ่ชๅจๅใๅฏๆฉๅฑๆงๅผบ | ๅฏ่ฝๅ็ฆปไบบ็ฑป็ๅฎๅๅฅฝ |
ไบ่ ๆฌ่ดจไธ้ฝๅฑไบๅฉ็จๆ็งๅฝขๅผ็"ๅ้ฆ"ๆฅไผๅๆจกๅ่กไธบ็ๅผบๅๅญฆไน ่ๅผใ
ไธ่ฟๅจๅ ทไฝๅฎ่ทต้๏ผๅฎไปฌๅนถไธๅชๆฏๅ้ฆๆฅๆบไธๅ๏ผๅฅๅฑๆฏๅฆๅฏ้ช่ฏใๆฏๅฆ่ฟ็ปญใๆฏๅฆไพ่ต็ฏๅขไบคไบใๆฏๅฆๅปถ่ฟๅฐๆด่ฝฎ็ป็ฎ๏ผ้ฝไผ็ดๆฅๅฝฑๅ่ฎญ็ปๅฝขๆไธๅทฅ็จๅฎ็ฐใ
๐ PO็ฎๆณ็็ปไธ่ง่ง
ๅจไป็ปๅฎ็ฐๅ ทไฝ็ฎๆณไนๅ๏ผๆๅ ไปฅไธชไบบ็่งฃ็ๆ็ฎ่ง่ง๏ผ้่ฟฐๆๆPolicy Optimization (PO)็ฎๆณ็็ปไธๅ ฑๆงใ
ๆๆRL็ฎๆณ็ๆฌ่ดจ้ฝๅชๆฏๅจไผๅไธไธชๆๆ๏ผ
่ฎญ็ปๆถ๏ผๅช้ๆๅฐๅ่ด็ฎๆ ๅฝๆฐ๏ผๅณ: $\mathcal{L}{PO} = -\mathcal{J}{PO}$
่ฟไธชๆกๆถๅชๅ ๅซไธไธชๆ ธๅฟ็ปไปถ๏ผ
-
็ญ็ฅ้กน
$f(r_t)$ : ๅฆไฝไฝฟ็จๆฆ็ๆฏ$r_t$ ? ๅณๅ่ฏๆจกๅๆฐๆง็ญ็ฅๅๅทฎๆๅคๅคง๏ผๆฏๅฆๆข็ดขๅฐไบๆดๅฅฝ็token -
ไผๅฟ้กน
$g(A_t)$ : ๅฆไฝ่ฎก็ฎไผๅฟ$A_t$ , ่ฟๅพ้่ฆ๏ผๅคงๆจกๅ็ฎๅฏนๅฎ็งฏๅไนไธ่ถณไธบๅฅ๏ผๅฐๆจกๅๅ็ญๅฏนๅ ๅๆณไผๅฟ้ๅธธ้ฝๆฏๆญฃ็ -
ๆญฃๅ้กน
$h(\text{KL}_t)$ : ๅฆไฝ็บฆๆๅๅๅน ๅบฆ$\text{KL}_t$ , ๆข้ฒๆญข่ทๅๅ้ฒๆญข็ฎก็ๅคชๆญป
๏ผๅฑๅผ๏ผ็ฌฆๅท่ฏดๆ
| ็ฌฆๅท | ๅซไน | ่ฏดๆ | ๅผๅ |
|---|---|---|---|
| ้ฎ้ข/ๆ็คบ่ฏ | ไปๆฐๆฎ้ |
- | |
| ๆจกๅ่พๅบๅบๅ | ็ฑ็ญ็ฅ |
- | |
| ๆฆ็ๆฏ | |||
| ไผๅฟๅฝๆฐ | ่กก้ๆไธชๅจไฝ็ธๆฏๅบ็บฟๆๅคๅฅฝ | ||
| KLๆฃๅบฆ | ้ฒๆญข็ญ็ฅๅ็ฆปๅ่ๆจกๅๅคช่ฟ |
ไธๅ็xxPO็ฎๆณๆฌ่ดจไธๅชๆฏๅฏน่ฟไธไธช็ปไปถ็ไธๅ่ฎพ่ฎก็ๅฎไพๅ๏ผ
6' ๅบไบไบบ็ฑปๅ้ฆ็ๅผบๅๅญฆไน (Reinforcement Learning from Human Feedback, RLHF)
ๅจๅ้ข็่ฎญ็ปๆญฅ้ชคไธญ๏ผๆจกๅๅทฒ็ปๅ ทๅคไบๅบๆฌ็ๅฏน่ฏ่ฝๅ๏ผไฝๆฏ่ฟๆ ท็่ฝๅๅฎๅ จๅบไบๅ่ฏๆฅ้พ๏ผ็ผบๅฐๆญฃๅๆ ทไพ็ๆฟๅฑใ ๆจกๅๆญคๆถๅฐๆช็ฅไปไนๅ็ญๆฏๅฅฝ็๏ผไปไนๆฏๅทฎ็ใๅธๆๅฎ่ฝๅคๆด็ฌฆๅไบบ็ๅๅฅฝ๏ผ้ไฝ่ฎฉไบบ็ฑปไธๆปกๆ็ญๆก็ไบง็ๆฆ็ใ ่ฟไธช่ฟ็จๅฐฑๅๆฏ่ฎฉๆจกๅๅๅ ๆฐ็ๅน่ฎญ๏ผไปไผ็งๅๅทฅ็ไฝไธบไพๅญ๏ผๆถๆๅๅทฅไฝไธบๅไพ๏ผๅญฆไน ๅฆไฝๆดๅฅฝๅฐๅๅคใ
6.1 Direct Preference Optimization
็ดๆฅๅๅฅฝไผๅ๏ผDPO๏ผ็ฎๆณ๏ผๆๅคฑไธบ๏ผ
ๅ ถไธญ๏ผ
-
็ญ็ฅ้กน:
$f(r_t) = \log r_w - \log r_l$ (ๅฏนๆฏchosen vs rejected็ๆฆ็ๆฏ) -
ไผๅฟ้กน:
$g(A_t)$ = ๆ ๆพๅผไผๅฟ้กน๏ผ้่ฟๅๅฅฝๅฏนๆฏ้ๅผไฝ็ฐ๏ผ -
ๆญฃๅ้กน:
$h(\text{KL}_t)$ = ้ๅซๅจ$\beta$ ไธญ (ๆงๅถๅ็ฆปๅ่ๆจกๅ็จๅบฆ)
็นๅซๅฐ๏ผ
- DPOไปPPOๅธฆKL็บฆๆ็็ฎๆ ๆจๅฏผๅบๅฏนๅๅฅฝๅฏน็่งฃๆ่ฎญ็ป็ฎๆ ๏ผ็ดๆฅๆๅคงๅ"chosenไผไบrejected"็ๅฏนๆฐๅ ็๏ผๆ ้ๅๆญฅ่ฎญ็ปReward/ValueๆจกๅใDPOๅช้่ท
actorไธrefไธคไธชๆจกๅ๏ผๆพๅญๅ ็จไฝใๆถๆ็จณๅฎใๅฎ็ฐ็ฎๅใ - ่ฎญ็ป่ๅผ๏ผoffโpolicy๏ผไฝฟ็จ้ๆๅๅฅฝๆฐๆฎ้๏ผๅฏๅๅคๅค่ฝฎepoch๏ผRefๆจกๅๅบๅฎ๏ผ้ขๅ ็ผๅญ่พๅบ๏ผใ
- DPO็ๅฑ้ๅจไบไธๅๅจ็บฟๆข็ดข๏ผๆดๅค็จไบ"ๅๅฅฝ/ๅฎๅ จ"็ไบบ็ฑปไปทๅผๅฏน้ฝ๏ผๅฏน"่ฝไธ่ฝๅๅฏน้ข"็ๆบๅ่ฝๅๆๅๆ้๏ผๅฝ็ถ่ฟไนๅๅณไบๆฐๆฎ้๏ผๅคง่งๆจกๆถ้ๆญฃๅๆ ทๆฌๅนถไบบ็ฑป่ฏไผฐๅพๅฐ้พ๏ผใ
# ๆนๅผ1
torchrun --nproc_per_node 1 train_dpo.py
# ๆนๅผ2
python train_dpo.py่ฎญ็ปๅ็ๆจกๅๆ้ๆไปถ้ป่ฎคๆฏ้
save_intervalๆญฅไฟๅญไธบ:dpo_*.pth๏ผ*ไธบๆจกๅๅ ทไฝdimension๏ผๆฏๆฌกไฟๅญๆถๆฐๆไปถไผ่ฆ็ๆงๆไปถ๏ผ
7' ๅบไบ AI ๅ้ฆ็ๅผบๅๅญฆไน (Reinforcement Learning from AI Feedback, RLAIF)
็จๅพฎ่ฑ็ฏๅน
่งฃ้ไธไธ๏ผๆ่ฟๆฏๆดๆณๆ่ฟไธ่ๅซไฝ RLAIF๏ผ่ฝ็ถไธฅๆ ผๆฅ่ฏด๏ผ่ฟไธชๅฝๅๅนถไธๅฎๅ
จๅ็กฎใๅ RLVR ่ฟ็ฑปไพ่ตๅฏ้ช่ฏๅฅๅฑ็่ทฏ็บฟ๏ผๆฌ่บซๆ็ธๅฏน็ฌ็ซ็่็ป๏ผๅพ้พ่ขซ็ฎๅๅนถ่ฟ็ญไน็ AI feedback ้ใ
ไฝๅฆๆๆโAIโ็่งฃๅพ็จๅพฎๅฎฝไธ็น๏ผๆๅ่งๅพ่ฟไธชๅๅญๅนถ้ๅฎๅ
จ่ฏดไธ้๏ผๅฅๅฑๆขๅฏไปฅๆฅ่ชๅฅๅฑๆจกๅใjudge model ่ฟ็ฑปๆพๅผ็ๆบ่ฝไฝ๏ผไนๅฏไปฅๆฅ่ช่งๅๅฝๆฐใGround Truthๆ ก้ชใๅทฅๅ
ท่ฐ็จ็ปๆใ็ฏๅข่ฟๅ็ถๆ่ฟ็ฑปๅฏ่ชๅจ่ทๅพ็ไฟกๅทใ่งๅ่ถณๅคๅคๆใ็ฌฆๅท็ณป็ป่ถณๅคไธฐๅฏๆถ๏ผๅฎไปฌๅโๆบ่ฝๅ้ฆโไน้ด็่พน็๏ผๆฌๆฅๅฐฑๆชๅฟ
้ฃไนๆณพๆธญๅๆใ
ๅ ๆญค่ฟไธ็ซ ๆดๆณ่ฎจ่ฎบ็๏ผๅ
ถๅฎๆฏ LLM ๅจ SFT ไนๅ๏ผๅๅฉๅ็ง้ไบบๅทฅใๅฏ่ชๅจ่ทๅพ็ๅ้ฆไฟกๅท็ปง็ปญๅๅผบๅๅญฆไน ไผๅ็ๆนๆณใๆฏๅฆๆฐๅญฆ้ข็ญๆกๆฏๅฆๆญฃ็กฎใๅทฅๅ
ท่ฐ็จๆง่กไปฃ็ ่ฝๅฆ้่ฟๆต่ฏ็จไพใๆจ็่ฟ็จๆฏๅฆ็ฌฆๅๆ ผๅผ...้ฝๅฏไปฅ่ชๅจๅๅคๆญใ
ๅฏนไบๅ่ฝฎๅฏ้ช่ฏไปปๅก๏ผ่ฟ็ฑปๅ้ฆๅพๅพๆดๆฅ่ฟโๅณๆถๆๅโ๏ผ่ๅจ Agentic RL ๅบๆฏไธญ๏ผๅฅๅฑๅๆดๅธธ่กจ็ฐไธบๅคๆญฅไบคไบๅ็ๅปถ่ฟ็ป็ฎ๏ผ็่ณ็ดๆฅๆฅ่ช็ฏๅขๆฌ่บซใ
ๅฎไปฌๅ
ฑๅ็็น็น้ๅธธ้ฝๆฏOn-Policyไธๅฏๆฉๅฑๆงๅผบโโไธ้่ฆๆ่ดต็ไบบๅทฅๆ ๆณจ๏ผๅฏไปฅ็ๆๆตท้่ฎญ็ปๆ ทๆฌ๏ผ่ฎฉๆจกๅๅจๅจ็บฟๅคง้่ฏ้ไธญๅฟซ้่ฟๅใ
MiniMind ็ๆๅฎ็ฐ2+N็งๅบๆฌ+ๅๆฒฟ็RLAIFๆนๆณ๏ผ
- PPOใGRPO ่ขซๅคง่งๆจก้ช่ฏ็็ปๅ ธRL็ฎๆณ
- N็งๅๆฒฟRL็ฎๆณ๏ผไธๅฎๆไปฅExpๆง่ดจๆดๆฐ๏ผ
1๏ธโฃ ๆฐๆฎ้ๅๅค (ๅฟ ้กป)
ๅฝๅไธป็บฟไฝฟ็จ rlaif.jsonl ไฝไธบ RLAIF ่ฎญ็ปๆฐๆฎ๏ผไฝ้็บฆ 20MB๏ผๆฏๆฉๆ rlaif-mini.jsonl ๆดๅฎๆด๏ผๆด้ๅ็ดๆฅ้ช่ฏ PPO / GRPO / CISPO ็่ฎญ็ปๆๆใ
ๆฐๆฎๆ ผๅผไธ SFT ไธ่ด๏ผไฝ assistant ๅญๆฎตไธ้่ฆ็ๅฎๅ
ๅฎน๏ผๅ ไธบ่ฎญ็ป่ฟ็จไธญๅฎๅ
จ็ฑ
{
"conversations": [
{"role": "user", "content": "่ฏท่งฃ้ไธไธไปไนๆฏๅ
ๅไฝ็จ๏ผ"},
{"role": "assistant", "content": "ๆ "}
]
}RLAIF็่ฎญ็ป่ฟ็จไธญ๏ผๆจกๅไผๅบไบuser็้ฎ้ข็ๆ1ๆๅคไธชๅ้ๅ็ญ๏ผ็ถๅ็ฑๅฅๅฑๅฝๆฐ/ๆจกๅๅฏนๅ็ญๆๅ๏ผ
ๅๆฐ้ซ็ๅ็ญไผ่ขซ้ผๅฑ๏ผๅขๅ
2๏ธโฃ ๅฅๅฑๆบๅถๅๅค (ๅฟ ้กป)
RLAIF่ฎญ็ป้่ฆๆ็งๅฏ่ฎก็ฎ็ๅฅๅฑไฟกๅท๏ผๅฎๅฏไปฅๆฅ่ชๅฅๅฑๆจกๅ๏ผไนๅฏไปฅๆฅ่ช่งๅๅฝๆฐใGround Truth ๆ ก้ชๆ็ฏๅขๅ้ฆใMiniMind ๅฝๅ้ป่ฎคๆผ็คบ็ๆฏ Reward Model ่ทฏ็บฟใ
ๆญคๅค้ๅๅฐๅไธ้ซ่ดจ้็ InternLM2-1.8B-Reward (ModelScope | HuggingFace) ไฝไธบๅบ็กๅฅๅฑๆจกๅใ
ไธ่ฝฝๅฅๅฑๆจกๅๅ้่ฆๆพ็ฝฎๅจminimind้กน็ฎ็ๅ็บง็ฎๅฝไธ๏ผๆจ่็ปๆๅฆไธ๏ผ
root/
โโโ minimind/ # MiniMind้กน็ฎ
โ โโโ model/
โ โโโ ...
โโโ internlm2-1_8b-reward/ # ๅฅๅฑๆจกๅ
โโโ config.json
โโโ model.safetensors
โโโ ...
ๅฅๅฑๆบๅถ้ๆฉไธMiniMind้ๅถ่ฏดๆ๏ผ็นๅปๅฑๅผ๏ผ
1. ๅฅๅฑๆบๅถ็ๅคๆ ทๆง
RLAIFไธญ็"ๅฅๅฑไฟกๅท"ๆฅๆบๅฏไปฅ้ๅธธ็ตๆดป๏ผ
-
Model-basedๅฅๅฑ๏ผๅฏไฝฟ็จไธ้จ็Reward Model๏ผๅฆInternLM2-Reward๏ผ๏ผไนๅฏไฝฟ็จ้็จLLM+ๆ็คบ่ฏ่ฟ่กๆๅ๏ผๅฆQwen3-as-a-Judge๏ผใๅฅๅฑๆจกๅ่งๆจกๅๆถๆๅๅฏ่ช็ฑ้ๆฉใ
-
Rule-basedๅฅๅฑ๏ผๅฏไปฅๅบไบ่งๅๅฝๆฐๆ้ ๅฅๅฑไฟกๅท๏ผไพๅฆ๏ผ
- ๆฐๅญฆ้ข็ญๆกๆญฃ็กฎๆง้ช่ฏ๏ผGround Truthๅฏนๆฏ๏ผ
- SQLๆง่กๆๅ็ไธ็ปๆๅ็กฎๆง
- ไปฃ็ ่งฃ้ๅจ่ฟ่ก็ปๆ๏ผpass@k๏ผ
- ๅทฅๅ ท่ฐ็จ่ฟๅ็ถๆ๏ผAPIๆๅ/ๅคฑ่ดฅ๏ผ
- ๆ ผๅผๅ่งๆงๆฃๆฅ๏ผJSON/XML่งฃๆ๏ผ
- ๆจ็้พๅฎๆดๆง่ฏไผฐ๏ผCoTๆญฅ้ชคๆฐ๏ผ
-
Environment-basedๅฅๅฑ๏ผๅจAgentๅบๆฏไธญ๏ผ็ฏๅขๅ้ฆๆฌ่บซๅณไธบๅคฉ็ถๅฅๅฑ๏ผๅฆๆธธๆๅพๅใResearchๅฎๆดๅบฆใไปปๅกๅฎๆๅบฆ๏ผใ
ไปปไฝ่ฝๅค้ๅ"ๅ็ญ่ดจ้"็ๆบๅถ้ฝๅฏไฝไธบRL็ๅฅๅฑๆฅๆบใDeepSeek R1ๅฐฑๆฏๅ ธๅๆกไพ๏ผไฝฟ็จ่งๅๅฝๆฐ้ช่ฏๆฐๅญฆ็ญๆกๆญฃ็กฎๆงไฝไธบๅฅๅฑ๏ผๆ ้้ขๅค็Reward Modelใ
2. MiniMind้ๅถ๏ผๅฅๅฑ็จ็้ฎ้ข
RLAIF่ฎญ็ปๆขๅฏไปฅ้ๅฏนๆจ็ๆจกๅไนๅฏไปฅ้ๅฏน้ๆจ็ๆจกๅ๏ผๅบๅซไป ๅจไบๆ ผๅผใ
็ถ่ๅฏนไบ MiniMind ่ฟ็ง 0.1B ๅๆฐ้ใ่ฝๅ่พๅผฑ็ๆจกๅ๏ผๅจ้็จไปปๅก๏ผๅฆ R1 ้ฃๆ ผ็ๆฐๅญฆๆฐๆฎ้๏ผไธไผ้ๅฐไธฅ้็ๅฅๅฑ็จ็๏ผReward Sparsity๏ผ้ฎ้ข๏ผ
-
็ฐ่ฑก๏ผๆจกๅ็ๆ็ๅ้ๅ็ญๅ ไนๅ
จ้จ้่ฏฏ๏ผๅฏผ่ดๆๆๅฅๅฑๅๆฐ
$r(x,y) \approx 0$ -
ๅๆ๏ผไผๅฟๅฝๆฐ
$A(x,y) = r(x,y) - b(x) \approx 0$ ๏ผ็ญ็ฅๆขฏๅบฆไฟกๅทๆถๅคฑ๏ผๆ ๆณๆๆๆดๆฐๅๆฐ$\theta$
ๅฆๅ่ฎฉๅฐๅญฆ็ๅ้ซ่ๆฐๅญฆ้ข๏ผๆ ่ฎบๅฐ่ฏๅคๅฐๆฌก้ฝๅพ้ถๅ๏ผๆ ๆณ้่ฟๅๆฐๅทฎๅผๅญฆไน ๆน่ฟ็ญ็ฅใ่ฟๅฑไบ RL ็ฎๆณๅจๅฅๅฑ็จ็ๅบๆฏไธ็ๆ นๆฌ้ๅถใ
ไธบ็ผ่งฃๆญค้ฎ้ข๏ผMiniMind็ๅฎ็ฐ้ๆฉไบmodel-based็่ฟ็ปญๆงๅฅๅฑไฟกๅท๏ผ
- Reward Model่พๅบ่ฟ็ปญๅๆฐ๏ผๅฆ-2.5ๅฐ+3.0๏ผ๏ผ่้ไบๅ ็0/1
- ๅณไฝฟๅ็ญ่ดจ้้ฝๅทฎ๏ผไนไป่ฝๅบๅโๆดๅทฎโ(-3.0)ๅโๆฒก้ฃไนๅทฎโ(-2.8)็็ปๅพฎๅทฎๅผใๆไปฅ่ฟ็ง็จ ๅฏไธ่ฟ็ปญ็ๅฅๅฑไฟกๅท่ฝๅคไธบไผๅฟๅฝๆฐ
$A(x,y)$ ๆไพ้้ถๆขฏๅบฆ๏ผไฝฟๅพ็ญ็ฅ็ฝ็ปๅพไปฅๆธ่ฟๅผไผๅ - ไนๅฏไปฅๆททๅๅค็งๅฅๅฑๆบ:
$r_{\text{total}} = \alpha \cdot r_{\text{model}} + \beta \cdot r_{\text{rule}}$ (ไพๅฆๆขๅฏไปฅๆฃๆต thinking ๆ ็ญพๆ ผๅผๅฅๅฑ๏ผๅๅฏไปฅ็ปผๅๅ็ญๆฌ่บซ่ดจ้็ reward ๅๆฐ) - MiniMind ๅฎ่ทตไธญ้ฟๅ ็ดๆฅไฝฟ็จ rule-based ไบๅ ๅฅๅฑ + ่ถ ็บฒ้พๅบฆๆฐๆฎ๏ผๅฆ MATH500๏ผ๏ผๆๅฏผ่ดๅฅๅฑๅ จ้ถ๏ผ
- ็ๆง่ฎญ็ปๆถ่งๅฏๅฅๅฑๅๆฐ็ๆนๅทฎ
$\text{Var}(r)$ ๏ผ่ฅๆ็ปญๆฅ่ฟ0ๅ้่ฐๆดๆฐๆฎๆๅฅๅฑๆบๅถ
ๅฏนไบ็ไบง็บงๅคงๆจกๅ็Agentic RLๅบๆฏ๏ผ
ๅจ็ๅฎAgent็ณป็ป๏ผไปฃ็ ็ๆใๅทฅๅ ท่ฐ็จใๆฃ็ดข-่งๅ-ๆง่ก็ๅค่ฝฎ้พ่ทฏ๏ผไธญ๏ผๅฅๅฑๆฏโๅปถ่ฟๆด่ฝฎ็ป็ฎโ็ไธๅ่ๅผ๏ผ
- LLM้่ฆ้token็ๆๅทฅๅ ท่ฐ็จๆไปค๏ผtool_call๏ผ๏ผ็ปๅ่งฃๆ๏ผtool_parse๏ผใๅทฅๅ ทๆง่ก๏ผtool_exec๏ผ๏ผๅๆ็ปๆๆผๆฅๅไธไธๆ็ปง็ปญไธไธๆญฅ๏ผๅพช็ฏๅพๅค็ดๅฐๅฎๆใ
- ไธๆฌกๅฎๆด็ไปปๅก้พ่ทฏๅ ๅซๅคๆฌก่ฐ็จ+ๆ่๏ผ็ดๅฐ็ปๆญขๆกไปถๆปก่ถณๆถ่ฎก็ฎไธๆฌกๆปreward๏ผๅฆไปปๅกๆฏๅฆๅฎๆใๆต่ฏๆฏๅฆ้่ฟใ็ฎๆ ๆฏๅฆๅฝไธญ๏ผใ
ๅ ๆญค๏ผAgentic RLๆดๆฅ่ฟ็จ็/ๅปถ่ฟๅฅๅฑ่ฎพๅฎ๏ผๆขฏๅบฆๅไผ ๅจโๆด่ฝฎ็ปๆๅโๆๅ็๏ผๅ้Agentic RLไปปๅกๅจๅฏน่ฏๅ่ฝฎไธโๅณๆถ่ฏๅๅณๆถๆดๆฐโๆๅพๅคงไธๅใ ่ฟไน่งฃ้ไบAgentไปปๅกไธๆดๅๅ็ฏๅขๅ้ฆ๏ผenvironment-based reward๏ผ๏ผ่้ๅญReward Model่ฟ่ก้ๆๆๅใ
- ็ฏๅขไบคไบๅ้ฆ๏ผๆ็ปไปฅๆง่ก็ปๆไธบๅ๏ผไปฃ็ ๆฏๅฆ่ท้ใAPIๆฏๅฆ่ฟๅๆๅใๅญ็ฎๆ ๆฏๅฆๅฎๆ๏ผ๏ผ
- Model-basedๅฅๅฑๅฑ้๏ผๅฏน้ฟ้พ่ทฏใๅฏๆง่ก่ฏญไน็ๅ จ่ฒๆๆๆ้๏ผไธๅคงๆฆ็ๅ็ๅฎ็ฏๅขๅ้ฆไธไธ่ด๏ผreward hacking๏ผใ
PPO ๆฏ 2017 ๅนด OpenAI ๆๅบ็้ๅธธ็ปๅ ธ็ๅผบๅๅญฆไน ็ฎๆณ๏ผไนๆฏ LLM RL ้ขๅๆๅธธ่ง็ๅบ็บฟๆนๆณไนไธใ
PPOๆๅคฑ๏ผ
ๅ ถไธญ๏ผ
-
็ญ็ฅ้กน:
$f(r_t) = \min(r_t, \text{clip}(r_t, 1-\varepsilon, 1+\varepsilon))$ (่ฃๅชๆฆ็ๆฏ้ฒๆญขๆดๆฐ่ฟๆฟ) -
ไผๅฟ้กน:
$g(A_t) = R - V(s)$ (้่ฟCritic็ฝ็ปไผฐ่ฎกไปทๅผๅฝๆฐ) -
ๆญฃๅ้กน:
$h(\text{KL}_t) = \beta \cdot \mathbb{E}[\text{KL}]$ (ๅ จๅฑKLๆฃๅบฆ็บฆๆ)
ๅฏนๆฏDPO่่จ๏ผ
- DPO (Off-Policy)๏ผ่ฎญ็ปๆฐๆฎๆฏ้ๆๅๅฅฝๅฏน๏ผchosen vs rejected๏ผ๏ผๅฏไปฅๅๅคไฝฟ็จๅไธๆนๆฐๆฎ่ฎญ็ปๅคไธช epoch๏ผๅไผ ็ป็็ฃๅญฆไน ไธๆ ทใๆฐๆฎๆ็้ซใๆๆฌไฝ๏ผไธๆ ้ Reward Modelใ
- PPO (On-Policy)๏ผๅฟ ้กป็จๅฝๅ็ญ็ฅๅฎๆถ้ๆ ทๆฐๆฐๆฎ๏ผๆง็ญ็ฅๆฐๆฎๅช่ฝๆ้ๅค็จ๏ผๅฆๅๅฐฑไผๅบ็ฐ distribution shiftใ่ฝ็ถ importance sampling ๅ clip ๅ ่ฎธ่ฝปๅพฎๅ็งป๏ผไฝๆฌ่ดจไธไป่ฆๆฑๆฐๆฎๆฅ่ช่พๆฐ็็ญ็ฅใๆฐๆฎๆ็ๆดไฝ๏ผไฝๆด้ๅๆข็ดขๅผๅญฆไน ใ
็ฎๅๆฅ่ฏด๏ผ
- ๅ่ ๆ็ฆป็บฟ้ขๅฎ็ใๅฅฝ/ๅๆ ๅใๅญฆไน ๏ผ
- ๅ่ ๅๅบไบๆๆฐ policy ๅจ็บฟ้ๆ ทๅนถๅฎๆถ็บ ๅใ
MiniMind ็ PPO ๅฎ็ฐๅ ๅซ Actor๏ผ็ๆๅ็ญ๏ผใCritic๏ผ่ฏไผฐๅ็ญไปทๅผ๏ผไปฅๅๅฎๆด็ GAE๏ผGeneralized Advantage Estimation๏ผไผๅฟๅฝๆฐ่ฎก็ฎใ
่ฎญ็ปๆนๅผ๏ผ
# ๆนๅผ1
torchrun --nproc_per_node N train_ppo.py
# ๆนๅผ2
python train_ppo.py่ฎญ็ปๅ็ๆจกๅๆ้ๆไปถ้ป่ฎคๆฏ้
save_intervalๆญฅไฟๅญไธบ:ppo_actor_*.pth๏ผ*ไธบๆจกๅๅ ทไฝdimension๏ผ
MiniMind ๅจ PPO ่ฎญ็ป้ถๆฎต็ไผๅ่ตฐๅฟ
ไป่ฎญ็ปๆฒ็บฟๅฏไปฅ็ๅบ๏ผPPOๅญๅจrewardๆๅ็ผๆ ข็้ฎ้ขใ็งไปฅไธบ่ฟไธป่ฆๆบไบPPOๅ็ฝ็ป่ๅไผๅๆนๆณ๏ผCritic้่ฆ้ๆญฅๆถๆไปฅๅ็กฎไผฐ่ฎกไปทๅผๅฝๆฐ๏ผ่Actor็็ญ็ฅๆดๆฐไพ่ตCriticๆไพ็ไผๅฟไผฐ่ฎก๏ผไธค่ ็ธไบไพ่ตๅฝขๆๅคๆ็ไผๅ่ฟ็จใ่ฎญ็ปๅๆCriticไผฐ่ฎกไธๅไผๅฝฑๅActorๆขฏๅบฆๆนๅ๏ผๅฏผ่ดๆดไฝๆถๆ็ผๆ ขใๆญคๅค๏ผPPO ้่ฆๅๆถ็ปดๆคไธคไธช็ฝ็ป๏ผๅจๅฝๅๅฎ็ฐไธๆพๅญๅ ็จ็บฆไธบๅ็ฝ็ปๆนๆณ็ 1.5โ2 ๅใ
2025 ๅนดๅ๏ผ้็ DeepSeek-R1 ็ซ็ๅบๅ๏ผๆฅ่ช DeepSeekMath ่ฎบๆ็ GRPO ไน่ฟ ้่ฟๅ ฅไธปๆต่ง้๏ผไธๅบฆๆไธบๆๅๅ ณๆณจ็ RL ็ฎๆณไนไธใไธ่ฟ AI ้ขๅๅๆฅ่ฟญไปฃๆๅฟซใๆถ่ณไปๆฅ๏ผGRPO ๆดๅคๅทฒ็ปๆผๅๆๅ็ฑป XXPO ๅไฝ๏ผๅฆ DAPOใGSPOใCISPO ็ญ๏ผ็ๅ ฑๅๅบ็บฟใไธๅฅ่ฏๆฆๆฌๅฎ็ๆ ธๅฟๅๆฐ๏ผๅฐฑๆฏโๅ็ป็ธๅฏนไปทๅผไผฐ่ฎกโใ
GRPOๆๅคฑ๏ผ
(README truncated)








