25
2025
02
19:31:56

如何在deepseek的基础上训练模型?

deepseek 是预训练的大型语言模型,简称LLM。在deepseek的基础上训练通常是指在其上进行微调。

微调过程涉及准备数据集设置训练环境、使用 Hugging Face Transformers 库进行微调,并评估模型微调后的能力。
模型微调用到的技术有 Unsloth 或 LoRA
训练环境准备

安装必要的库,如 Hugging Face Transformers 和 PyTorch。用于微调的服务器需要有GPU。国内能买到的GPU有 Tesla H100、H800、V100s

GPU 价格会出现波动,最高会打对折。比如 Tesla V100s(32G显存)高位时要¥70000,当前价格为 ¥36999

图片
Tesla H100(80G显存)
图片
Tesla H800(80G显存)
图片
模型微调过程

使用 Hugging Face Transformers 库加载预训练模型,通过 Trainer API 或自定义脚本在您的数据集上微调。使用 LoRA 参数高效微调技术可以显著降低计算成本。

如何评估训练效果

将数据集分为训练和验证集,评估微调模型的性能,必要时调整参数。满意后,可部署模型用于实际应用。

选择deepseek训练的原因

DeepSeek 的模型因其高效性和低成本训练而闻名。例如,DeepSeek-V3 总参数为 671B,其中每个 token 激活 37B 参数,训练成本显著低于竞争对手,如 OpenAI 的 GPT-4。DeepSeek-R1 则在推理任务(如数学、编码和逻辑)上表现出色,与 OpenAI 的 o1 模型相当,且开源特性使其易于访问。

基础模型下载地址

https://huggingface.co/deepseek-ai/DeepSeek-R1
图片
需要注意的是训练模型需要花费大量的GPU资源,以DeepSeek-V3为例:DeepSeek-V3 的训练耗费 2.664M H800 GPU 小时,预训练阶段使用 14.8 万亿 tokens。
数据准备阶段

  • 收集相关数据:从公开数据集或自建数据中获取

  • 数据清洗:移除无关或格式错误的条目

  • 数据分割:通常将数据分为训练集和验证集,用于训练和评估


训练环境准备

在 linux 系统上安装工具链依赖和GPU驱动

  • Hugging Face Transformers: 用于加载和微调模型

  • PyTorch: 深度学习框架

  • 其他工具:如 Unsloth,用于优化微调,降低内存使用


微调过程
加载模型和分词器:使用 Hugging Face Transformers 加载 DeepSeek 模型,例如:


from transformers import AutoModelForCausalLM, AutoTokenizermodel = AutoModelForCausalLM.from_pretrained("deepseek-ai/DeepSeek-V3")
准备数据:将数据集转换为模型可接受的格式,如 JSONL 或 Hugging Face Dataset 格式。
微调模型:使用 Trainer API 或自定义脚本进行微调。示例代码可参考:

https://github.com/deepseek-ai/DeepSeek-Coder/blob/main/finetune/finetune_deepseekcoder.py
图片
模型微调需要你会写代码,至少能看懂代码逻辑。(重点讲给领导听)

参数高效微调:考虑使用 LoRA(低秩适应)技术,减少计算需求。例如,Unsloth 提供优化,支持在消费级 GPU 上微调,相关教程见


https://medium.com/@pankaj_pandey/fine-tuning-deepseek-r1-on-consumer-hardware-a-step-by-step-guide-dab90bf69e38
(知道你们不会看也看不到,我帮你们看了。)
准备模型和分词器
图片
准备训练的数据集
图片
省掉1万字....,跳到你们感兴趣的训练环节:
图片
对,就是这么训练的,看起来很简单。(一点也不简单 - -!)训练会花费大量时间,上面说了要花费 2.664M H800 GPU 小时,M是百万,如果是单卡,训练过程将是有生之年系列,领导退休估计还在训练。等不急了,直接看训练完了还要做什么。
训练完了如果不评估模型好不好,就可以导出模型了:
图片
导出的模型一般是 gguf 格式,可以放在 vllm 或 ollama 中部署。以下是使用llama.cpp进行部署的例子:
图片
一般练手可以从1.5B的小模型入手,使用 vllm 把模型跑起来的例子:


















# Install vLLM from pip:pip install vllm
# Load and run the model:vllm serve "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B"
# Call the server using curl:curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'
注意
DeepSeek-R1 是在 DeepSeek-V3-Base 基础上训练的。
目前业界对 deepseek-r1:32b 和 deepseek-r1:70b 的评价为:32b 在中文表现上更好,70b 在英文表现和编程能力上比 32b 强。
32b 的能力来自与 Qwen,而 70b 的能力来自与Llama,Llama由 Meta(原Facebook)开发的模型。Qwen 是阿里的,32b的能力足够国内用户使用了,特别是中文环境。70b 在数学和代码推理能力上更强,但需要的GPU资源更多。国内本地部署推荐使用32b模型,便宜又好用。有钱任性或不太懂可以选贵的,贵有贵的道理。
看完后你可以听同行吹是如何训练模型的了。一句话打假同行:deepseek 训练用的代码放在哪?
如果回答放在 github 上,把这张截图丢他脸上。
图片
DeepSeek 开源了,但不是放在 github 上,里面只有几个截图和一个 PDF。如果有人说他在 github 上训练模型就搞笑了。让他先去 Hugging Face 上去看看,正确答案是 deepseek 是在 Hugging Face 上开源的。目前只开源推理代码,训练集和训练代码没有开源。
图片
全文完。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/9165.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: