llama-factory简介

llamafactory是什么,能干什么

LLaMA-Factory 是一个易于使用的大规模语言模型(Large Language Model, LLM)微调框架,它支持多种模型,包括 LLaMA、BLOOM、Mistral、Baichuan、Qwen 和 ChatGLM 等。该框架旨在简化大型语言模型的微调过程,提供了一套完整的工具和接口,使得用户能够轻松地对预训练的模型进行定制化的训练和调整,以适应特定的应用场景。

llamafactory支持哪些模型,支持哪些微调技术

  • 多种模型:LLaMA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。

  • 集成方法:(增量)预训练、指令监督微调、奖励模型训练、PPO 训练、DPO 训练和 ORPO 训练。

  • 多种精度:32 比特全参数微调、16 比特冻结微调、16 比特 LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8 的 2/4/8 比特 QLoRA 微调。

  • 先进算法:GaLore、DoRA、LongLoRA、LLaMA Pro、LoRA+、LoftQ 和 Agent 微调。

  • 实用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。

  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。

  • 极速推理:基于 vLLM 的 OpenAI 风格 API、浏览器界面和命令行接口

部分支持的模型:

模型名

模型大小

默认模块

Template

Baichuan2

7B/13B

W_pack

baichuan2

BLOOM

560M/1.1B/1.7B/3B/7.1B/176B

query_key_value

-

BLOOMZ

560M/1.1B/1.7B/3B/7.1B/176B

query_key_value

-

ChatGLM3

6B

query_key_value

chatglm3

DeepSeek (MoE)

7B/16B/67B

q_proj,v_proj

deepseek

Falcon

7B/40B/180B

query_key_value

falcon

Gemma

2B/7B

q_proj,v_proj

gemma

InternLM2

7B/20B

wqkv

intern2

LLaMA

7B/13B/33B/65B

q_proj,v_proj

-

LLaMA-2

7B/13B/70B

q_proj,v_proj

llama2

Mistral

7B

q_proj,v_proj

mistral

Mixtral

8x7B

q_proj,v_proj

mistral

OLMo

1B/7B

att_proj

olmo

Phi-1.5/2

1.3B/2.7B

q_proj,v_proj

-

Qwen

1.8B/7B/14B/72B

c_attn

qwen

Qwen1.5

0.5B/1.8B/4B/7B/14B/72B

q_proj,v_proj

qwen

StarCoder2

3B/7B/15B

q_proj,v_proj

-

XVERSE

7B/13B/65B

q_proj,v_proj

xverse

Yi

6B/9B/34B

q_proj,v_proj

yi

Yuan

2B/51B/102B

q_proj,v_proj

yuan

训练方法

方法

全参数训练

部分参数训练

LoRA

QLoRA

预训练

指令监督微调

奖励模型训练

PPO 训练

DPO 训练

ORPO 训练

数据集请参考:

LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory · GitHub

参考:LLaMA-Factory/README_zh.md at main · hiyouga/LLaMA-Factory · GitHub

llamafactory如何加载训练数据,对模型存储有哪些约束

        模型加载都是通过命令行指定的

        model_name_or_path: Path to the model weight or identifier from huggingface.co/models or modelscope.cn/models.

        训练数据 是指定名称,位置放在项目的data目录下

        dataset--the name of provided dataset(s) to use. Use commas to separate multiple datasets.

        dataset_dir--Path to the folder containing the datasets.

llamafactory的模型评估具备哪些能力

有专门的一个评估类Evaluator,可以通过脚本运行评估

CUDA_VISIBLE_DEVICES=0 python src/evaluate.py \  --model_name_or_path path_to_llama_model \  --adapter_name_or_path path_to_checkpoint \  --template vanilla \  --finetuning_type lora \  --task mmlu \  --split test \  --lang en \  --n_shot 5 \  --batch_size 4

每次微调有记录吗

没有记录,都是调用的命令行

可以定时训练吗

