ai工具集2

llama factory

LLaMA-Factory是一个统一的框架,集成了一套先进的高效训练方法。它允许用户通过内置的Web UI灵活定制100多个LLMs的微调,而无需编写代码。

标签:ai工具集2llama factory llama factory官网 llama factory微调 llama factory推理 llama factory教程 llama factory训练 llama factory部署 llama_factory

llama factory官网,部署,微调教程,推理,训练,单机多卡

简介

Efficient fine-tuning对于将大型语言模型(LLMs)调整到下游任务中至关重要。然而要在不同模型上实现这些方法需要付出相当大的努力。LLaMA-Factory是一个统一的框架,集成了一套先进的高效训练方法。它允许用户通过内置的Web UI灵活定制100多个LLMs的微调,而无需编写代码。LlamaFactory 是一个封装比较完善的LLM微调工具,它能够帮助用户快速地训练和微调大多数LLM模型。LlamaFactory主要通过Trainer类来实现训练流程,通过设置数据集、模型选型、训练类型、微调超参、模型保存,以及训练状态监控等信息,来开启训练。

llama factory官网: https://github.com/hiyouga/LLaMA-Factory

论文地址: https://arxiv.org/abs/2403.13372

llama factoryllama factory

LlamaFactory基于PEFT和TRL进行二次封装,从而可以快速开始SFT和RLHF微调。同时,引入GaLore和Unsloth等方案,能降低训练显存占用。

主要功能和特色

LLaMA-Factory 是一个国内北航开源的低代码大模型训练框架,专为大型语言模型(LLMs)的微调而设计。其主要功能特点包括:

  1. 高效且低成本:能够高效且低成本地支持对100多个模型进行微调,简化了模型微调的过程。
  2. 易于访问和使用:提供了友好的用户界面,用户无需编写代码即可轻松定制和微调LLMs。
  3. 丰富的数据集选项:支持多个数据集选项,用户可以选择自带的数据集或自己生成数据集进行微调。
  4. 多样化的算法支持:集成了业界最广泛使用的微调方法和优化技术,如LoRA、GaLore、DoRA等。
  5. 实时监控和评估:支持集成TensorBoard、VanDB和MLflow等监控工具,便于实时监控训练过程和评估模型性能。
  6. 极速推理:提供了基于vLLM的OpenAI风格API、浏览器界面和命令行接口,实现快速推理。

部署安装教程

LLaMA-Factory 的安装相对简单,以下是一般的安装步骤(以conda环境为例):

  1. 创建Python环境:
    使用conda创建一个新的Python环境,并安装必要的依赖库,如PyTorch等。
  2. 克隆LLaMA-Factory项目:
    通过Git克隆LLaMA-Factory的源代码到本地。

    git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
    
  3. 安装依赖:
    进入项目目录,安装必要的Python依赖库。

    
     cd LLaMA-Factory
     pip install -e ".[torch,metrics]"
    
  4. 启动服务:
    在项目目录中运行python src/train_web.py启动服务,然后在浏览器中访问相应的端口(默认可能是7860)以访问训练界面。
    llama factory

支持的算法

LLaMA-Factory 支持多种先进的微调算法和模型,包括但不限于:

  • 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
  • 集成方法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
  • 多种精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
  • 先进算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。
  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。
  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。
  • 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口。

四、性能指标

与 ChatGLM 官方的 P-Tuning 微调相比,LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比,同时在广告文案生成任务上取得了更高的 Rouge 分数。结合 4 比特量化技术,LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 显存消耗。

llama factory

GPU现存消耗:

llama factory

五、微调例子

以下是一个使用LLaMA-Factory对Yuan2.0模型进行LoRA微调的例子:

  1. 准备数据集:
    准备自定义的数据集,可以是JSON格式,包含指令、输入和输出等信息。
  2. 注册数据集:
    在LLaMA-Factory的数据集管理文件中注册自定义的数据集。
  3. 启动Web UI服务:
    运行python src/train_web.py启动Web UI服务,并在浏览器中打开相应的地址。
  4. 配置微调参数:
    在Web界面上配置模型路径、微调方法(选择LoRA)、数据集等参数。
  5. 开始微调:
    点击“开始”按钮开始微调过程,可以在界面中查看训练进度和损失函数等信息。

  6. 评估模型:
    微调完成后,使用LLaMA-Factory提供的评估工具对模型进行评估,检查模型性能是否有所提升。

通过以上步骤,用户可以利用LLaMA-Factory轻松实现LLMs的微调,提升模型在特定任务上的性能。

更多微调

  • https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/README_zh.md

 

1.2 特性

  • • 各种模型: LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Yi, Gemma, Baichuan, ChatGLM, Phi, etc.
  • • 集成训练方法: (Continuous) pre-training, (multimodal) supervised fine-tuning, reward modeling, PPO, DPO and ORPO.
  • • Scalable resources: 32-bit full-tuning, 16-bit freeze-tuning, 16-bit LoRA and 2/4/8-bit QLoRA via AQLM/AWQ/GPTQ/LLM.int8.
  • • Advanced algorithms: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ and Agent tuning.
  • • 实用tricks: FlashAttention-2, Unsloth, RoPE scaling, NEFTune and rsLoRA.
  • • 实验监控:LlamaBoard, TensorBoard, Wandb, MLflow, etc.
  • • 推理集成: OpenAI-style API, Gradio UI and CLI with vLLM worker.

