七月论文审稿GPT第4版:通过paper-review数据集微调Mixtral-8x7b

模型训练

Mixtral-8x7b地址:魔搭社区

GitHub: hiyouga/LLaMA-Factory: Unify Efficient Fine-tuning of 100+ LLMs (github.com)

环境配置

git clone https://github.com/hiyouga/LLaMA-Factory.git
conda create -n llama_factory python=3.10
conda activate llama_factory
cd /root/path/LLaMA-Factory
pip install -r requirements.txt

有些得单独版本对齐,本人使用的是cuda11.8

pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-url https://download.pytorch.org/whl/cu118
pip install bitsandbytes==0.41.3
# 下载对应版本 https://github.com/Dao-AILab/flash-attention/releases
pip install flash_attn-2.5.2+cu118torch2.1cxx11abiFALSE-cp310-cp310-linux_x86_64.whl

训练代码

python src/train_bash.py \--stage sft \--do_train True \--model_name_or_path /root/weights/Mixtral-8x7B-Instruct-v0.1 \--finetuning_type lora \--quantization_bit 4 \--template mistral \--flash_attn True \--dataset_dir data \--dataset paper_review_data \--cutoff_len 12288 \--learning_rate 5e-05 \--num_train_epochs 3.0 \--max_samples 1000000 \--per_device_train_batch_size 16 \--gradient_accumulation_steps 1 \--lr_scheduler_type cosine \--max_grad_norm 0.3 \--logging_steps 10 \--warmup_steps 0 \--lora_rank 128 \--save_steps 1000 \--lora_dropout 0.05 \--lora_target q_proj,o_proj,k_proj,v_proj,down_proj,gate_proj,up_proj \--output_dir saves/Mixtral-8x7B-Chat/lora/train_2024-03-23 \--fp16 True \--plot_loss True

模型推理

部署API接口

这里使用lora执行src/api_demo.py时会出现一个问题:

NotImplementedError: Cannot copy out of meta tensor; no data! · Issue #2940 · hiyouga/LLaMA-Factory (github.com)

解决方案:训练时使用了--quantization_bit 4 和 --flash_attn True,这里也要使用统一的才行。

CUDA_VISIBLE_DEVICES=0 API_PORT=8000 python src/api_demo.py \--model_name_or_path /root/weights/Mixtral-8x7B-Instruct-v0.1 \--adapter_name_or_path /root/path/saves/Mixtral-8x7B-Chat/lora/train_train_2024-03-23 \--template mistral \--finetuning_type lora \--quantization_bit 4 \--flash_attn True

推理所需显存为34318MiB

调用API接口

更多见七月的《大模型商用项目之审稿GPT微调实战》

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

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

相关文章

支持 java22,Solon v2.7.3 发布(非 java-ee 架构)

Java Solon 是什么框架? 是一个可平替 Spring 生态的 Java 应用开发框架。从零开始构建(非 java-ee 架构),有自己的标准规范与开放生态。(历时七年,具备全球第二级别的生态规模) 追求&#xf…

小程序利用WebService跟asp.net交互过程发现的问题并处理

最近在研究一个项目,用到asp.net跟小程序交互,简单的说就是小程序端利用wx.request发起请求。获取asp.net 响应回来的数据。但经常会报错。点击下图的测试按钮 出现如下错误: 百思不得其解,试了若干方法,都不行。 因为…

多线程基础:线程通信内容补充

多线程基础:线程通信内容补充 文章目录 多线程基础:线程通信内容补充前言一、wait(), notify(), notifyAll()二、join()三、Lock 和 Condition四、并发集合和原子变量1、并发集合2、原子变量 总结 前言 前文内容中讲了线程通信的内容,但是不…

企业网站建设的方法的相关问题的解决办法的问题

现在市场上比较大的公司都建立了自己的企业网站,比如华为、小米等,在他们的企业网站中,可以充分展示自己产品的优势,介绍公司的优质服务。 这都是让顾客改变购买想法的重要因素。 现在互联网发达了,很多人在购买产品的…

Typescript再学习-接口interface扩展(5)

