llama-factory SFT系列教程 (三),chatglm3-6B 命名实体识别实战

背景

  • llama-factory SFT系列教程 (一),大模型 API 部署与使用
  • llama-factory SFT系列教程 (二),大模型在自定义数据集 lora 训练与部署
  • 本文为llama-factory SFT系列教程 第三篇

简介

利用 llama-factory 框架,基于 chatglm3-6B 模型 做命名实体识别任务;

装包

git clone https://github.com/hiyouga/LLaMA-Factory.git
# conda create -n llama_factory python=3.10
# conda activate llama_factory
cd LLaMA-Factory
pip install -e .[metrics]

在 LLaMA-Factory 文件夹下,创建一个脚本文件夹,用来存放本次实验的数据集和脚本文件

mkdir glm_ner_scripts
cd glm_ner_scripts
git clone https://www.modelscope.cn/datasets/jieshenai/llm_clue_ner2020.git

使用 git clone 下载数据集和脚本文件

数据集

该数据集参考的 DeepKE的数据格式;

DeepKE 的代码不够通用,本文使用 llama-factory 做命名实体识别和通用的数据集格式,更方便读者学习与使用;

数据里已发布在 modelscope 平台上;

数据集示例:

{
	"instruction": "你是专门进行实体抽取的专家。请从input中抽取出符合schema定义的实体,不存在的实体类型返回空列表。请按照JSON字符串的格式回答。 schema: ['address', 'book', 'company', 'game', 'government', 'movie']", 
	"input": "浙商银行企业信贷部叶老桂博士则从另一个角度对五道门槛进行了解读。叶老桂认为,对目前>国内商业银行而言,", 
	"output": "{\"address\": [], \"book\": [], \"company\": [\"浙商银行\"], \"game\": [], \"government\": [], \"movie\": []}"
}

将 命名实体识别任务转换为 序列到序列的生成任务;


llm_ner: 数据集名;
file_name: 文件名;
file_sha1: 利用 sha1sum test.json 计算文件的sha1值;
在这里插入图片描述

lora 微调

train.sh

CUDA_VISIBLE_DEVICES=0 python ../src/train_bash.py \
--stage sft \
--do_train \
--model_name_or_path ZhipuAI/chatglm3-6b \
--dataset_dir ../data \
--dataset llm_ner \
--template chatglm3 \
--finetuning_type lora \
--lora_target query_key_value \
--output_dir output \
--overwrite_cache \
--per_device_train_batch_size 4 \
--gradient_accumulation_steps 4 \
--lr_scheduler_type cosine \
--logging_steps 10 \
--save_strategy epoch \
--learning_rate 5e-5 \
--num_train_epochs 3.0 \
--plot_loss \
--fp16
  • dataset_dir: llama-factory data/dataset_info.json 的文件夹路径;
    因为自定义数据集的配置信息,写在 dataset_info.json 文件中;
  • dataset : 在 data/dataset_info.json 中,配置的自定义数据集的名字;

在output文件夹中可找到训练过程中损失值图:
在这里插入图片描述

推理

使用训练完成的 LoRA 权重进行推理;

部署
在这里插入图片描述
curl 请求

评估

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

.NET SignalR Redis实时Web应用

环境 Win10 VS2022 .NET8 Docker Redis 前言 什么是 SignalR? ASP.NET Core SignalR 是一个开放源代码库,可用于简化向应用添加实时 Web 功能。 实时 Web 功能使服务器端代码能够将内容推送到客户端。 适合 SignalR 的候选项: 需要从服…

centos 7 sshd服务无法自动随机启动

centos 7 sshd 服务无法伴随主机启动而启动&#xff0c;而使用systemctl start sshd可以启动&#xff0c;很奇怪。 后来使用Kimi查询&#xff0c;有提示“检查系统启动服务的顺序和状态” systemctl list-dependencies <service>确保所有依赖服务都已正常启动。 查看本…

ArcGIS Desktop使用入门(三)图层右键工具——标注要素、将标注转换为注记

系列文章目录 ArcGIS Desktop使用入门&#xff08;一&#xff09;软件初认识 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——标准工具 ArcGIS Desktop使用入门&#xff08;二&#xff09;常用工具条——编辑器 ArcGIS Desktop使用入门&#xff08;二&#x…

python基础——类【类的定义和使用、魔术方法】

&#x1f4dd;前言&#xff1a; python中的类&#xff0c;自我感觉在某种程度上和C语言的结构体是有共同之处的&#xff0c;如果有兴趣&#xff0c;可以先看看这篇文章&#xff1a;C语言——结构体类型&#xff08;一&#xff09;&#xff0c;先了解一下C语言中的结构体&#x…

使用springboot整合shiro进行登录认证(md5+盐值+散列次数)

准备工作&#xff1a; md5加密算法&#xff1a; public class md5Test {Testpublic void md5() {//明文(123) 盐值(monian) 加密次数(1024) > 密文 8ea680082c12d7d878a3a97214ebbdc2Md5Hash md5Hash new Md5Hash("123","monian",1024);System…

【蓝桥杯嵌入式】串口通信与RTC时钟

【蓝桥杯嵌入式】串口通信与RTC时钟 串口通信cubemx配置串口通信程序设计 RTC时钟cubemx配置程序设计 串口通信 cubemx配置 打开串口通信&#xff0c;并配置波特率为9600 打开串口中断 重定义串口接收与发送引脚&#xff0c;默认是PC4&#xff0c;PC5&#xff0c;需要改为P…

vue3 依赖-组件tablepage-vue3说明文档,列表页快速开发,使用思路及范例(Ⅳ)其他配置项

