note
- DeepSeek-R1-Distill-Qwen-7B 的测试效果很惊艳,CoT 过程可圈可点,25 年应该值得探索更多端侧的硬件机会。
- DeepSeek-R1系列模型在回答某些问题时,可能会跳过完整思考的过程(例如直接输出“
<think>\n\n</think>
”)。为了确保模型能进行充分的推理,建议在每次回答开始时,强制要求模型以“<think>\n
”开头。
一、下载 Ollama
访问 Ollama 的官方网站 https://ollama.com/library/deepseek-r1, 根据系统提示下载适合自己电脑的版本。
二、下载 Docker
直接点击官方 https://www.docker.com/, 下载适合自己电脑的版本。
三、下载模型
以 Distill-Qwen-7B 为例,在电脑终端中输入:ollama run deepseek-r1:7b,7b 的模型大概 4.7G 大小,等待模型下载完成之后即可在终端中输入问题进行测试。下一步会演示如何在 open webui 中使用。
四、部署 open webui
在终端中运行下述命令后,可以自动在 docker 中完成部署,然后在本地浏览器中使用
docker run -d -p 8080:8080 --add-host=host.docker.internal:host-gateway -e OLLAMA_BASE_URL=http://host.docker.internal:11434 ( http://host.docker.internal:11434 ) --name open-webui ghcr.io/open-webui/open-webui:main
Open-WebUI 提供了丰富的功能和界面,如直观的聊天界面、Markdown 和 LaTeX 支持、网页浏览能力、提示预设支持等,极大地提升了用户体验。通过 RLHF 注释功能,用户可以对消息进行评级,以创建强化学习数据集,用于训练或微调模型。
五、相关推理细节
-
温度设置
建议将温度参数设在0.5到0.7之间,最好用0.6。可以避免模型输出重复或无逻辑的回答。 -
提示信息规范
请不要额外添加系统级的提示,所有说明内容都应直接写在用户的提问中。 -
数学问题处理
如果是解决数学问题,建议在问题描述中加入类似下面的指令:“请分步骤推理,并将最终答案放在\boxed{}中。”有助于模型更好地给出详细的解答过程。 -
模型性能评估
测试模型时,最好进行多次测试,并对结果取平均值,获得更准确的评测。 -
充分推理
DeepSeek-R1系列模型在回答某些问题时,可能会跳过完整思考的过程(例如直接输出“<think>\n\n</think>
”)。为了确保模型能进行充分的推理,建议在每次回答开始时,强制要求模型以“<think>\n
”开头。
六、用vllm部署
pip install vllm
vllm serve deepseek-ai/DeepSeek-R1-Distill-Qwen-7B --tensor-parallel-size 2 --max-model-len 32768 --enforce-eager
然后就能用python调用模型:
from openai import OpenAI
# Set OpenAI's API key and API base to use vLLM's API server.
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"
client = OpenAI(
api_key=openai_api_key,
base_url=openai_api_base,
)
chat_response = client.chat.completions.create(
model="deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
messages=[
{"role": "system", "content": "You are DeepSeek-R1, created by"},
{"role": "user", "content": "介绍一下PPO与GRPO算法之间的区别"},
],
temperature=0.7,
top_p=0.8,
max_tokens=512,
extra_body={
"repetition_penalty": 1.05,
},
)
print("Chat response:", chat_response)
Reference
[1] DeepSeek-R1本地化部署的两种方案