LlamaFactory支持单机单卡,同时整合了accelerate和deepseed的单机多卡、多机多卡分布式训练。

 

支持的模型
模型名 模型大小 Template
Baichuan2[1] 7B/13B baichuan2
BLOOM[2] 560M/1.1B/1.7B/3B/7.1B/176B –
BLOOMZ[3] 560M/1.1B/1.7B/3B/7.1B/176B –
ChatGLM3[4] 6B chatglm3
Command-R[5] 35B/104B cohere
DeepSeek (MoE)[6] 7B/16B/67B/236B deepseek
Falcon[7] 7B/11B/40B/180B falcon
Gemma/CodeGemma[8] 2B/7B gemma
GLM4[9] 9B glm4
InternLM2[10] 7B/20B intern2
LLaMA[11] 7B/13B/33B/65B –
LLaMA-2[12] 7B/13B/70B llama2
LLaMA-3[13] 8B/70B llama3
LLaVA-1.5[14] 7B/13B vicuna
Mistral/Mixtral[15] 7B/8x7B/8x22B mistral
OLMo[16] 1B/7B –
PaliGemma[17] 3B gemma
Phi-1.5/2[18] 1.3B/2.7B –
Phi-3[19] 4B/7B/14B phi
Qwen[20] 1.8B/7B/14B/72B qwen
Qwen1.5 (Code/MoE)[21] 0.5B/1.8B/4B/7B/14B/32B/72B/110B qwen
Qwen2 (MoE)[22] 0.5B/1.5B/7B/57B/72B qwen
StarCoder2[23] 3B/7B/15B –
XVERSE[24] 7B/13B/65B xverse
Yi (1/1.5)[25] 6B/9B/34B yi
Yi-VL[26] 6B/34B yi_vl
Yuan[27] 2B/51B/102B yuan

 

预训练数据集

  • • Wiki Demo (en)[28]
  • • RefinedWeb (en)[29]
  • • RedPajama V2 (en)[30]
  • • Wikipedia (en)[31]
  • • Wikipedia (zh)[32]
  • • Pile (en)[33]
  • • SkyPile (zh)[34]
  • • FineWeb (en)[35]
  • • FineWeb-Edu (en)[36]
  • • The Stack (en)[37]
  • • StarCoder (en)[38]

指令微调数据集

  • • Identity (en&zh)[39]
  • • Stanford Alpaca (en)[40]
  • • Stanford Alpaca (zh)[41]
  • • Alpaca GPT4 (en&zh)[42]
  • • Glaive Function Calling V2 (en&zh)[43]
  • • LIMA (en)[44]
  • • Guanaco Dataset (multilingual)[45]
  • • BELLE 2M (zh)[46]
  • • BELLE 1M (zh)[47]
  • • BELLE 0.5M (zh)[48]
  • • BELLE Dialogue 0.4M (zh)[49]
  • • BELLE School Math 0.25M (zh)[50]
  • • BELLE Multiturn Chat 0.8M (zh)[51]
  • • UltraChat (en)[52]
  • • OpenPlatypus (en)[53]
  • • CodeAlpaca 20k (en)[54]
  • • Alpaca CoT (multilingual)[55]
  • • OpenOrca (en)[56]
  • • SlimOrca (en)[57]
  • • MathInstruct (en)[58]
  • • Firefly 1.1M (zh)[59]
  • • Wiki QA (en)[60]
  • • Web QA (zh)[61]
  • • WebNovel (zh)[62]
  • • Nectar (en)[63]
  • • deepctrl (en&zh)[64]
  • • Advertise Generating (zh)[65]
  • • ShareGPT Hyperfiltered (en)[66]
  • • ShareGPT4 (en&zh)[67]
  • • UltraChat 200k (en)[68]
  • • AgentInstruct (en)[69]
  • • LMSYS Chat 1M (en)[70]
  • • Evol Instruct V2 (en)[71]
  • • Cosmopedia (en)[72]
  • • STEM (zh)[73]
  • • Ruozhiba (zh)[74]
  • • LLaVA mixed (en&zh)[75]
  • • Open Assistant (de)[76]
  • • Dolly 15k (de)[77]
  • • Alpaca GPT4 (de)[78]
  • • OpenSchnabeltier (de)[79]
  • • Evol Instruct (de)[80]
  • • Dolphin (de)[81]
  • • Booksum (de)[82]
  • • Airoboros (de)[83]
  • • Ultrachat (de)[84]

偏好数据集

  • • DPO mixed (en&zh)[85]
  • • UltraFeedback (en)[86]
  • • Orca DPO Pairs (en)[87]
  • • HH-RLHF (en)[88]
  • • Nectar (en)[89]
  • • Orca DPO (de)[90]
  • • KTO mixed (en)[91]

数据评估

llama factory浏览人数已经达到11,如你需要查询该站的相关权重信息,可以点击"5118数据""爱站数据""Chinaz数据"进入;以目前的网站数据参考,建议大家请以爱站数据为准,更多网站价值评估因素如:llama factory的访问速度、搜索引擎收录以及索引量、用户体验等;当然要评估一个站的价值,最主要还是需要根据您自身的需求以及需要,一些确切的数据则需要找llama factory的站长进行洽谈提供。如该站的IP、PV、跳出率等!

关于llama factory特别声明

本站ai导航提供的llama factory都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ai导航实际控制,在2024年7月24日 下午4:54收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ai导航不承担任何责任。

相关导航

暂无评论

暂无评论...