llamafactory-llama3微调中文数据集

一、定义

https://github.com/SmartFlowAI/Llama3-Tutorial/tree/main

  1. 基准模型测试
  2. opencompass 离线测评
  3. 数据准备
  4. 微调训练
  5. 合并
  6. 测试
  7. 人工审核对比

二、实现

  1. 基准模型测试
    基准模型 llama3-8b
    https://zhuanlan.zhihu.com/p/694818596?
    https://github.com/SmartFlowAI/Llama3-Tutorial/blob/main/docs/opencompass.md
    https://github.com/InternLM/Tutorial/blob/camp2/data_fine_tuning/data_fine_tuning.md
CUDA_VISIBLE_DEVICES=0 llamafactory-cli eval \
--model_name_or_path /home/Meta-Llama-3-8B-Instruct \
--template llama3 \
--task triviaqa \
--split validation \
--lang en \
--n_shot 5 \
--batch_size 1

在这里插入图片描述
个人认为,虽然epoch=1 在标准指标中中文评估能力大于epoch=3,但人工审核过程中,epoch =3 在中文表达上更满足人的需求。随着训练轮次的增加,模型更倾向于表达中文。

  1. opencompass 离线测评
    部署见opencompass 配置篇
from mmengine.config import read_basewith read_base():from .datasets.mmlu.mmlu_gen_4d595a import mmlu_datasetsdatasets = [*mmlu_datasets]from opencompass.models import HuggingFaceCausalLMbatch_size = 20
# 指定评测模型
model_name_or_paths = [                              #可以多个模型'/home/Meta-Llama-3-8B-Instruct'
]
models = []   #模型以及配置放于列表中for model_name_or_path in model_name_or_paths:abbr = model_name_or_path.split('/')[-1]model = dict(type=HuggingFaceCausalLM,abbr=abbr,path=model_name_or_path,tokenizer_path=model_name_or_path,tokenizer_kwargs=dict(padding_side='left',truncation_side='left',use_fast=False,trust_remote_code=True),max_out_len=1024,max_seq_len=2048,batch_size=batch_size,model_kwargs=dict(device_map='auto', trust_remote_code=True),batch_padding=False,  # if false, inference with for-loop without batch paddingrun_cfg=dict(num_gpus=2, num_procs=2),)models.append(model)# python run.py configs/eval_llama3_8b_demo.py
  1. 数据准备
    https://github.com/InternLM/Tutorial/blob/camp2/data_fine_tuning/data_fine_tuning.md
    https://modelscope.cn/datasets/baicai003/Llama3-Chinese-dataset/summary
    https://huggingface.co/datasets/m-a-p/COIG-CQIA
import datasets
data=datasets.load_dataset("llamafactory/alpaca_gpt4_zh")
data=data["train"]
res=[]
for i in range(len(data)):res.append(data[i])
import json
with open('alpaca_gpt4_zh.json', 'w',encoding="utf8") as file:# 使用缩进格式化输出 JSON 数据json.dump(res, file, indent=4,ensure_ascii=False)
#42677
"alpaca_gpt4_zh_local": {"file_name": "alpaca_gpt4_zh.json"}#16493"Llama3-Chinese-dataset_local": {"file_name": "Llama3-Chinese-dataset.json"}#11262"COIG-CQIA_local": {"file_name": "COIG-CQIA.json"}#51983"alpaca_gpt4_en_local": {"file_name": "alpaca_gpt4_en.json"}
  1. 微调训练
#lora 双卡微调
CUDA_VISIBLE_DEVICES=0,1 nohup llamafactory-cli train \--stage sft \--do_train \--model_name_or_path /home/Meta-Llama-3-8B-Instruct \--dataset alpaca_gpt4_zh_local,Llama3-Chinese-dataset_local,COIG-CQIA_local,alpaca_gpt4_en_local  \--dataset_dir ./data \--template llama3 \--finetuning_type lora \--output_dir ./saves/LLaMA3-8B/lora/sft \--overwrite_cache \--overwrite_output_dir \--cutoff_len 1024 \--preprocessing_num_workers 16 \--per_device_train_batch_size 4 \--per_device_eval_batch_size 2 \--gradient_accumulation_steps 8 \--lr_scheduler_type cosine \--logging_steps 50 \--warmup_steps 20 \--save_steps 100 \--eval_steps 50 \--evaluation_strategy steps \--load_best_model_at_end \--learning_rate 5e-5 \--num_train_epochs 3.0 \--val_size 0.1 \--plot_loss \--fp16> output.log 2>&1 &
#3 个epoch 有些过拟合,采用1个epoch
CUDA_VISIBLE_DEVICES=0,1 nohup llamafactory-cli train \--stage sft \--do_train \--model_name_or_path /home/Meta-Llama-3-8B-Instruct \--dataset alpaca_gpt4_zh_local,Llama3-Chinese-dataset_local,COIG-CQIA_local,alpaca_gpt4_en_local  \--dataset_dir ./data \--template llama3 \--finetuning_type lora \--output_dir ./saves/LLaMA3-8B/lora/sft_1 \--overwrite_cache \--overwrite_output_dir \--cutoff_len 1024 \--preprocessing_num_workers 16 \--per_device_train_batch_size 4 \--per_device_eval_batch_size 2 \--gradient_accumulation_steps 8 \--lr_scheduler_type cosine \--logging_steps 50 \--warmup_steps 20 \--save_steps 100 \--eval_steps 50 \--evaluation_strategy steps \--load_best_model_at_end \--learning_rate 5e-5 \--num_train_epochs 1.0 \--val_size 0.1 \--plot_loss \--fp16> output.log 2>&1 &
  1. 合并
