偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Unsloth:僅需7GB顯存就能訓(xùn)練自己的DeepSeek-R1!

發(fā)布于 2025-2-11 13:48
瀏覽
0收藏

隨著 LLM 應(yīng)用的廣泛普及,如何提高模型的推理效率并降低資源消耗成為了技術(shù)發(fā)展中的一大挑戰(zhàn)。Unsloth 通過引入多個(gè)強(qiáng)化學(xué)習(xí)(RL)算法和最新的量化技術(shù),顯著提高了 LLM 在推理和微調(diào)過程中的性能,并大幅降低了顯存消耗。

Unsloth:僅需7GB顯存就能訓(xùn)練自己的DeepSeek-R1!-AI.x社區(qū)

DeepSeek 的研究人員在用純強(qiáng)化學(xué)習(xí)(RL)訓(xùn)練 R1-Zero 時(shí)觀察到了一個(gè)“靈光一現(xiàn)”的時(shí)刻。模型學(xué)會(huì)了通過重新評(píng)估最初的思路來延長思考時(shí)間,而無需任何人工指導(dǎo)或預(yù)定義指令。

Unsloth 對整個(gè) GRPO 過程進(jìn)行了增強(qiáng),使其比 Hugging Face + FA2 減少了 80% 的顯存使用。這意味著我們可以使用 7GB 顯存,通過Qwen2.5(1.5B)復(fù)現(xiàn)了 R1-Zero “靈光一現(xiàn)”的時(shí)刻。

主要細(xì)節(jié)  

使用15GB顯存,Unsloth 允許我們將任何最多 15B 參數(shù)的模型(如Llama 3.1(8B)、Phi-4(14B)、Mistral(7B)或 Qwen2.5(7B))轉(zhuǎn)變?yōu)橥评砟P汀?/p>

最低要求:僅需 7GB 顯存即可在本地訓(xùn)練自己的推理模型。

Tiny-Zero 的團(tuán)隊(duì)展示了如何用 Qwen2.5(1.5B)復(fù)現(xiàn) R1-Zero “靈光一現(xiàn)”的時(shí)刻——但之前需要2個(gè)A100 GPU(160GB顯存)。而現(xiàn)在,通過 Unsloth,我們只需一個(gè) 7GB 顯存的 GPU 即可實(shí)現(xiàn)同樣的效果。

請注意,這不是對 DeepSeek 的 R1 精煉模型進(jìn)行微調(diào),也不是使用 R1 的精煉數(shù)據(jù)進(jìn)行微調(diào),而是通過 GRPO 將標(biāo)準(zhǔn)模型轉(zhuǎn)換為一個(gè)完整的推理模型。

這種魔法可以通過 GRPO 重新創(chuàng)建,GRPO 是一種強(qiáng)化學(xué)習(xí)(RL)算法,能夠高效優(yōu)化響應(yīng),而不需要值函數(shù),這與依賴值函數(shù)的近端策略優(yōu)化(PPO)不同。在我們的筆記本中,我們使用 GRPO 訓(xùn)練一個(gè)模型,旨在使其自主開發(fā)自我驗(yàn)證和搜索能力——?jiǎng)?chuàng)造一個(gè)迷你“靈光一現(xiàn)”時(shí)刻。

工作原理:

  1. 模型生成一組響應(yīng)。
  2. 每個(gè)響應(yīng)根據(jù)正確性或由某個(gè)獎(jiǎng)勵(lì)函數(shù)創(chuàng)建的其他度量標(biāo)準(zhǔn)進(jìn)行評(píng)分,而不是使用 LLM 獎(jiǎng)勵(lì)模型。
  3. 計(jì)算該組的平均得分。
  4. 將每個(gè)響應(yīng)的得分與該組平均得分進(jìn)行比較。
  5. 強(qiáng)化模型,使其傾向于選擇得分更高的響應(yīng)。

例如,假設(shè)我們希望模型解決以下問題:

1+1 等于多少? >> 思考鏈/推理過程 >> 答案是2。

2+2 等于多少?>> 思考鏈/推理過程 >> 答案是4。

最初,必須收集大量數(shù)據(jù)來填充推理過程。但 GRPO(DeepSeek 使用的算法)或其他 RL 算法可以引導(dǎo)模型自動(dòng)展示推理能力并生成推理痕跡。相反,我們需要?jiǎng)?chuàng)建良好的獎(jiǎng)勵(lì)函數(shù)或驗(yàn)證器。例如,如果答案正確,就給它打 1 分;如果有拼寫錯(cuò)誤,扣 0.1 分,依此類推!我們可以提供許多獎(jiǎng)勵(lì)過程的函數(shù)。

GRPO 在 Unsloth 中的應(yīng)用  

如果你在本地使用 GRPO 與 Unsloth,請確保“pip install diffusers”,因?yàn)樗且粋€(gè)依賴項(xiàng)。

等待至少 300 步才能看到獎(jiǎng)勵(lì)的實(shí)際增長,請使用最新版本的 vLLM。為了獲得良好的結(jié)果,你需要訓(xùn)練至少 12 小時(shí)(這就是 GRPO 的工作方式),但請記住,這不是強(qiáng)制性的,你可以隨時(shí)停止。