vue3 依赖-组件tablepage-vue3说明文档&#xff0c;列表页快速开发&#xff0c;使用思路及范例&#xff08;Ⅰ&#xff09;配置项文档 vue3 依赖-组件tablepage-vue3说明文档&#xff0c;列表页快速开发&#xff0c;使用思路及范例&#xff08;Ⅱ&#xff09;搜索及数据获取配…

STL函数对象

1&#xff0c;函数对象 1.1 函数对象概念 概念&#xff1a; 重载函数调用操作符的类&#xff0c;其对象常称为函数对象函数对象使用重载的&#xff08;&#xff09;时&#xff0c;行为类似函数调用&#xff0c;也称为仿函数 本质&#xff1a; 函数对象&#xff08;仿函数&…

国外站群服务器有哪几种?

国外站群服务器种类繁多&#xff0c;它们各具特色&#xff0c;适用于不同的业务需求和场景。以下将为您科普几种常见的国外站群服务器及其特点。 首先&#xff0c;美国站群服务器以其丰富的IP资源和强大的网络技术著称。作为全球网络技术和数据中心发展的领先者&#xff0c;美国…

僵尸进程和孤儿进程

目录 引言僵尸进程僵尸进程的状态僵尸进程周边知识 孤儿进程孤儿进程的状态 进程中的其他状态①.R---表示进程运行状态。②.S---表示进程的休眠状态。(进程什么都没做)③T 和 t 进程的运行、阻塞和挂起运行阻塞挂起状态&#xff1a; 引言 今天我们来将僵尸进程和孤儿进程以及其…

matlab使用教程(42)—常见的二维图像绘制方法

这个博客用于演示如何在 MATLAB 中创建曲线图、条形图、阶梯图、误差条形图、极坐标图、针状图、散点图。 1.曲线图 plot 函数用来创建 x 和 y 值的简单线图。 x 0:0.05:5; y sin(x.^2); figure plot(x,y) 运行结果&#xff1a; 线图可显示多组 x 和 y 数据。 x 0:0.05:…

如何正确使用数字化仪前端信号调理?(二)

在上期文章如何正确使用数字化仪前端信号调理&#xff1f;&#xff08;一&#xff09;中&#xff0c;我们为大家介绍了数字化仪前端电路所需的特性以及使用过程中需要的输入抗阻和输入耦合&#xff0c;本期文章将为您介绍数字化仪前端信号调理的使用过程中所需的输入电压范围&a…

一键开启Scrum回顾会议的精彩时刻

其实回顾会议作为一个检视、反馈、改进环节&#xff0c;不仅在传统的瀑布管理模式中&#xff0c;还是在Scrum一类的敏捷管理流程中&#xff0c;都是非常重要的活动。一些团队认为它无法产生直接的价值&#xff0c;所以有意忽略了这个会议&#xff1b;一些团队在越来越多的回顾中…

bilibili PC客户端架构设计——基于Electron

众所周知&#xff0c;bilibili是个学习的网站&#xff0c;网页端和粉版移动端都非常的好用&#xff0c;不过&#xff0c;相对其它平台来说bilibili的PC客户端也算是大器晚成了。在有些场景PC客户端的优势也是显而易见的&#xff0c;比如&#xff0c;跓留电脑桌面的快捷、独立的…

Redis搭建主从

Redis搭建主从: 1:拉取Redis镜像 docker pull redis2:创建主从对应的目录结构 3:对redis6379.log,redis6380.log,redis6381.log进行授权 chmod 777 redis6379.log chmod 777 redis6380.log chmod 777 redis6381.log4:修改主(master)的配置文件 5:创建主(master) redis_6379 …

二维数组---刷题

一维数组不想更了&#xff0c;弄点二维数组&#xff01; 1.对角线 已知一个6*6的矩阵&#xff0c;把矩阵两条对角线上的元素加上10&#xff0c;然后输出这个新矩阵。 思路 题目简单&#xff0c;6*636&#xff0c;可以得知有36个元素。数组就定义成a[7][7]&#xff0c;难点在与…

最前沿・量子退火建模方法(1) : subQUBO讲解和python实现

前言 量子退火机在小规模问题上的效果得到了有效验证&#xff0c;但是由于物理量子比特的大规模制备以及噪声的影响&#xff0c;还没有办法再大规模的场景下应用。 这时候就需要我们思考&#xff0c;如何通过软件的方法怎么样把大的问题分解成小的问题&#xff0c;以便通过现在…

哪些因素影响阻抗控制?网格铜的妙用

原文来自微信公众号&#xff1a;工程师看海&#xff0c;与我联系&#xff1a;chunhou0820 看海原创视频教程&#xff1a;《运放秘籍》 大家好&#xff0c;我是工程师看海&#xff0c;原创文章欢迎点赞分享&#xff01; 前文介绍了传输线、特性阻抗以及信号的反射概念&#xff…

【漏洞复现】用友 NC PaWfm SQL注入漏洞

0x01 产品简介 用友NC是用友网络科技股份有限公司开发的一款大型企业数字化平台。它主要用于企业的财务核算、成本管理、资金管理、固定资产管理、应收应付管理等方面的工作&#xff0c;致力于帮助企业建立科学的财务管理体系&#xff0c;提高财务核算的准确性和效率。 0x02 …

在线批量生成URL HTML单页网页程序

输入前缀、开始数字、结束数字、后缀 即可快速生成 几万、十万、百万 条链接。 支持 一键复制、 一键导出本地 txt 文件。 源码免费下载地址抄笔记 (chaobiji.cn)