2026年保姆级教程~本地微调DeepSeek-R1-8b模型

保姆级教程~本地微调DeepSeek-R1-8b模型1 1 文档说明 笔者正在从传统云计算行业向 AI 靠拢中 相关底层理论知识也正在学习中 所以此篇微调 DeepSeek R1 Distill Llama 8B 模型的操作文档是参考其他教学资料 在本文最后已经注明 所做的操作记录 其中已经将相关问题如下载模型大文件 操作过程中相关 python 库版本问题 wandb 认证问题等解决 并记录在此文档中 所以说这是一篇保姆级别的 amp rdquo

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



1.1 文档说明

笔者正在从传统云计算行业向AI靠拢中,相关底层理论知识也正在学习中,所以此篇微调DeepSeek-R1-Distill-Llama-8B模型的操作文档是参考其他教学资料(在本文最后已经注明)所做的操作记录,其中已经将相关问题如下载模型大文件、操作过程中相关python库版本问题、wandb认证问题等解决,并记录在此文档中。

所以说这是一篇保姆级别的”微调DeepSeek-R1-Distill-Llama-8B模型”的操作文章,只要稍微懂点计算机软件知识就可以成功复现此文章中所述内容。

此文档中使用到了NVIDIA A40,如果GPU显存或算力更低,可以尝试使用更少参数版本DeepSeek-R1蒸馏模型比如1.5B,它仅靠CPU就可以运行。

1.2 服务器与GPU准备

此次使用的服务器是一个x86_64构架的Hygon C86 5380物理服务器,具体信息如下:

主机名 IP 操作系统 规格 GPU情况 备注 controller01 172.20.0.21 Ubuntu 20.04.3 LTS -amd64 32c64g+960G NVIDIA A40*1

相关重要软件版本(后面3个是python库的版本,建议使用conda创建一个虚拟环境并安装此版本。在其他软件版本固定的情况下,unsloth使用2025.2.5之外的版本就报错):

  • • GPU驱动版本:550.54.15
  • • Cuda版本:V12.4.131
  • • torch版本:2.6.0
  • • transformers版本:4.48.3
  • • unsloth版本:2025.2.5

1.3 大模型微调定义

利用特定领域的数据集对已预训练的大模型进行进一步训练的过程。它旨在优化模型在特定任务上的性能,使模型能够更好地适应和完成特定领域的任务。其中最重要的是超参数(如学习率、批次大小和训练轮次)调整优化。转成大白话就是调整大模型中一些参数的值,使其在特定数据集上表现更优秀。

2.1 模型文件下载

本来是想去huggingface上下载相关模型文件与数据集,由于huggingface需要梯子才能访问,不便操作。所以此文档中是在国内网络可正常访问魔搭平台上下载模型与数据集。

 
  

2.2 训练数据集文件下载

