通过Llama-Factory对Deepseek-r1:1.5b进行微调

由于近期项目需求,我们计划在机器狗上部署对话大模型,并结合具体业务场景进行定制化回答。在技术选型过程中,我们对比了RAG(Retrieval-Augmented Generation)和模型微调两种策略。RAG虽然在知识检索方面表现优异,但需要额外部署文本嵌入模型,增加了部署复杂性和资源开销。相比之下,模型微调能够直接针对特定场景优化模型性能,避免了冗余组件的引入,因此我们最终选择了微调策略。

在微调框架的选择上,我们采用了LLaMA-Factory。这是一款开源的低代码大模型微调框架,集成了当前业界广泛使用的微调技术,能够显著简化微调流程。其核心优势在于支持通过Web UI界面实现零代码微调,大幅降低了技术门槛,同时保留了高度的灵活性。通过该框架,我们能够快速将业务场景数据注入模型,实现高效的知识定制化,最终满足项目对对话大模型的实际需求。

1. 环境配置

默认anaconda、cuda都已经安装完毕!

conda create -n Llama-Factory python=3.10

python 推荐3.10

torch推荐2.4

torch在阿里云直接下载离线版的cuda版本安装,链接

微调Deepseek-r1:1.5b需要8G左右的显存

git llama factory项目

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

复制代码
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

验证安装

llamafactory-cli version

2. 准备数据集

bash 复制代码
[
  {
    "instruction": "人类指令",
    "input": "人类输入",
    "output": "模型回答"
  }
]

3. 开始训练

启动llamafactory

llamafactory-cli webui

运行以上命令会自动跳转一个gradio的界面,如果报错可以尝试升级gradio

pip install --upgrade gradio

加载模型

加载数据集

查看数据集

调整参数

设置权重保存路径

开始训练

4. 测试模型

训练结束后,会绘制loss曲线

加载训练的权重,开始对话

测试完成,微调成功

用于微调的数据集很关键!!!

相关推荐
fly五行3 天前
大模型基础入门与 RAG 实战:从理论到 llama-index 项目搭建(有具体代码示例)
python·ai·llama·llamaindex
德育处主任Pro7 天前
前端玩转大模型,DeepSeek-R1 蒸馏 Llama 模型的 Bedrock 部署
前端·llama
relis7 天前
AVX-512深度实现分析:从原理到LLaMA.cpp的性能优化艺术
性能优化·llama
relis9 天前
llama.cpp RMSNorm CUDA 优化分析报告
算法·llama
云雾J视界9 天前
开源革命下的研发突围:Meta Llama系列模型的知识整合实践与启示
meta·开源·llama·知识管理·知识整合·知识迭代·知识共享
丁学文武10 天前
大模型原理与实践:第三章-预训练语言模型详解_第3部分-Decoder-Only(GPT、LLama、GLM)
人工智能·gpt·语言模型·自然语言处理·大模型·llama·glm
余衫马11 天前
llama.cpp:本地大模型推理的高性能 C++ 框架
c++·人工智能·llm·llama·大模型部署
LETTER•15 天前
Llama 模型架构解析:从 Pre-RMSNorm 到 GQA 的技术演进
深度学习·语言模型·自然语言处理·llama
拓端研究室15 天前
JupyterLab+PyTorch:LoRA+4-bit量化+SFT微调Llama 4医疗推理应用|附代码数据
llama
之歆16 天前
LangGraph构建多智能体
人工智能·python·llama