接口可以通过extends继承,看代码如下 interface commonPerson {name: string;age: number;sex: string;address: string; }interface Police extends commonPerson {idCard: string;job: string; } let LiHanxing: Police {name: "李汉星",age: 22,sex:…

智慧工地安全生产与风险预警大平台的构建,需要哪些技术?

随着科技的不断发展,智慧工地已成为现代建筑行业的重要发展趋势。智慧工地方案是一种基于先进信息技术的工程管理模式,旨在提高施工效率、降低施工成本、保障施工安全、提升施工质量。一般来说,智慧工地方案的构建,需要通过集成物…

计算机网络:物理层 - 信道极限容量

计算机网络:物理层 - 信道极限容量 实际信道中的数字信号奈式准则香农公式练习 实际信道中的数字信号 信号在传输过程中会受到各种因素的影响,如图所示: 这是一个数字信号,当它通过实际的信道后,波形会产生失真&#…

java中正则表达式第一次特殊使用

记录第一次使用~ 正则表达式的使用 正则表达式(Regular Expression)是一种用于模式匹配的强大工具,它由普通字符(例如字母、数字、符号)和特殊字符(元字符)组成。以下是使用正则表达式的一些…

Flutter 内置按钮介绍及使用

Flutter 提供了多种内置按钮,可以满足不同场景的需求。本文将介绍 Flutter 中常见的按钮类型,以及它们的属性和使用方法。 按钮类型 Flutter 中常见的按钮类型包括: ElevatedButton: 凸起按钮,默认带有阴影和灰色背景。TextBut…

如何使用C语言进行异常处理?C语言中的可变参数函数

一、如何使用C语言进行异常处理? 在C语言中,并没有像C或Java等语言那样内置的异常处理机制。C语言主要依赖于返回值、错误码以及条件编译指令来进行错误处理。然而,你仍然可以通过一些方法模拟异常处理的行为。 一种常见的模拟异常处理的方…

Linux学习:进程(3)与 环境变量

目录 1. 进程的优先级1.1 什么是进程的优先级1.2 优先级的具体表示与查看方式 2. 进程的切换与调度2.1 切换2.2 调度 3. 环境变量3.1 main参数/命令行参数3.2 什么是环境变量3.3 环境变量的使用与特性3.5 本地变量与环境变量的脚本配置文件 1. 进程的优先级 在计算机运行的过程…

stamac Ethernet DTS配置

目录 Demo 配置 compatible reg interrupts & interrupt-names phy-mode phy-handle Snps,reset-gpio

【JavaScript】数组 ② ( JavaScript 数组索引 | JavaScript 遍历数组 | 使用 for 循环遍历数组 )

文章目录 一、JavaScript 数组索引1、数组索引2、数组索引 - 代码示例 二、JavaScript 遍历数组1、使用 for 循环遍历数组2、使用 for 循环遍历数组 - 代码示例 一、JavaScript 数组索引 1、数组索引 在 JavaScript 中 , 数组 的 " 索引 " 又称为 " 下标 "…

将yolov5s部署到安卓上实战经验总结

最近需要在手机端实现一个目标检测的功能,于是选择了小巧又在目标检测方面表现很好的yolov5s,官网下载yolov5代码,用自己做的数据集进行了训练,然后把模型转换成torchscript格式,这些过程网上都有很多讲解,…

电脑突然死机怎么办?

死机是电脑常见的故障问题,尤其是对于老式电脑来说,一言不合电脑画面就静止了,最后只能强制关机重启。那么你一定想知道是什么原因造成的吧,一般散热不良最容易让电脑死机,还有系统故障,比如不小心误删了系…

手机卫星通信

1. 前言 手机卫星通信,顾名思义,就是手机可以与卫星建立通信连接实现数据交互的技术。手机卫星高速数据连接是目前手机通话短信的下一代技术,也是新一代通信生态中的重要组成部分,即非地面网络(Non-Terrestrial Networ…

React 应用实现监控可观测性最佳实践

前言 React 是一个用于构建用户界面的 JavaScript 框架。它采用了虚拟 DOM 和 JSX,提供了一种声明式的、组件化的编程模型,以便更高效地构建用户界面。无论是简单还是复杂的界面,React 都可以胜任。 YApi 是使用 React 编写的高效、易用、功…

2.人机交互-图形化界面的小故事

文章目录 一、图形化界面的小故事二、什么是cmd? 计算机在刚开始出现的时候,因为占地广、造价高、耗电多,一般都是给军队或者政府使用的,而并不是给个人使用的。然后随着计算机不断地发展,体积越来越小,出现…

【计算机网络篇】数据链路层(4.1)可靠传输的相关概念

文章目录 🍔可靠传输的相关概念⭐分组丢失⭐分组失序⭐分组重复 🥚注意 🍔可靠传输的相关概念 使用差错检测技术(例如循环冗余校验CRC),接收方的数据链路层就可以检测出帧在传输过程中是否产生了误码&…

B2902A是德科技B2902A精密型电源

181/2461/8938产品概述: Agilent B2902A 精密源/测量单元 (SMU) 是一款 2 通道、紧凑且经济高效的台式 SMU,能够源和测量电压和电流。它用途广泛,可以轻松、高精度地执行 I/V(电流与电压)测量。4 象限源和测量功能的集…