访问魔搭,搜索“medical-o1-reasoning-SFT”数据集并下载(此处会有两个同名数据集,但上传者不同,我选择了下载量更大的https://modelscope.cn/datasets/AI-ModelScope/medical-o1-reasoning-SFT)。

 
  

3.1 wandb token准备

去wandb官网注册一个账号、申请一个token,并记录此token,后续要用。

注:

  • • wandb的意思是”weights and biases“,网上没有找到现成的翻译,我直译为权重与偏差。
  • • 关于W&B的介绍:W&B 是一个平台,可帮助数据科学家跟踪他们的模型、数据集、系统信息等。 只需几行代码,就可以开始跟踪有关这些功能的所有内容。 它是免费供个人使用的。 团队使用通常是付费的,但用于学术目的的团队是免费的。 可以将 W&B 与自己喜欢的框架一起使用,例如 TensorFlow、Keras、PyTorch、SKlearn、fastai 等。所有跟踪信息都发送到 W&B UI 上的专用项目页面,可以在其中打开高质量的可视化、汇总信息并比较模型或参数。
3.1.1 wandb官网账号注册

如下使用我自己的github账号进行注册。当然也可以使用手动邮箱与密码进行注册(如下图最下部分所示)

image-20250213162023573

image-20250213162111736

image-20250221230552719

3.1.2 获取token

进入wandb官网中自己账号的主页,可以看到如下内容。在如下位置复制自己的wandb token

image-20250213162624545

3.2 准备jupyter环境

以下以在Ubuntu 20.04.3 LTS -amd64上安装jupyter环境为例,说明安装jupyter环境的步骤。

3.2.1 安装conda
 
  
3.2.2 创建self-llm虚拟python环境
 
  
3.2.3 安装jupyter环境
 
  

image-20250217093519584

如果要自定义jupyter的家目录及其他配置,可以修改它的配置文件(默认已经创建:/root/.jupyter/jupyter_notebook_config.py),以后每次启动时,它都是优先使用这个配置文件中的配置项。

 
  

修改上述文件后,需要重新启动jupyter进程,才会生效。

3.2.4 报错处理
启动jupyter notebook时报“Fail to get yarn configuration”

但此错误并未不影响jupyter notebook的使用

image-20250214175252854

解决办法:

 
  

4.1 打开一个已经存在的.ipynb文件

比如下载deepseekr1_8b本地微调.ipynb ,保存到

 
  

然后按照如下方式,在jupyter图形界面找到上述文件并使用”Notebook”打开:

image-20250217100452758

打开后界面如下:

image-20250217100932951

4.1.1 设置此.ipynb文件可信

image-20250217101948104

4.1.2 为.ipynb文件选择kernel

image-20250217110822311

4.1.3 运行此.ipynb文件

上述文件从网上下载下来后,有些地方需要修改下,否则在未翻墙的服务器上运行会失败或执行速度很慢。

以下未列举出来的cell,不需要修改,直接执行即可。

第1个cell-安装unsloth
 
  

然后光标选中此cell,使用组合键“shift+ener”或点击如下按钮,即可执行选中的cell

image-20250217110958036

第一个cell执行所需要的时间较长,因为安装的python库较大。cell执行未结果时,前面会一直有个”*”

image-20250217111048204

当前cell执行结束后,会在当面所有执行cell次数的基础加1,结果显示在cell左上角。如下图,这是这个页面此cell第一次执行,所以执行结束后,显示1

image-20250217111458869

第3个cell-安装wandb
 
  
第4个cell-初始化wandb

如下配置的key就是在wandb官网申请后获取的token,请修改成自己的tokenwanb token

 
  

如果上述cell内容运行不成功,则采用如下方法:

 
  

image-20250218100844293

 
  

image-20250218101102349

第5个cell-加载模型文件/创建model实例

此cell需要保证你的服务器上有NVIDIA GPU。如下所示,我使用的是NVIDIA A40,它有44G左右显存

 
  

image-20250217152019243

第6与第7个cell-微调前执行推理

第6个cell提供中英文两种形式的问题:

 
  

执行时,输出内容如下:

image-20250217170314515

第8个cell-创建框架model实例

这个cell的内容无需修改。它使用的lora框架中低秩矩阵的方法对模型进行快速有效微调。(需要对lora框架知识进行学习)

 
  
第9与第10个cell-数据集规整化准备

预处理数据集,对数据集进行规整。规整成第9个cell中样式

 
  

利用如下第10个cell中如下函数对数据集进行规整,将问题、思维链与回答填充到上述prompt中

 
  
第11个cell-加载dataset
 
  

执行上述cell前,还需要做如下操作:

 
  

执行上述cell,输出内容如下:

image-20250217162802449

第12个cell-创建SFTTrainer实例

使用trl这个python库来进行训练(微调)。

TrainingArguments(…)中有很多参数,它们是训练(此处是深度学习)时用到的参数。其中最后一个参数output_dir定义输出的checkpoint的输出目录

 
  
第13个cell-Model training

此cell偶尔会出现运行失败的问题,提示【failed to upsert bucket: returned error 401 Unauthorized: }” data-report-view=“{"spm":"3001.8709","extra":{}}” class=“item”>

 # 人工智能 

小讯
上一篇 2026-04-06 14:20
下一篇 2026-04-06 14:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/220535.html