网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型 - 技术宅银魂 - 科技改变生活 - 万事屋

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

网络上的各种教程基本都是使用了LLaMA-Factory,接下来跟随我一步步来实际操作,一块体验下如何进行大模型的微调和训练。

训练环境:

MacMini M4 (10c/24g)

准备conda环境,用来管理python版本

wget –user-agent=”Mozilla” https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2024.10-1-MacOSX-arm64.sh

执行安装脚本

bash Anaconda3-2024.10-1-MacOSX-arm64.sh

安装成功后,可以查看conda信息

conda version

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

使用conda创建 python venv环境

conda create -n llama_fatory python=3.10

激活llama_fatory环境

conda activate llama_fatory

查看当前python env 环境

conda env list

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

根据github上的安装说明,安装LLaMA-Factory

git clone –depth 1 https://github.com/hiyouga/LLaMA-Factory.git

cd LLaMA-Factory

pip install -e “.[torch,metrics]” -i https://pypi.tuna.tsinghua.edu.cn/simple

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

LLaMA-Factory的安装简单吧,可以看看帮助

(llama_fatory) ➜  LLaMA-Factory-main llamafactory-cli help
----------------------------------------------------------------------
| Usage:                                                             |
|   llamafactory-cli api -h: launch an OpenAI-style API server       |
|   llamafactory-cli chat -h: launch a chat interface in CLI         |
|   llamafactory-cli eval -h: evaluate models                        |
|   llamafactory-cli export -h: merge LoRA adapters and export model |
|   llamafactory-cli train -h: train models                          |
|   llamafactory-cli webchat -h: launch a chat interface in Web UI   |
|   llamafactory-cli webui: launch LlamaBoard                        |
|   llamafactory-cli version: show version info                      |
----------------------------------------------------------------------
(llama_fatory) ➜  LLaMA-Factory-main

下载训练所需要的基础模型,正常可以从https://huggingface.co下载,国内用户可以从modelscope下载

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

mkdir models && cd models

git clone https://www.modelscope.cn/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B.git

模型大概3.5G,如果显卡不够用,可以下载Qwen-0.5B

启动 LLaMA-Factory webui

llamafactory-cli webui

准备自定的数据

cd data && cat aiops.json

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

编辑dataset_info.json,增加自定的数据:

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

选择模型:

DeepSeek-R1-1.5B-Distill,指定模型路径:
models/DeepSeek-R1-Distill-Qwen-1.5B

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

可以预览自定义数据集

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

选择:Supervised Fine-Tuning

训练轮数我改成了100(也是查过了一些资料,如果自定义数据集比较大,比如超过百万,那么可以使用3-5,如果自定义数据集很少,可以30-200)

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

点击“开始”后及开始训练了,我这MacMini并没有Nvidia,所以有个提示找不到GPU,不过也没关系,训练可以正常进行。

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

可以看到训练轮数为100以及进度条

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

训练完成了

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

WebUI上能够看到损失曲线还是比较平滑的,到最后基本趋向一条直线。

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

训练结束后,可以进行验证了。

这里选择训练输出的模型,然后选择“chat”页面,载入模型,进行对话

网友分享MacMini M4 微调训练 DeepSeek-R1 蒸馏模型

哈哈哈,看来我预先设定的数据集已经能够被模型识别并正常回答了。

Tips:实际测试中发现微调后的模型有上下文的关联,第一条问题回答的非常正确,接续问下去大模型就开始胡言乱语了,如果清空历史后再次询问依然如此,第一次的问题都还正常,不知道是哪里配置问题,还是模型chat方式还需要其他配置?

好了,在MacMini下微调
DeepSeek-R1-Distill-Qwen-1.5B模型的实操基本就这样了,后面我会继续介绍如何将训练的模型导出来,并使用llama.cpp转换成ollama可以使用的模型。

(本文完)

    没有回复内容

万事屋新帖