当前位置: 首页 > news >正文

6.llamafactory项目介绍与安装部署

一、学术资源加速

  • 服务说明:AutoDL提供学术资源加速服务,主要解决GitHub和HuggingFace访问速度慢的问题,但仅限学术用途且不承诺稳定性
  • 加速地址:包含github.com、githubusercontent.com、githubassets.com、huggingface.co等域名
  • 终端配置:
  • 注意事项:
    • 建议不需要时关闭加速,可能影响正常网络
    • 关闭命令:

二、主流微调框架介绍

1. Transformer
  • 生态地位:Hugging Face核心库,NLP领域最广泛使用的基础框架
  • 技术特点:
    • 支持全参数微调
    • 兼容PEFT库扩展
  • 优势:
    • 生态系统最完善,社区活跃
    • 与PyTorch/TensorFlow无缝集成
    • 模型和教程资源丰富
  • 适用场景:中小规模模型实验、研究和开发,微调入门首选
2. PEFT
  • 技术定位:参数高效微调标准库
  • 核心方法:
    • LoRA
    • Prefix-tuning
    • AdaLoRA
    • Prompt Tuning
  • 突出优势:
    • 计算和存储成本极低
    • 与Transformers完美集成
    • 操作简单易用
  • 局限性:仅支持单卡微调,不适合分布式训练
  • 适用场景:资源受限环境(如单卡),需高效适配多任务的场景
3.LLaMA-Factory
  • 产品特色:低代码/无代码快速微调框架
  • 技术集成:
    • 多种微调方法(含LoRA等)
    • 集成优化技术
  • 用户体验:
    • 提供友好Web UI界面
    • 支持拖拽式参数配置
    • 无需深厚代码功底
  • 典型应用:
    • 快速原型验证
    • 非技术人员微调
    • 本课程主要教学框架
4. ModelScope
  • 平台定位:阿里"模型即服务"(MaaS)平台
  • 技术特点:
    • 多模态模型支持
    • 训练-评估-部署全流程
  • 特色优势:
    • 中文场景优化
    • 企业级生产环境支持
  • 适用场景:需要多模态模型和完整流水线的企业用户
5. MS-SWIFT
  • 规模支持:超大规模模型微调
  • 核心技术:
    • LoRA/QLoRA
    • 分布式训练
    • 量化技术
  • 模型覆盖:
    • 支持500+LLM
    • 200+多模态模型
  • 适用场景:需要微调超大规模模型或追求极致性能的生产部署
6. Unsloth
  • 技术突破:动态量化微调(2024年新技术)
  • 核心优化:
    • LoRA/QLoRA底层重构
    • 训练速度提升2倍
    • 显存占用大幅降低
  • 显著特点:
    • 量化微调几乎无损精度
    • 兼容Hugging Face生态
  • 当前局限:仅支持单卡微调
  • 适用场景:
    • 计算资源严格受限
    • 追求训练效率极限
    • 20B参数以下模型
7. 小结
  • 框架选择指南:
    • 入门实验:Transformers+PEFT组合
    • 快速实现:LLaMA-Factory
    • 企业多模态:ModelScope/MS-SWIFT
    • 资源受限:Unsloth
  • 发展趋势:Unsloth若能支持分布式训练,可能成为未来主导框架
  • 课程选择:本课程以LLaMA-Factory作为主要教学框架

三、LLaMA-Factory项目介绍

  • 项目地址: https://github.com/hiyouga/LLaMA-Factory
  • 项目热度: 目前已有57.2k stars,287 watching和7k forks,从2023年开始人气持续快速增长
1. 支持的模型
  • 覆盖范围: 支持几乎所有主流大语言模型,包括:
    • Baichuan 2 (7B/13B)
    • BLOOM/BLOOMZ (560M-176B)
    • DeepSeek系列 (1.5B-671B)
    • Gemma系列 (2B-27B)
    • GLM系列 (9B-355B)
    • GPT系列 (0.1B-120B)
    • 最新支持的GPT-OSS (20B/120B)
  • 模板支持: 每个模型都有对应的对话模板(chat template)
2. 安装要求
  • 核心依赖:
    • Python: 3.9(最低)/3.10(推荐)
    • PyTorch: 2.0.0(最低)/2.6.0(推荐)
    • Transformers: 4.49.0(最低)/4.50.0(推荐)
  • 可选组件:
    • CUDA: 11.6(最低)/12.2(推荐)
    • Flash-attn: 2.5.6(最低)/2.7.2(推荐)
  • 环境适配: 部分功能需要特定架构的显卡支持,如V100显卡不支持某些功能
3. 硬件要求
  • 全精度训练:
    • 32位: 7B模型需要120GB显存
    • 16位(bf16): 7B模型需要60GB显存
  • 高效微调方法:
    • LoRA/Freeze: 7B模型仅需16GB显存
    • QLoRA 8-bit: 7B模型需10GB显存
    • QLoRA 4-bit: 7B模型仅需6GB显存