建議將 GRPO 應(yīng)用于至少 1.5B 參數(shù)的模型,以便正確生成思考 token,因?yàn)檩^小的模型可能無法做到。如果你使用的是基礎(chǔ)模型,請確保擁有聊天模板。GRPO 的訓(xùn)練損失追蹤功能現(xiàn)在已直接內(nèi)置于 Unsloth 中,無需像 wandb 等外部工具。

Unsloth:僅需7GB顯存就能訓(xùn)練自己的DeepSeek-R1!-AI.x社區(qū)

除了增加 GRPO 支持外,Unsloth 隨后還支持了在線 DPO、PPO 和 RLOO!請查看下圖,比較 Unsloth 的在線 DPO 顯存消耗與標(biāo)準(zhǔn) Hugging Face + FA2 的差異。

Unsloth:僅需7GB顯存就能訓(xùn)練自己的DeepSeek-R1!-AI.x社區(qū)

Unsloth x vLLM  

20 倍吞吐量,節(jié)省 50% 顯存。

現(xiàn)在,你可以直接在微調(diào)堆棧中使用 vLLM,這大大提高了吞吐量,并且允許你在同一時(shí)間進(jìn)行微調(diào)和推理!在 1x A100 40GB 顯卡上,使用 Unsloth 的動(dòng)態(tài) 4bit 量化的 Llama 3.2 3B Instruct,預(yù)期吞吐量約為 4000 tokens/s。在 16GB 的Tesla T4(免費(fèi) Colab GPU)上,你可以獲得約 300 tokens/s 的吞吐量。

Unsloth 去除了加載 vLLM 和 Unsloth 時(shí)的雙倍內(nèi)存使用,從而節(jié)省了約 5GB 的顯存(對于 Llama 3.1 8B)和 3GB 的顯存(對于 Llama 3.2 3B)。原本,Unsloth 可以在 1x 48GB GPU 上微調(diào) Llama 3.3 70B Instruct,其中 Llama 3.3 70B 的權(quán)重占用了 40GB 的顯存。如果不去除雙倍內(nèi)存使用,當(dāng)加載 Unsloth 和 vLLM 一起使用時(shí),我們將需要至少 80GB 的顯存。

但是使用 Unsloth,我們?nèi)匀豢梢栽诓坏?48GB 顯存的情況下,同時(shí)享受微調(diào)和快速推理的好處!要使用快速推理,首先安裝 vllm,并通過 fast_inference 實(shí)例化 Unsloth:

# pip install unsloth vllm
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "unsloth/Llama-3.2-3B-Instruct",
    fast_inference = True,
)
model.fast_generate(["Hello!"])

什么是 GRPO?  

GRPO(Group Relative Policy Optimization,群體相對策略優(yōu)化)是一種強(qiáng)化學(xué)習(xí)(RL)算法,旨在優(yōu)化模型的響應(yīng)質(zhì)量,而不依賴傳統(tǒng)的值函數(shù)。這種算法通過一種群體相對優(yōu)化方法,對模型的每個(gè)生成的響應(yīng)進(jìn)行評(píng)分,并根據(jù)這些評(píng)分來引導(dǎo)模型的學(xué)習(xí)過程。

具體來說,GRPO 算法的主要特點(diǎn)如下:

  1. 無值函數(shù):與依賴值函數(shù)的強(qiáng)化學(xué)習(xí)算法(如PPO)不同,GRPO 不使用值函數(shù)來評(píng)估狀態(tài)或行為的質(zhì)量,而是通過對模型輸出的響應(yīng)進(jìn)行評(píng)分,并基于這些評(píng)分來優(yōu)化模型。
  2. 響應(yīng)評(píng)分與群體平均:在 GRPO 中,模型生成一組可能的響應(yīng),每個(gè)響應(yīng)都會(huì)根據(jù)正確性或其他預(yù)定義的獎(jiǎng)勵(lì)函數(shù)進(jìn)行評(píng)分。然后,計(jì)算這些響應(yīng)的平均得分,并將每個(gè)響應(yīng)的得分與群體平均得分進(jìn)行比較。模型會(huì)得到強(qiáng)化,傾向于生成得分較高的響應(yīng)。
  3. 自我優(yōu)化:GRPO 能夠幫助模型自主地進(jìn)行推理和自我驗(yàn)證。例如,模型可以在沒有人工干預(yù)的情況下,通過不斷調(diào)整思維過程來提高推理結(jié)果的準(zhǔn)確性。
  4. 適用于多種任務(wù):GRPO 不僅可以用于常見的分類任務(wù),也可以應(yīng)用于更復(fù)雜的任務(wù),如生成具有自我驗(yàn)證和推理能力的模型(例如,解答問題時(shí)展示推理過程)。

總的來說,GRPO通過強(qiáng)化學(xué)習(xí)的方式,不僅優(yōu)化模型的回答,還能改善其推理過程,使模型在沒有人工反饋的情況下,能夠不斷自我改進(jìn),從而在處理復(fù)雜任務(wù)時(shí)展現(xiàn)出更強(qiáng)的推理能力。

本文轉(zhuǎn)載自 ??PyTorch研習(xí)社??,作者: 南七無名式

收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