跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonWeChatAI算法

LLaMA-Factory 微调 DeepSeek-R1 模型实战指南

基于 LLaMA-Factory 框架实现 DeepSeek-R1 模型的可视化微调全流程。内容涵盖环境搭建、CUDA 与量化库配置、微信聊天记录数据的清洗与格式转换(ShareGPT)、模型训练参数设置、效果评估及最终模型导出。重点解决 Windows 下 BitsAndBytes 安装、数据集合并与脱敏处理等常见问题,提供可直接运行的 Python 脚本示例,适合希望快速上手大模型个性化训练的开发者参考。

abccba发布于 2026/3/21更新于 2026/5/74 浏览
LLaMA-Factory 微调 DeepSeek-R1 模型实战指南

LLaMA-Factory 微调 DeepSeek-R1 模型实战指南

使用 LLaMA-Factory 进行大模型微调,优势在于流程简化与一站式服务。它支持全量调参、LoRA 等多种策略,涵盖量化处理与运行部署,无需在不同工具间切换。此外,内置的评测指标(如 BLEU)和 Loss 曲线监控,能帮助用户有效评估模型性能。

环境搭建

首先确保 Python 版本在 3.9 以上,推荐 3.10。创建虚拟环境后,进入项目目录安装依赖。

pip install -r requirements.txt
pip install -e ".[torch,metrics]"

GPU 用户需配置 CUDA。若使用 Windows 平台开启 QLoRA 量化,需安装预编译的 bitsandbytes 库。

conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c nvidia
pip install https://github.com/jllllll/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.41.2.post2-py3-none-win_amd64.whl

启动 WebUI:

llamafactory-cli webui

若遇到 localhost 访问问题,可修改源码中的 interface.py,将 share=False 改为 share=True 以生成分享链接,注意避免网络代理干扰。

数据集准备与清洗

本教程以微信聊天记录风格化为例。使用数据导出工具获取原始对话文件(txt/json)。合并多份记录时,编写脚本遍历文件夹下的所有 .json 文件并汇总。

import os, json
folder_path = './chat_logs'
json_files = []
for root, dirs, files in os.walk(folder_path):
    for file in files:
        if file.endswith('.json'):
            json_files.append(os.path.join(root, file))
merged_data = []
for file in json_files:
    with open(file, 'r', encoding='utf-8') as f:
        try:
            data = json.load(f)
            merged_data.append(data)
        except json.JSONDecodeError:
            print(f"Error decoding {file}. Skipping.")
with open('merged_data.json', , encoding=)  f:
    json.dump(merged_data, f, indent=, ensure_ascii=)
()
'w'
'utf-8'
as
4
False
print
"合并完成"

预处理阶段至关重要,需清洗噪声、脱敏敏感信息(手机号、邮箱等),并将格式转换为 LLaMA-Factory 支持的 ShareGPT 格式。

import json, re
with open('merged_data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)
converted_data = []
for item_list in data:
    for item in item_list:
        if 'messages' not in item: continue
        conversation = {"conversations": []}
        for message in item['messages']:
            role = message['role']
            content = message['content']
            # 脱敏处理
            content = re.sub(r'\d{3}[-]?\d{4}[-]?\d{4}', '[PHONE]', content)
            content = re.sub(r'\S+@\S+', '[EMAIL]', content)
            # 映射角色
            if role == 'user': from_role = 'human'
            elif role == 'assistant': from_role = 'gpt'
            else: continue
            conversation['conversations'].append({"from": from_role, "value": content})
        converted_data.append(conversation)
with open('converted_data.json', 'w', encoding='utf-8') as f:
    json.dump(converted_data, f, ensure_ascii=False, indent=2)
print("转换完成")

模型训练配置

在 WebUI 中选择中文语言,加载 DeepSeek-R1-Distill-Qwen-1.5B 模型。在 dataset_info.json 中注册自定义数据集,指定文件格式为 sharegpt,字段映射为 messages。

"converted_data":{"file_name":"converted_data.json","formatting":"sharegpt","columns":{"messages":"conversations"}}

训练参数建议根据显存情况调整,通常 LoRA 模式较为节省资源。点击预览命令确认配置无误后开始训练。训练过程中可通过 Gradio UI 实时查看 Loss 曲线及各项指标(Epoch, FLOPS, Runtime 等)。

评估与导出

训练完成后,进入 Evaluate&Predict 模块加载测试集进行评估。BLEU、ROUGE 等指标反映了生成文本的质量与相似度。最后通过 Export 功能导出模型,建议设备选择自动,填写目标路径即可。导出后的模型包含完整依赖,便于后续部署。

目录

  1. LLaMA-Factory 微调 DeepSeek-R1 模型实战指南
  2. 环境搭建
  3. 数据集准备与清洗
  4. 模型训练配置
  5. 评估与导出
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 主流 AI 编程辅助工具全方位对比:Cursor、Copilot 等
  • Clawdbot(Moltbot) 飞书机器人配置教程
  • Stable Diffusion 镜像免配置方案:Pixel Fashion Atelier 开箱即用体验评测
  • 基于 Python 的轻量级 AI 量化交易系统实现
  • 国内外人工智能大模型(LLMs)发展现状与技术分析
  • DeepSeek 使用指南:提示词技巧与本地知识库搭建
  • Spring Boot 日志全方位指南:最佳实践与配置详解
  • 基于 ZYNQ 的 FPGA 神经网络部署实战
  • VS Code Copilot 完整使用教程
  • Nginx 反向代理配置 React 前端与 Python 后端
  • 双非毕业生如何成功入职阿里面试经验分享
  • Mac 端 Git 基础概念与 PyCharm 使用指南
  • ANSYS Fluent 2026 R1 新功能:AI 如何重塑汽车风阻优化流程
  • GPT-4 & ChatGPT 应用开发实战指南:大模型入门与核心技能解析
  • 基于 LLaMA-Factory 的 DPO 训练实战指南
  • Python Pygame 实战:打地鼠小游戏开发指南
  • C++ 面试核心考点:内存管理、编译机制与类型系统
  • 命令行下的 MCP 桥接工具:MCPHost 实践与模型兼容性测试
  • 算法分配测试任务:管理权威的数字化消解
  • MobaXterm 连接远程 Linux 服务器图形化界面

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online