4. 安装
  • 先在autodl购买实例
    • 在autodl进入jupytelLab-终端
  • 下载
    • 输入
      • ls
      • cd autodl-tmp
      • git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git

  • 进入:
  • cd LlamaFactory
  • 虚拟环境建议: 本地使用建议创建conda虚拟环境
  • conda create -n llamafactory python=3.10
  • 安装
  • pip install -e . pip install -r requirements/metrics.txt
  • 拓展模块安装
    • flashAttention库----加速
      • pip install flash-attn --no-build-isolation#注意:V100不支持该库
    • bitsandbytes库--量化库
      • pip install bitsandbytes
    • deepspeed库---做分布式微调
      • pip install deepspeed==0.12.3
    • accelerate库--加速
      • pip install accelerate

四、llama factory项目文件介绍

  • /data文件夹
    • 存放数据集的文件夹,可以用开源数据集,也可以自己写数据集
  • /examples文件夹
    • 提供了训练(deepspeed,lora,qlora,fsdp)、模型合并、推理等示例代码,可以该参数直接用
  • /scripts文件夹
    • 存放微调、训练、模型合并、评估等脚本的文件夹
  • /docker文件夹
    • 各类显卡的docker部署
  • /evaluation文件夹
    • 评估模型性能数据集,脚本

五、启动llama

  • 在终端输入:GRADIO_SERVER_PORT=6006 llamafactory-cli webui
  • 打开powershell
  • 密码输入的时候是不显示的,直接输入完即可
  • 点击那个地址就可以进入

六、预训练模型下载

1. 模型选择与下载准备
  • 目标模型: 本次微调使用的是通义千问3-4B-Base模型
  • 模型特点:
    • 是Qwen系列最新一代大型语言模型
    • 提供密集型和专家混合(MoE)两种架构
    • 预训练使用了119种语言的36万亿个标记
    • 语言覆盖范围是Qwen2.5的三倍
    • 包含编码、STEM、推理等丰富的高质量数据
2. 下载方法
  • 魔塔社区:https://www.modelscope.cn/models
    • 在终端新开一个窗口
    • pip install modelscope
    • cd
    • cd autodl-tmp #下载到数据盘
    • modelscope download --model Qwen/Qwen3.5-4B-Base --cache_dir ./
http://www.jsqmd.com/news/485877/

相关文章:

  • OpenClaw 结合 Ollama 本地 LLM 运行技术文档
  • MySQL - 集群架构与实践
  • 短信营销平台哪家好?2026年企业短信服务商推荐 - Qqinqin
  • 【anthropic官方Skill】brand-guidelines 技能
  • SynchronizedMap和ConcurrentHashMap有什么区别?
  • 【PCIe 验证每日学习・Day11】PCIe 能力结构(Capability)基础验证
  • 简单的龙虾(OpenClaw)部署教程
  • 临床队列分析总出错?(R tidyverse医学清洗模板大揭秘)——附FDA合规性验证脚本
  • 第五章 微积分与计算机:所有程序运行的底层逻辑
  • 【实时Linux工业PLC解决方案系列】第三十七篇 - 实时Linux PLC内存泄漏检测与防护
  • Vue3 + Element Plus 全局 Message、Notification 封装与规范|Vue生态精选篇
  • 博客接口自动化测试--搭建测试环境库的介绍安装allure
  • 计算机毕业设计springboot电子病例系统 基于SpringBoot的智慧医疗健康管理平台设计与实现 基于Java的医院数字化诊疗信息系统开发
  • SeaweedFS与MinIO深度对比:架构差异与场景化选型指南
  • 【实时Linux工业PLC解决方案系列】第三十八篇 - 实时Linux PLC国产化芯片适配实践
  • AI大模型教程来了(大模型从入门到实战)AI大模型学习全攻略:30节课程+企业项目实战+500+论文资源包
  • 利用Windows特性(::$DATA)绕过文件上传检测的实战解析
  • YOLOv11自动截图与告警机制全攻略:从入门到实战,手把手教你构建智能监控系统
  • 探索DeepSeek在双色球历史数据分析中的娱乐性应用
  • YOLO11与DeepSORT融合实战:从零开始构建多目标跟踪系统
  • 影墨·今颜小红书模型生成作品集展示:覆盖美妆、旅行、美食多垂类
  • 计算机毕业设计springboot高校学生请假管理系统 基于SpringBoot的校园学生考勤与请假审批系统设计与实现 基于Java的高校学生事务请假管理平台开发
  • Hyper-V虚拟化环境下的多网口软路由单臂路由实战:VLAN配置与剩余端口上网全解析
  • Linux OOM Killer实战解析:从日志分析到问题定位
  • Redis面试题 01
  • 自举电路设计避雷手册:为什么你的Cboot总是不够用?
  • SDL:Self-Driving Lab
  • SecGPT-14B多场景落地:安全意识培训中生成钓鱼邮件识别互动测验题
  • 立创PulseTabLite:基于ESP32-S3的多NAS状态监控屏硬件设计与LVGL GUI开发全解析
  • 手把手教你用本地代理屏蔽Jetbrains验证域名(含详细hosts配置)