LLaMA-Factory 微调训练

LLaMA-Factory 微调训练

该框架功能,标注-微调-导出-合并-部署,一整条流程都有,而且训练时消耗的gpu算力也会小一些

一,安装(推荐在linux中训练,win可以用wsl+docker)

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory# 根据cuda版本选择安装pytoch版本
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
# 提前把gpu版本的torch安装好
pip install -e .[torch,metrics]# 遇到包冲突时,使用 pip install --no-deps -e . 解决
# 测试torch是否可用gpu
命令行输入pythonimport torch
print(torch.cuda.is_available())  #返回True则说明torch可用gpu

二,训练
1,数据集的准备和配置
参考:https://github.com/hiyouga/LLaMA-Factory/blob/main/data/README_zh.md

# 我自己使用的是 角色对话 的数据集格式[{"conversations": [{"from": "human","value": "人类指令"},{"from": "gpt","value": "模型回答"}],"system": "系统提示词(选填)",}
]

需要同步修改 dataset_info.json 中的配置(开始训练时会根据这个文件去找定义好的存放数据的json文件)

 "yi_6b_chat": {"file_name": "yi_6b_chat_520_24000.json","formatting": "sharegpt", # 表示数据使用的格式"tags": { # 和数据集中的格式一一对应 "role_tag": "from","content_tag": "value","user_tag": "human","assistant_tag": "gpt"}},

2,训练,启动web ui界面(ui 界面训练只支持单卡,多卡只能通过命令行训练)

训练命令:

CUDA_VISIBLE_DEVICES=0 GRADIO_SHARE=1 llamafactory-cli webui

三,vllm部署(不一定是llama3的模型,自己根据 llama3_vllm.yaml 配置修改就行,配置文件中也可用修改用huggingface部署)
1,vllm安装很多坑,pytorch版本和cuda版本必须保持一致兼容,使用pytoch的docker镜像可用省事很多,先看pytorch的版本,pytorch版本11.8,12.1,最好是cuda11.8版本的cuda和torch
2,vllm启动会预先分配一定的显存,也可用自行修改,如还有其他应用要启动,可用调低一些

启动命令:

CUDA_VISIBLE_DEVICES=0,1 API_PORT=8000 llamafactory-cli api examples/inference/llama3_vllm.yaml

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

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

相关文章

数据驱动的UI艺术:智能设计的视觉盛宴

数据驱动的UI艺术:智能设计的视觉盛宴 引言 在当今这个数据泛滥的时代,大数据不仅仅是一种技术手段,它更是一种艺术形式。当大数据遇上UI设计,两者的结合便催生了一种全新的艺术形式——数据驱动的UI艺术。本文将探讨如何将数据…

STM32建立工程问题汇总

老版本MDK,例如MDK4 工程内容如下: User文件夹中存放main.c文件,用户中断服务函数(stm32f1xx.it.c),用户配置文件(stm32f1xx_hal_conf.h)等用户程序文件,或者mdk启动程序…

5,串口编程---实现简单的用串口发送接收数据

单片机通过串口向PC机发送数据 PC机通过串口接收单片机发过来的数据 1.UART和USART的区别: USART支持同步通信方式,可以通过外部时钟信号进行同步传输,而UART仅支持异步通信方式 本开发板STM32F103ZET6有5个串口,用串口1作调试串口,因为串…

攻击渗透思考题

1. windows登录的明文密码,存储过程是怎么样的,密文存在哪个文件下,该文件是否可以打开,并且查看到密文 在Windows操作系统中,登录时输入的明文密码不会以明文形式存储在系统中。相反,Windows使用一种称为“…

数据库mysql

一、mysql常用语句 登录MySQLmysql -u root -p列出所有数据库SHOW DATABASES;创建一个新数据库CREATE DATABASE test;删除一个数据库DROP DATABASE test;对一个数据库进行操作时USE test;列出当前数据库的所有表SHOW TABLES;要查看一个表的结构DESC students;创建表CREATE TAB…

关于我转生从零开始学C++这件事:升级Lv.25

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载,请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主,代码兴国!❤❤❤ OK了老铁们,又是一个周末,大伟又来继续给大家更新我们的C的内容了。那么根据上一篇博…

php之web开发

目标 实现一款具有常用大部分功能的WEB应用&#xff0c;并初步了解WEB漏洞原理 登录功能&#xff1a; 1、基于前端的登录功能 <!DOCTYPE html> <html> <head> <title>简单登录功能</title> </head> <meta charset"UTF-8"…

【Python】 Python中的“命名元组”:简单而强大的数据结构

基本原理 在Python中&#xff0c;namedtuple是tuple的一个子类&#xff0c;它允许我们为元组的每个位置指定一个名字。这种数据结构非常适合用于需要固定字段和值的场景&#xff0c;例如数据库查询的结果或配置文件中的设置。 namedtuple提供了一种方便的方式来访问元组中的元…

海外盲盒系统APP开发,盲盒出海热潮下的蓝海

近几年&#xff0c;我国潮玩出海成为了一个的大风口。根据数据显示&#xff0c;今年全球潮玩规模将达到400多亿美元&#xff0c;市场发展空间巨大。海外庞大的市场对于我国盲盒出海是一个较大的优势。在当下互联网的快速发展下&#xff0c;海外盲盒APP商城成为了盲盒企业出海的…

【MySQL精通之路】优化(1)-查询优化(6)-索引条件下推

1.介绍 Index Condition Pushdown&#xff08;ICP&#xff09;是针对MySQL使用索引从表中检索行的情况进行的优化。 在没有ICP的情况下&#xff0c;存储引擎遍历索引以定位基表中的行&#xff0c;并将它们返回给MySQL服务器&#xff0c;MySQL服务器会评估这些行的WHERE条件。 启…

开源VS闭源:谁将引领AI大模型的新时代?

一、引言 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动这一浪潮的核心动力。在AI大模型的发展过程中&#xff0c;开源与闭源两种不同的发展路径一直备受关注。本文将深入探讨这两种路径的优劣势&#xff0c;分析它们对AI大模型发展的影响&#xff0c;并预测谁将…

ctfshow web入门 黑盒测试

web380 这里文章看的我好有感触 但是影响做题 扫描一下 访问flag.php啥也没有再访问page.php page.php?idflagweb381 扫出来page.php但是没啥用哇&#xff0c;查看源代码 这些文件挨个试发现啥也没&#xff0c;最后仔细对比发现其实都是layui&#xff0c;然后尝试着访问…

《架演》共创者第一次线上沟通会议总结

《架演》共创者第一次线上沟通——启动会 会议主题&#xff1a;《架演》共创启动会议会议时间&#xff1a;2024年5月28日&#xff0c;20:00 - 21:00会议地点&#xff1a;腾讯会议主持人&#xff1a;寒山参会人员&#xff1a; 夏军、mirror、刘哥、悟缺席人员&#xff1a;可心、…

Cocos Creator 安卓环境配置

系统&#xff1a;Win10&#xff0c;引擎版本&#xff1a;CocosCreator3.8.2&#xff0c; 时间&#xff1a;2024.05.23 安装 Java SDK(JDK)下载地址 注意&#xff1a;Java版本对应的Gradle: 详见表 Table 1. Java Compatibility 此处选择 Java 21 对应 Gradle 8.5 配置Java系统…

2024.05.22学习记录

1、面经复习&#xff1a; Vue组件通讯、vuex、js严格模式、options请求、vue3 Setup 语法糖、React hook 2、代码随想录刷题&#xff1a;动态规划 3、rosebush组件库 完成Alert和Alert测试 Menu组件初步开发

RocketMQ 主从复制原理深度解析

提到主从复制&#xff0c;我们可能立马会联想到 MySQL 的主从复制。 MySQL 主从复制是 MySQL 高可用机制之一&#xff0c;数据可以从数据库服务器主节点复制到一个或多个从节点。 这篇文章&#xff0c;我们聊聊 RocketMQ 的主从复制&#xff0c;希望你读完之后&#xff0c;能…

文献解读-群体基因组第一期|《对BMI的影响:探究BMI的基因型-环境效应》

关键词&#xff1a;应用遗传流行病学&#xff1b;群体测序&#xff1b;群体基因组&#xff1b;基因组变异检测&#xff1b; 文献简介 标题&#xff08;英文&#xff09;&#xff1a;The Impact of ACEs on BMI: An Investigation of the Genotype-Environment Effects of BMI标…

智能家居3 - 实现烟雾报警模块

这一模块的思路和前面的语言控制模块很相似&#xff0c;差别只是调用TCP 去控制 废话少说&#xff0c;放码过来 增添/修改代码 smoke_interface.c #include <pthread.h> #include <wiringPi.h> #include <stdio.h>#include "smoke_interface.h" …

knex与sequelize 以及断点工具使用

knex 使用 SQL Query Builder for Javascript | Knex.js 首先下载 npm install knex 使用 const knex require(knex)({client: mysql,connection: {host: localhost, // 地址user: root, // 账号password: 123456, // 密码database: user // 数据库}});/*** kn…

React-组件基础使用

组件是什么 概念&#xff1a;一个组件就是用户界面的一部分&#xff0c;它可以有自己的逻辑和外观&#xff0c;组件之间可以互相嵌套&#xff0c;也可以复用多次 组件化开发可以让开发者像搭积木一样构建一个完整的庞大的应用 React组件 在React中&#xff0c;一个组件就是首…