通过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曲线

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

测试完成,微调成功

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

相关推荐
薛定谔的猫19821 天前
LlamaIndex(一)初见
llama·llamaindex
Android小码家3 天前
llama.cpp+Android应用定制
android·llama
Android小码家3 天前
WSL+llama+CPU本地模型部署
llama·wsl·模型
沛沛老爹3 天前
Web开发者5分钟上手:Agent Skills环境搭建与基础使用实战
java·人工智能·llm·llama·rag·agent skills
星辰引路-Lefan3 天前
在浏览器中运行大模型:基于 WebGPU 的本地 LLM 应用深度解析
ai·ai编程·llama·gpu算力
natide4 天前
text-generateion-webui模型加载器(Model Loaders)选项
人工智能·llama
*星星之火*4 天前
【大模型进阶】视频课程2 LORA微调原理深度解析+LLaMA Factory实操指南:小白也能玩转大模型定制
lora·大模型·微调·llama·llama factory
natide5 天前
Llama2 API部署错误调试
fastapi·llama
沛沛老爹5 天前
用 Web 开发思维理解 Agent 的三大支柱——Tools + Memory + LLM
java·人工智能·llm·llama·rag
沛沛老爹5 天前
Web开发者深度解析Function Calling:Fc全链路机制与实战原理解析
java·人工智能·llm·llama·rag·web转型