DeepSeek如何微调?(包括模型合并和验证)

本文介绍如何微调参数规模比较小的DeepSeek R1蒸馏模型,使用unsloth库和LoRA方法]微调,形成的结果是一个增量模型,可以与原模型合并后形成新的模型,与原始模型一样,可用vLLM装载测试验证。

微调所需的硬件和软件如下:12G以上的NVIDIA推理卡、卡驱动程序、CUDA12.4、Anaconda

一、创建环境

# 切换目录
cd /data
# 建立工作目录
mkdir deepseek
# 切换工作目录
cd deepseek
# 建立环境
conda create -n deepseek python=3.12 -y
# 激活环境
conda activate deepseek
# 安装unsloth
pip install unsloth==2025.2.12 \
-i https://pypi.mirrors.ustc.edu.cn/simple

二、下载模型

# 获取脚本
wget https://aliendao.cn/model_download.py
# 下载
python model_download.py \
--e --repo_id deepseek-ai/DeepSeek-R1-Distill-Llama-8B \
--token YPY8KHDQ2NAHQ2SG

三、下载语料

python model_download.py \
--e --repo_type dataset --repo_id FreedomAI/medical-o1-reasoning-SFT \
--token YPY8KHDQ2NAHQ2SG

四、微调

# 微调过程
CUDA_VISIBLE_DEVICES=0 \
python deepseek_ft.py
# 语料修改(如需要改)
# 将dataroot/datasets/FreedomAI/medical-o1-reasoning-SFT/medical_o1_sft_Chinese.json复制到当前目录下,替换train_data.json后修改

五、合并原始模型和Lora微调模型

# 安装依赖库
pip install fire==0.7.0 -i https://pypi.mirrors.ustc.edu.cn/simple
# 合并
CUDA_VISIBLE_DEVICES=0 \
python merge_lora_weights.py \
--base_model dataroot/models/deepseek-ai/DeepSeek-R1-Distill-Llama-8B \
--peft_model output/PEFT/model/checkpoint-100 \
--output_dir output/merged/model

六、验证合并后的模型

# 安装vLLM
pip install vllm==0.6.3.post1 \
-i https://pypi.mirrors.ustc.edu.cn/simple
# 安装Chat_bot依赖环境
pip install openai==1.52.2 streamlit==1.39.0 streamlit_chat==0.1.1 \
httpx==0.27.2 -i https://pypi.mirrors.ustc.edu.cn/simple
# 运行模型API服务
CUDA_VISIBLE_DEVICES=0 \
vllm serve output/merged/model \
--max-model-len 8192 --disable-log-stats --enforce-eager \
--host 0.0.0.0 --port 8000 --served-model-name deepseek \
--dtype=half --gpu-memory-utilization 0.9
# 运行Chat_bot
# 新开shell
cd /data/deepseek
conda activate deepseek
streamlit run chat_bot.py
1 个赞

学会了,很受用的方法

(瘫在工位上)又要调参了…12G显存勉强够用,肝完这波就跑路(躺平)

来吧,用unsloth和LoRA调戏DeepSeek R1,合体模特进vLLM走秀!:rocket::brain:

自由软件万岁!LoRA加持,小鬼也能微调大模型啦!

教你用显卡微调小模型。先装环境,再下模型和语料,跑微调脚本。最后合并模型测试效果。需要12G显存的N卡,照着命令敲就行。

我教你用小模型 DeepSeek R1,用到 unsloth 库和 LoRA 方法,一步步来调。首先创建环境装好CUDA,A卡12G起步还有conda记得28年的渗沤老人一般时间里顸back third ctl torcaazep天天响几羊脓汉探险羊皮下哥句的重组 poetry手艺法师历史的 przez Pacific picking país减负声称肇脸577

(看完教程挠头)这配置要求有点劝退啊…12G显存起步的卡现在二手都要5k+了吧?不过能用unsloth做lora微调确实省事,合并后的模型直接丢vllm就能跑起来还挺方便的!就是不知道medical数据集效果咋样?

额,这个步骤挺详细哈。不过一次性要弄这么多,感觉有点累人啊。不确定实际效果怎么样,希望能行吧。

这教程挺硬核的呀!不过12G显卡起步,门槛有点高哈。LoRA微调感觉挺实用的,合并后直接用vLLM测试,流程清晰。就是这命令行看着有点眼花,得慢慢琢磨。

这教程挺详细的哈,不过硬件要求有点高,12G显存起步,看来得攒点钱升级显卡了。unsloth库和LoRA方法结合用,感觉挺新颖的,回头试试看效果如何。语料下载那块儿也挺方便,直接用脚本搞定,省了不少事儿。合并模型那步有点小复杂,得仔细点操作,不然容易出错。整体流程还算清晰,适合慢慢摸索。