没有定时训练能力

是否有量化能力

有的,CUDA_VISIBLE_DEVICES=0, --export_quantization_bit 4 导出量化模型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/793656.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案

【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案 大家好 我是寸铁👊 总结了一篇【Python】无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称解决方案✨ 喜欢的小伙伴可以点点关注 💝 前言 今天寸铁…

JSON的定义、基本使用二

<script>//定义jsonvar json{"name" : "张三","age" : "18岁","addr" : ["北京","上海","天津"]}//获取数据console.log(json.age)console.log(json.name)console.log(json.addr)</…

渗透测试练习题解析 5(CTF web)

1、[安洵杯 2019]easy_serialize_php 1 考点&#xff1a;PHP 反序列化逃逸 变量覆盖 【代码审计】 通过 GET 的方式获取参数 f 的值&#xff0c;传递给变量 function 定义一个过滤函数&#xff0c;过滤掉特定字符&#xff08;用空字符替换&#xff09; 下面的代码其实没什么用…

Go语言如何处理文件

1.文件的重要性 文件不过是硬盘中的数据,看起来好像没什么了不起,但实际上,文件能够让程序员管理配置、存储程序的状态乃至从底层操作系统中读取数据。 UNIX型操作系统的一个重要特征是,将一切都视为文件。这意味着在操作系统看来,从键盘到打印机的所有东西都可像文件那样…

多线程(31)StampedLock和ReadWriteLock

StampedLock 是 Java 8 引入的一种新的锁机制&#xff0c;位于 java.util.concurrent.locks 包下。它可以被认为是 ReadWriteLock 的一个改进版&#xff0c;提供了一种乐观的读锁策略&#xff0c;这种策略可以在某些场景下减少锁的竞争&#xff0c;从而提高性能。与 ReadWriteL…

【Java】jdk1.8 Java代理模式,Jdk动态代理讲解(非常详细,附带class文件)

&#x1f4dd;个人主页&#xff1a;哈__ 期待您的关注 一、什么是代理模式 想要学代理模式&#xff0c;我们就要先弄清一个概念“什么是代理”&#xff1f; 在我们的现实生活中&#xff0c;你或许不少听过关于代理的名词&#xff0c;如&#xff1a;代理商。那什么又叫做代理…

Rust---复合数据类型之结构体

目录 结构体的使用输出结果 结构体简化创建结构体更新语法元组结构体单元结构体&#xff08;unit struct&#xff09;结构体中的引用使用#[derive(Debug)]再次介绍 代码综合展示 与元组不同的是&#xff0c;结构体可以为内部的每个字段起一个富有含义的名称&#xff0c;因此无需…

【74LS191/48为可预置的四位二进制加/减法计数器3-9循环显示】2022-3-19

缘由我有电路原理图&#xff0c;想用proteus仿真&#xff0c;但是数码管不亮-嵌入式-CSDN问答 74LS191为可预置的四位二进制加/减法计数器 74ls191引脚功用 RCO进位/借位输出端 MAX/MIN进位/借位输出端 CTEN计数操控端 QA-QD计数输出端 U/D计数操控端 CLK时钟输入端 LO…

【Docker笔记03】【MySQL 与 Redis的主从安装】

一、前言 本系列是根据 B 站 尚硅谷 Docker 视频 学习记录笔记。因为没有视频课件&#xff0c;部分内容摘自 https://www.yuque.com/tmfl/cloud/dketq0。 本系列仅为自身学习笔记记录使用&#xff0c;记录存在偏差&#xff0c;推荐阅读原视频内容或本文参考笔记。 二、Mysql …

如何加速Docker镜像的构建过程?

要加速Docker镜像的构建过程&#xff0c;你可以考虑以下几种方法&#xff1a; 使用多阶段构建&#xff1a;多阶段构建可以帮助你减少镜像的大小&#xff0c;从而加速构建过程。你可以将构建过程分为多个阶段&#xff0c;每个阶段只保留必要的文件和依赖&#xff0c;最终构建出一…

