您可以使用Tinker和Tinker Cookbook輕鬆微調大型語言模型(LLM),以滿足您的特定需求,而無需管理複雜的培訓基礎設施。Tinker負責分布式培訓並使用高效的LoRA適配器來降低成本並加快定製速度。Cookbook為聊天、數學推理和強化學習等任務提供了現成的示例和工具,幫助您快速構建和改進人工智慧模型。
基於 思考機器實驗室/修補鍋食譜 存儲庫中,本文選擇了四個最基本、最重要、最有幫助的例子,這四個例子對理解Tinker培訓理念:
SL循環、RL循環、SL Basic、RL Basic。
Tinker是一個輕量級但功能強大的框架,用於模型訓練和微調,強調 「透明的訓練循環」 和 「可配置的培訓流程」.
如果您想真正了解LLM是如何訓練的,這四個例子足以作為切入點。
1. sl_loop.py:從頭開始編寫監督學習(SL)訓練循環
路徑:tinker_cookbook/recipes/sl_loop.py
為什麼這個例子很重要?
它顯示了訓練 最純粹的循環 形式,沒有任何魔法,沒有隱藏的邏輯,只有這樣的幾件事:
- 正演計算
- 計算損失
- 落後
- 優化器更新(步驟)
- 保存狀態(Save_State)
換句話說,這是您在PyTorch中手工編寫的最小訓練代碼的Tinker版本。
這個例子是給誰的?
- 我想看看 修補匠概括了訓練循環
- 想要了解培訓過程背後最現實的運作方式
- 想要擴大損失、指標、日誌的開發人員自己
這個例子非常「原創」,但因此是最有教育意義的。
2. rl_loop.py:從頭開始編寫強化學習(RL)訓練循環
路徑:tinker_cookbook/recipes/rl_loop.py
為什麼這個例子很重要?
強化學習(RL)通常是微調語言模型的關鍵部分,例如:
- 改善模型對齊
- 優化模型響應的質量
- 使模型更好地按照指令輸出
在這個示例中,您可以看到一個簡單但完整的RL循環,其中包括:
- 樣品
- 計算獎勵
- 策略更新
這是SFT & WLHF或「監督微調&增強微調」結構的必須理解的部分。
這個例子可以幫助您:
- 了解HLHF的低級邏輯
- 了解策略疊代和回報建模的基本概念
- 為PPO等更複雜的RL培訓奠定基礎
3. sl_basic.py:通過配置完成有監督的微調過程
路徑:tinker_cookbook/recipes/sl_basic.py
要點:從「筆跡」到「陳述性訓練」
sl_loop.py 如果是「自己寫訓練周期」,
sl_basic.py 那麼就是:
你只需要寫一個配置,Tinker就會自動完成訓練。
這也是Tinker的核心設計理念:
- 培訓流程可讀
- 訓練步驟是分開的
- 通過統一的Runner控制整個生命周期
在這個例子中,您可以看到:
- 如何定義數據集
- 如何加載標記器和模型
- 如何設置訓練參數(批次、LR、epochs)
- 如何運行和保存結果
這更像是您在項目中實際使用的培訓方法。
4. rl_basic.py:聲明性強化學習訓練過程
路徑:tinker_cookbook/recipes/rl_basic.py
該示例類似於 sl_basic.py 但表明:
如何通過「配置」完成強化學習訓練(例如獎勵策略優化)。
rl_loop.py 與手寫循環相比,該版本顯示:
- 如何定義RL的政策
- 如何設置獎勵功能/抽樣策略
- 如何配置疊代的步驟數
- 如何使用Runner順利運行整個RL流程
您可以將其視為 RL培訓的實用版本,更接近實際項目。
四個例子之間的關係(一句話總結)
- sl_loop.py:最小的SFT訓練循環(完全手寫)
- rl_loop.py:最小RL循環(完全手寫)
- sl_basic.py:聲明性/自動SFT(適用於實際項目)
- rl_basic.py:聲明性/自動RL(將其用於實際RL)
如果您想了解路線,我建議遵循以下順序:
1 - 2(首先了解底層邏輯)
3 - 4(重新學習自動化培訓方法)
這樣,您對模型訓練的理解就是「自下而上」的。
總結
《Tinker Cookbook》中的這四個例子構成了極簡主義但完整的模型訓練框架的核心:
| 例如 | 類型 | 困難 | 用途: |
|---|---|---|---|
| sl_loop.py | SL手寫循環 | ⭐⭐ | 了解低級培訓流程 |
| rl_loop.py | RL手寫循環 | ⭐⭐⭐ | 了解RL HF基礎知識 |
| sl_basic.py | SL聲明培訓 | ⭐ | 實際項目推薦 |
| rl_basic.py | RL陳述性培訓 | ⭐⭐ | 實用RL微調 |
如果您將來想自己訓練和微調模型,這四個例子幾乎是「必修的」。
GitHub:https://github.com/thinking-machines-lab/tinker-cookbook
管材: