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

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

四、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 ./

Read more

【博客之星】GIS老矣尚能饭否?WebGIS项目实战经验与成果展示

【博客之星】GIS老矣尚能饭否?WebGIS项目实战经验与成果展示

目录 一、最前面的话 二、前言  1、关于“夜郎king” 3、GIS的“老骥伏枥” 4、WebGIS的“新程启航” 三、WebGIS技术简介 1、前、后技术简介 2、系统功能架构 四、WebGIS项目应用效果 1、应急灾害 2、交通运输 3、智慧文旅 4、其它项目 五、未来与展望 1、云计算+数据存储 2、GIS+AI融合 一、最前面的话         在这个快速迭代的数字时代,技术如同潮水般汹涌而来。每一次代码的敲击、每一行算法的优化,都是我们探索未知的足迹。技术的力量是背后清晰的思路与逻辑;技术的本质,从来不是冰冷的代码,而是温暖人心的智慧。

[从零搭建 Web 漏洞靶场:VAuditDemo 在 CentOS 上的部署实战]

//VAuditDemo是一个专门用于Web漏洞攻防演练的综合性靶场// 环境准备: * 操作系统:CentOS 7/8 * Web 环境:XAMPP(已安装并配置好) * 靶场源码:VAuditDemo (1)官网下载安装包https://github.com/1stPeak/VAuditDemo (点击绿色按钮) (2)使用xftp将安装包上传到CentOS的“/opt/lampp/htdocs”目录下(直接从拖动文件夹到右边) 下载后会得到一个 VAuditDemo-master.zip 文件,里面包含两个核心目录: * VAuditDemo_Release —— 发布版(用于正式部署) * VAuditDemo_Debug —— 调试版(带详细错误提示,适合学习) (3)解压缩,并修改文件夹名称为“vaudit” cd  /opt/lampp/htdocs unzip VAuditDemo-master.

PCTF2025(web后半部分)

PCTF2025(web后半部分)

神秘商店 打开题目只有一个登录框 登录admin 利用全角来注册登录 后端代码有转换,全角能够绕过后端对admin的检测,然后把全角admin识别成正常的admin,造成覆盖注册,修改admin密码 注册admin,其中n为全角 利用整数溢出4294967246到50,购买flag 可以直接脚本登录 import requests def exploit(): url = "http://challenge2.pctf.top:32735" session = requests.Session() print("[+] 注册管理员账户...") users = { "username": "admin", "password": "123456" } response = session.post(f&

0. 总纲|Java Web 自研框架 18 年Java架构决策复盘

0. 总纲|Java Web 自研框架 18 年Java架构决策复盘

深耕政务信息化 20 年,自研 Java Web 框架支撑省级新农保、全国首例跨省医保结算等核心民生系统,稳定运行 18 年。 本系列不讲空泛理论,只复盘真实生产环境下的架构决策、踩坑经历、落地方案,不求优雅,但求能跑、能扛、能维护。 在长期维护政务系统的过程中,我逐渐形成一套轻量、稳定、无侵入、可长期演进的架构思路。 这套框架没有依赖流行全家桶,而是围绕业务痛点一点点打磨,最终支撑了海量高并发、高可靠的民生业务。 本系列将从以下 10 个核心决策展开: 1. 放弃 Spring,手写轻量 IOC 容器 2. 注解路由 + 参数路由,实现新老代码平滑迁移 3. 统一入参解析,前后端彻底解耦 4. CGLIB + 责任链实现轻量 AOP,搞定事务、日志、