10-用PySpark建立第一个Spark RDD

目录 RDD概念RDD特点建立RDD的方式不同工具建立RDD的方式使用PySpark Shell(交互环境)建立RDD使用VSCode编程建立RDD使用Jupyter Notebook建立RDD 总结 PySpark实战笔记系列第一篇 RDD概念 Apache Spark的核心组件的基础是RDD。所谓的RDD&#xff0c;即弹性分布式数据集&#…

Linux 关闭防火墙命令(新手)

关闭防火墙 查看防火墙状态 systemctl status firewalld.service 临时关闭防火墙&#xff08;重启失效&#xff09; systemctl stop firewalld.service 永久关闭防火墙 systemctl disable firewalld.servicesudo systemctl enable firewalld&#xff0c;这种方式输入命令…

施耐德 Unity Pro PLC 编程软件介绍

Unity Pro 软件基本介绍 Unity Pro 是施耐德中大型 PLC 的编程软件&#xff08;<–> 对应西门子 Step7&#xff09; 支持的 PLC&#xff1a;施耐德中大型 PLC 中型 PLC&#xff1a;Premium、M340&#xff08;<–> 对应西门子 S7-300、S7-1200&#xff09;大型 PL…

【C++】探索C++中的类与对象(上)

​​ &#x1f331;博客主页&#xff1a;青竹雾色间. &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ✨人生如寄&#xff0c;多忧何为 ✨ C是一种强大的编程语言&#xff0c;其面向对象的特性使得代码结构更加清晰、易于维护和扩展。在C中&#xff0c;类与…

常见docker使用命令

#搭建镜像 “”" sudo docker build -t es_refresh:V1.20230303 . “”" #启动容器 “”" docker run -d --namepara_classify -v /etc/localtime:/etc/localtime -v /data/chenhw/multi_label_classification:/edb2vec -p 8066:8066 --gpus ‘“device0”’…

Day83:服务攻防-开发组件安全JacksonFastJson各版本XStreamCVE环境复现

目录 J2EE-组件Jackson-本地demo&CVE 代码执行 (CVE-2020-8840) 代码执行 (CVE-2020-35728&#xff09; J2EE-组件FastJson-本地demo&CVE FastJson < 1.2.24 FastJson < 1.2.47 FastJson < 1.2.80 (利用条件比较苛刻) J2EE-组件XStream-靶场&CVE …

高度不同的流体瀑布css实现方法

商城商品列表 实现瀑布流展示&#xff0c;通过flex或grid实现会导致每行中的列高度一致&#xff0c;无法达到错落有致的感觉&#xff1b; 为此需要用到&#xff1a; CSS columns 属性 columns 属性是一个简写属性&#xff0c;用于设置列宽和列数。 CSS 语法 columns: column-wi…

如何让Webots支持C#语言开发的控制器

Webots支持C、C、Java、Python、Matlab这五种语言开发控制器&#xff0c;没有直接支持C#&#xff0c;但有个同事已经用C#写了大量的机器人控制代码&#xff0c;想在不把C#代码改写成C的情况下&#xff0c;直接用webots仿真&#xff0c;那就得想想办法。(不过&#xff0c;让Chat…

字节新作:图像生成质量超越DiT

&#x1f31f;每日更新最新高质量论文&#xff0c;关注我&#xff0c;时刻关注最新大模型进展。&#x1f31f; &#x1f4cc; 元数据概览&#xff1a; 标题&#xff1a;Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction作者&#xff1a…

Java 内存占用过高应该如何优化

优化Java程序的内存占用是提高程序性能和稳定性的重要任务之一。内存占用过高可能导致系统性能下降、内存泄漏、频繁的垃圾回收等问题&#xff0c;影响程序的运行效率和用户体验。因此&#xff0c;对于Java程序内存占用过高的情况&#xff0c;需要采取一系列措施进行优化。 1.…