CUDA_VISIBLE_DEVICES=0 llamafactory-cli export \--model_name_or_path /home/Meta-Llama-3-8B-Instruct \--adapter_name_or_path ./saves/LLaMA3-8B/lora/sft  \--template llama3 \--finetuning_type lora \--export_dir megred-model-path-1 \--export_size 2 \--export_device cpu \--export_legacy_format False
  1. 测试
    微调后:
CUDA_VISIBLE_DEVICES=0 llamafactory-cli chat \--model_name_or_path megred-model-path  \--template llama3 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
微调前:
在这里插入图片描述

CUDA_VISIBLE_DEVICES=0 llamafactory-cli eval \
--model_name_or_path megred-model-path \
--template llama3 \
--task mmlu \
--split validation \
--lang en \
--n_shot 5 \
--batch_size 1

在这里插入图片描述
7. 人工审核对比
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

品牌窜货治理:维护市场秩序与品牌健康的关键

品牌在各个渠道通常都会设定相应的销售规则,其中常见的便是区域保护制度,比如 A 地区的货物只能在 A 地区销售,各区域的产品价格和销售策略均有所不同,因此 A 地区的货物不能流向 B 地区,否则就被称为窜货。 窜货现象不…

劳易测应用案例:橡胶密炼生产线安全改造项目(下)

橡胶密炼是汽车轮胎制造流程中的核心环节,主要负责将橡胶与多种添加剂混合,确保均匀分散,以制备合格的橡胶材料。橡胶密炼生产线由多个关键设备组成,包括切胶机、导切机、称重和输送系统、密炼机、开炼机以及胶片冷却机等&#xf…

匠心铸就服务品质,全视通技术服务获盘锦市中医医院高度认可

一声表扬,万分肯定 寥寥数语,情意深重 承载着荣誉 道出了心声 传达了谢意 倾注了期盼 字里行间的内容 是对全视通技术服务的高度认可 记录了全视通与盘锦市中医医院之间的双向奔赴 盘锦市中医医院表扬信是对全视通技术服务团队工作的高度认可&am…

Xilinx FPGA:vivado实现串口的接收端

