LLMs之DeepSeek:DeepSeek-R1的簡(jiǎn)介、安裝和使用方法、案例應(yīng)用之詳細(xì)攻略
目錄
LLMs之MoE之DeepSeek-V3:DeepSeek-V3的簡(jiǎn)介、安裝和使用方法、案例應(yīng)用之詳細(xì)攻略-CSDN博客
https://yunyaniu.blog.csdn.net/article/details/145293767
2025年1月20日,正式發(fā)布 DeepSeek-R1,并同步開源模型權(quán)重。DeepSeek-R1是 DeepSeek 推出的第一代推理模型,它包含兩個(gè)主要版本:DeepSeek-R1-Zero 和 DeepSeek-R1。DeepSeek-R1-Zero 和 DeepSeek-R1 基于 DeepSeek-V3-Base 進(jìn)行訓(xùn)練。有關(guān)模型架構(gòu)的更多詳細(xì)信息,請(qǐng)參閱DeepSeek-V3存儲(chǔ)庫(kù)。
>> DeepSeek-R1-Zero:這是一個(gè)通過(guò)大規(guī)模強(qiáng)化學(xué)習(xí)?(RL) 訓(xùn)練的模型,無(wú)需預(yù)先進(jìn)行監(jiān)督微調(diào) (SFT)。它在推理方面表現(xiàn)出色,展現(xiàn)出自我驗(yàn)證、反思和生成長(zhǎng)鏈思維?(CoT) 等能力。然而,它也存在一些問(wèn)題,例如無(wú)限重復(fù)、可讀性差和語(yǔ)言混合。
>> DeepSeek-R1:為了解決 DeepSeek-R1-Zero 的問(wèn)題并進(jìn)一步提升推理性能,DeepSeek-R1在 RL 訓(xùn)練之前加入了冷啟動(dòng)數(shù)據(jù)。其性能與 OpenAI-o1 在數(shù)學(xué)、代碼和推理任務(wù)上相當(dāng)。
● DeepSeek-R1 遵循 MIT License,允許用戶通過(guò)蒸餾技術(shù)借助 R1 訓(xùn)練其他模型。
● DeepSeek-R1 上線 API,對(duì)用戶開放思維鏈輸出,通過(guò)設(shè)置 model='deepseek-reasoner' 即可調(diào)用。
● DeepSeek 官網(wǎng)與 App 即日起同步更新上線。
此外,項(xiàng)目還開源了 DeepSeek-R1-Zero、DeepSeek-R1,以及六個(gè)基于 Llama 和 Qwen 蒸餾出的密集模型 (DeepSeek-R1-Distill 模型)。其中,DeepSeek-R1-Distill-Qwen-32B 在多個(gè)基準(zhǔn)測(cè)試中超越了 OpenAI-o1-mini,在密集模型中取得了新的最先進(jìn)結(jié)果。
GitHub地址:GitHub - deepseek-ai/DeepSeek-R1
方法 | 意義 | |
后訓(xùn)練階段 | 后訓(xùn)練階段:直接在基礎(chǔ)模型上應(yīng)用強(qiáng)化學(xué)習(xí)(RL),不依賴于監(jiān)督式微調(diào)(SFT)作為初步步驟。這種方法使模型能夠探索解決復(fù)雜問(wèn)題的鏈?zhǔn)剿季S(CoT),從而發(fā)展出DeepSeek-R1-Zero。 提出了開發(fā) DeepSeek-R1 的流程: >> 兩個(gè)RL階段:發(fā)現(xiàn)更優(yōu)的推理模式并對(duì)齊人類偏好。 >> 兩個(gè)SFT階段:為模型的推理和非推理能力提供初始種子。 | 模型可以探索鏈?zhǔn)剿伎?#xff08;CoT),用于解決復(fù)雜問(wèn)題。 >> 開發(fā)了 DeepSeek-R1-Zero,具備自我驗(yàn)證、反思及生成長(zhǎng)鏈?zhǔn)剿伎?/span>的能力。 >> 首次通過(guò)研究驗(yàn)證了大型語(yǔ)言模型的推理能力可以純粹通過(guò)RL激勵(lì)實(shí)現(xiàn),無(wú)需SFT。 >> 為未來(lái)研究提供了突破性的方向。該流程可以幫助行業(yè)開發(fā)更優(yōu)質(zhì)的模型。 |
蒸餾 | 蒸餾:小模型也能發(fā)揮強(qiáng)大作用。 大模型的推理模式可以通過(guò)蒸餾傳遞到小模型中,性能優(yōu)于直接在小模型上通過(guò)RL發(fā)現(xiàn)的推理模式。 >> 使用 DeepSeek-R1?生成的推理數(shù)據(jù),微調(diào)了多個(gè)在研究社區(qū)中廣泛使用的稠密模型。 >> 評(píng)估結(jié)果表明,蒸餾后的較小稠密模型在基準(zhǔn)測(cè)試中表現(xiàn)卓越。 | >> DeepSeek-R1及其API為研究社區(qū)提供了蒸餾更優(yōu)秀小模型的基礎(chǔ)。 >> 向社區(qū)開源了基于 Qwen2.5 和 Llama3 系列的以下模型檢查點(diǎn): - 1.5B、7B、8B、14B、32B 和 70B。 |
README 中提供了 DeepSeek-R1在多個(gè)基準(zhǔn)測(cè)試上的評(píng)估結(jié)果,涵蓋了英語(yǔ)和中文的各種推理、代碼和數(shù)學(xué)任務(wù)。 這些結(jié)果表明 DeepSeek-R1在這些任務(wù)上取得了與 OpenAI-o1 相當(dāng)甚至更好的性能。 具體來(lái)說(shuō),它在以下基準(zhǔn)測(cè)試中表現(xiàn)出色:
英語(yǔ):MMLU, MMLU-Redux, MMLU-Pro, DROP, IF-Eval, GPQA-Diamond, SimpleQA, FRAMES, AlpacaEval2.0, ArenaHard
代碼:LiveCodeBench, Codeforces, SWE Verified, Aider-Polyglot
數(shù)學(xué):AIME 2024, MATH-500, CNMO 2024
中文:CLUEWSC, C-Eval, C-SimpleQA
DeepSeek-R1 在后訓(xùn)練階段大規(guī)模使用了強(qiáng)化學(xué)習(xí)技術(shù),在僅有極少標(biāo)注數(shù)據(jù)的情況下,極大提升了模型推理能力。在數(shù)學(xué)、代碼、自然語(yǔ)言推理等任務(wù)上,性能比肩 OpenAI o1 正式版。
在此,我們將 DeepSeek-R1 訓(xùn)練技術(shù)全部公開,以期促進(jìn)技術(shù)社區(qū)的充分交流與創(chuàng)新協(xié)作。
論文鏈接: DeepSeek-R1/DeepSeek_R1.pdf at main · deepseek-ai/DeepSeek-R1 · GitHub
我們?cè)陂_源 DeepSeek-R1-Zero 和 DeepSeek-R1 兩個(gè) 660B 模型的同時(shí),通過(guò) DeepSeek-R1 的輸出,蒸餾了 6 個(gè)小模型開源給社區(qū),其中 32B 和 70B 模型在多項(xiàng)能力上實(shí)現(xiàn)了對(duì)標(biāo) OpenAI o1-mini 的效果。
HuggingFace 鏈接: https://huggingface.co/deepseek-ai
將溫度設(shè)置為 0.5-0.7 之間(推薦 0.6),以防止無(wú)限重復(fù)或輸出不連貫。
避免添加系統(tǒng)提示;所有指令都應(yīng)包含在用戶提示中。
對(duì)于數(shù)學(xué)問(wèn)題,建議在提示中包含指令,例如:“將最終答案放在 \boxed{} 中”。
評(píng)估模型性能時(shí),建議進(jìn)行多次測(cè)試并平均結(jié)果。
為了推動(dòng)和鼓勵(lì)開源社區(qū)以及行業(yè)生態(tài)的發(fā)展,在發(fā)布并開源 R1 的同時(shí),我們同步在協(xié)議授權(quán)層面也進(jìn)行了如下調(diào)整:
模型開源 License 統(tǒng)一使用 MIT。我們?cè)槍?duì)大模型開源的特點(diǎn),參考當(dāng)前行業(yè)的通行實(shí)踐,特別引入 DeepSeek License 為開源社區(qū)提供授權(quán),但實(shí)踐表明非標(biāo)準(zhǔn)的開源 License 可能反而增加了開發(fā)者的理解成本。為此,此次我們的開源倉(cāng)庫(kù)(包括模型權(quán)重)統(tǒng)一采用標(biāo)準(zhǔn)化、寬松的 MIT License,完全開源,不限制商用,無(wú)需申請(qǐng)。
產(chǎn)品協(xié)議明確可“模型蒸餾”。為了進(jìn)一步促進(jìn)技術(shù)的開源和共享,我們決定支持用戶進(jìn)行“模型蒸餾”。我們已更新線上產(chǎn)品的用戶協(xié)議,明確允許用戶利用模型輸出、通過(guò)模型蒸餾等方式訓(xùn)練其他模型。
模型下載:DeepSeek-R1 和 DeepSeek-R1-Distill 模型都可以在 Hugging Face 上下載。
模型 | #總參數(shù) | #已激活參數(shù) | 上下文長(zhǎng)度 | 下載 |
---|---|---|---|---|
DeepSeek-R1-Zero | 671B | 37B | 128千 | 🤗 HuggingFace |
DeepSeek-R1 | 671B | 37B | 128千 | 🤗 HuggingFace |
DeepSeek-R1-Zero 和 DeepSeek-R1 基于 DeepSeek-V3-Base 進(jìn)行訓(xùn)練。有關(guān)模型架構(gòu)的更多詳細(xì)信息,請(qǐng)參閱DeepSeek-V3存儲(chǔ)庫(kù)。
模型 | 基礎(chǔ)模型 | 下載 |
---|---|---|
DeepSeek-R1-Distill-Qwen-1.5B | Qwen2.5-數(shù)學(xué)-1.5B | 🤗 HuggingFace |
DeepSeek-R1-Distill-Qwen-7B | Qwen2.5-Math-7B | 🤗 HuggingFace |
DeepSeek-R1-Distill-Llama-8B | 駱駝-3.1-8B | 🤗 HuggingFace |
DeepSeek-R1-Distill-Qwen-14B | Qwen2.5-14B | 🤗 HuggingFace |
DeepSeek-R1-Distill-Qwen-32B | Qwen2.5-32B | 🤗 HuggingFace |
DeepSeek-R1-Distill-Llama-70B | Llama-3.3-70B-指導(dǎo) | 🤗 HuggingFace |
DeepSeek-R1-Distill 模型基于開源模型進(jìn)行了微調(diào),使用了 DeepSeek-R1 生成的樣本。我們對(duì)其配置和分詞器進(jìn)行了輕微更改。請(qǐng)使用我們的設(shè)置來(lái)運(yùn)行這些模型。
有關(guān)在本地運(yùn)行 DeepSeek-R1 的更多信息,請(qǐng)?jiān)L問(wèn)DeepSeek-V3 repo。
DeepSeek-R1-Distill 模型可以以與 Qwen 或 Llama 模型相同的方式使用。使用 vLLM 和 SGLang 運(yùn)行 DeepSeek-R1-Distill-Qwen-32B 模型的示例命令
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --tensor-parallel-size 2 --max-model-len 32768 --enforce-eager
python3 -m sglang.launch_server --model deepseek-ai/DeepSeek-R1-Distill-Qwen-32B --trust-remote-code --tp 2
DeepSeek 提供了兼容 OpenAI 的 API,地址為 platform.deepseek.com。
下面的代碼以 Python 語(yǔ)言為例,展示了如何訪問(wèn)思維鏈和最終回答,以及如何在多輪對(duì)話中進(jìn)行上下文拼接
官方文檔:推理模型 (deepseek-reasoner) | DeepSeek API Docs
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "9.11 and 9.8, which is greater?"}]
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
reasoning_content = response.choices[0].message.reasoning_content
content = response.choices[0].message.content
# Round 2
messages.append({'role': 'assistant', 'content': content})
messages.append({'role': 'user', 'content': "How many Rs are there in the word 'strawberry'?"})
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages
)
# ...
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")
# Round 1
messages = [{"role": "user", "content": "9.11 and 9.8, which is greater?"}]
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages,
stream=True
)
reasoning_content = ""
content = ""
for chunk in response:
if chunk.choices[0].delta.reasoning_content:
reasoning_content += chunk.choices[0].delta.reasoning_content
else:
content += chunk.choices[0].delta.content
# Round 2
messages.append({"role": "assistant", "content": content})
messages.append({'role': 'user', 'content': "How many Rs are there in the word 'strawberry'?"})
response = client.chat.completions.create(
model="deepseek-reasoner",
messages=messages,
stream=True
)
# ...
用戶可以通過(guò) DeepSeek 的官方網(wǎng)站 chat.deepseek.com 與 DeepSeek-R1 進(jìn)行交互。
在線測(cè)試地址:DeepSeek
持續(xù)更新中……
聯(lián)系客服