补充一些串口里用到的数值的相关知识点 接收端串口时序图: 程序设计: timescale 1ns / 1ps /串口接收端 串行转并行 module uart_rx(input sys_clk ,input rst_n ,input rx_data , //输入…

【C++】相机标定源码笔记-通用工具函数类

提供了一系列工具函数及处理方法&#xff0c;主要用于图像处理、点云处理和文件操作等领域。以下是对关键函数的简要解析&#xff1a; 点云处理与平面拟合 包含两个重载函数&#xff0c;一个接受Eigen矩阵类型的点集&#xff0c;另一个接受pcl::PointCloud<pcl::PointXYZ>…

【Java中导出Excel导出多个sheet页】

Java中导出Excel导出多个sheet页 序言如何处理多个sheet页的导出期间遇到了一个sheet页相关的问题&#xff0c;以及解决办法多sheet页导出遇到&#xff0c;第二个sheet页的标题名称会把第一个的覆盖的问题 结语 序言 在日常工作中经常有导出数据文件的需求&#xff0c;避免不了…

工具篇:鸿蒙DevEco Studio5.0版本下载及安装

1、下载中心地址 下载中心 | 华为开发者联盟-HarmonyOS开发者官网&#xff0c;共建鸿蒙生态 2、安装 DevEco Studio支持Windows和macOS系统&#xff0c;下面将针对两种操作系统的软件安装方式分别进行介绍。 Windows环境 运行环境要求 为保证DevEco Studio正常运行&#…

电机驱动知识点总结

一、直流电机入门基础知识 1.直流电机原理 下面是分析直流电机的物理模型图。其中&#xff0c;固定部分有磁铁&#xff0c;这里称作主磁极&#xff1b;固定部分还有电刷。转动部分有环形铁心和绕在环形铁心上的绕组。(其中 2 个小圆圈是为了方便表示该位置上的导体电势或电流…

GaussDB关键技术原理:高性能(二)

GaussDB关键技术原理&#xff1a;高性能&#xff08;一&#xff09;从数据库性能优化系统概述对GaussDB的高性能技术进行了解读&#xff0c;本篇将从查询处理综述方面继续分享GaussDB的高性能技术的精彩内容。 2 查询处理综述 内容概要&#xff1a;本章节介绍查询端到端处理的…

基于STM32F103最小系统板和DL-LN33 2.4G通信 ZigBee无线串口自组网采集温湿度

文章目录 前言一、组网概述二、产品特性三、电气特性四、引脚配置五、UART通信协议5.1 UART参数5.2 包分割5.3 端口5.4 举例通信5.4.1 一个节点给另一个节点发送数据5.4.2 一个节点给另一个节点的内部端口发送数据5.4.3 一个节点给自己的内部端口发送数据5.4.4 不推荐的数据传输…

气膜体育馆的安装流程—轻空间

随着人们对健康生活和高品质运动环境的追求&#xff0c;气膜体育馆因其独特的优点而逐渐受到青睐。轻空间将详细介绍气膜体育馆的安装流程&#xff0c;从实地勘测到检测&#xff0c;再到最终的清理现场&#xff0c;每一步都至关重要&#xff0c;确保体育馆的安全性和功能性。 一…

内网穿透与异地组网强强联合,这款工具屌爆了!!!

在数字化飞速发展的今天&#xff0c;远程访问的需求日益增长&#xff0c;网络已成为我们生活和工作中不可或缺的一部分。然而&#xff0c;远程网络连接的稳定性和安全性往往是我们关注的焦点。节点小宝作为一款创新型的远程管理工具&#xff0c;凭借其使用简单&#xff0c;高速…

RabbitMQ WEB管理端介绍

页面功能概览 Overview(概述)Connections(连接)Channels(通道)Exchanges(交换器)Queues(队列)Admin(用户管理)。 1. Overview(概述) 主要分为三部分 1.1 Queued messages&#xff08;所有队列的消息情况&#xff09; Ready&#xff1a;待消费的消息总数Unacked&#xff1a;待应…

实时美颜技术解析:视频美颜SDK如何改变直播行业

实时美颜技术的出现&#xff0c;尤其是视频美颜SDK的应用&#xff0c;正逐渐改变着直播行业的生态。 一、实时美颜技术的原理 实时美颜技术利用人工智能和图像处理算法&#xff0c;对视频中的人物面部进行优化和修饰。该技术通常包含以下几个步骤&#xff1a; 1.人脸检测和识…

OpenGL->OpenGL环境搭建和配置

OpenGL概述 OpenGL&#xff1a;用于渲染2D、3D矢量图形的APIGLEW&#xff1a;是一个跨平台的C/C库&#xff0c;能够使用更高版本的OpenGL扩展特性GLFW&#xff1a;创建和管理OpenGL上下文&#xff0c;管理渲染窗口&#xff0c;处理输入事件&#xff0c;更轻量GLUT&#xff1a;…

视频格式转换方法:如何使用视频转换器软件转换视频

众所周知&#xff0c;目前存在许多不同的视频和音频格式。但我们的媒体播放器、移动设备、PC 程序等仅兼容少数特定格式。例如&#xff0c;如果不先将其转换为 MP4、MOV 或 M4V 文件&#xff0c;AVI、WMV 或 MKV 文件就无法在 iPhone 上播放。 视频转换器允许您将一种视频格式…

解决微信小程序使用textarea输入框 type=“textarea“ 文本输入限制问题

出现的问题 type"textarea" 这个限制 微信小程序使用textarea , 输入字数大于140 时就输入不进去了 加入这个就解决了 maxlength"-1" <u-inputv-model"queryParams.orderIdTxt"border"true":focus"true":auto-height&q…

【知识学习】阐述Unity3D中Stencil的概念及使用方法示例

在Unity3D中&#xff0c;Stencil&#xff08;模板&#xff09;是一种高级的图形渲染技术&#xff0c;它允许开发者对渲染过程进行精细控制。Stencil Buffer是附加在颜色缓冲区和深度缓冲区之外的另一个缓冲区&#xff0c;它可以用来存储每个像素是否应该被渲染的信息。 Stenci…

自动化物流控制系统WCS应用与异常处理

导语 大家好&#xff0c;我是社长&#xff0c;老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》人俱乐部 完整版文件和更多学习资料&#xff0c;请球友到知识星球【智能仓储物流技术研习社】自行下载 WCS的定义与作用&#xff1a; 物流仓储设备…

探索AIGC治愈系创作:Stable Diffusion 带你轻松复刻某书爆款动漫卡通文案!

hello&#xff0c;大家好我是安琪&#xff01; 情感治愈类一直是受众群体很高非常火爆的赛道&#xff0c;安琪也关注到在某书平台上&#xff0c;漫画治愈类风格的内容也是非常的受欢迎。先来看看以下一些案例 看看这几个账号内容的质量就可以看出该部分内容是很受欢迎的&#x…