微调Mistral 7B以实现命名实体识别 (NER)

文章来源:fine-tuning-mistral-7b-for-named-entity-recognition-ner

2024 年 4 月 19 日

在自然语言处理(NLP)领域,命名实体识别(NER)被认为是一项关键任务,应用范围广泛,包括信息提取和问题解答系统。

Mistral 7B 是由 Mistral AI 开发的一种创新型开源大型语言模型,它的推出为 NLP 领域带来了重大变革。本文旨在深入探讨 Mistral 7B 在处理 NER 任务方面的能力,重点介绍如何对这一先进模型进行微调,以实现卓越的实体识别性能。

命名实体识别简介

命名实体识别(NER)是 NLP 的一项基本任务,主要用于识别文本中的命名实体并对其进行分类,例如人名、地点、组织、日期等。命名实体的精确识别对于信息检索、情感分析和知识图谱构建等众多下游应用至关重要。

传统的命名实体识别系统依赖于人工规则创建和特征工程技术,这些技术往往缺乏跨领域的可扩展性和鲁棒性。

然而,Mistral 7B 等深度学习和预训练语言模型的出现彻底改变了这一领域。这些模型提供了一种利用大量文本数据的数据驱动方法,从而提高了 NER 任务的性能和可扩展性。

锐意进取: Mistral 7B 与其他开源 LLM 的比较

Mistral 7B 作为领先的竞争者脱颖而出,提供了性能、效率和可访问性的独特融合。与同类产品相比,Mistral 7B 融合了创新的架构元素,如分组查询关注和滑动窗口关注,从而提高了推理速度和序列处理能力。

这些进步不仅使 Mistral 7B 与众不同,还凸显了它在各种自然语言处理(NLP)任务中的卓越适应性和弹性。此外,Mistral 7B 的 Apache 2.0 许可和社区驱动的开发方法营造了协作和创新的氛围,巩固了其在寻求最先进语言理解模型的研究人员和从业人员中的首选地位。

揭幕 Mistral 7B:NLP 领域的游戏规则改变者

Mistral 7B 是语言模型领域的创新力量,它拥有令人印象深刻的 70 亿个参数,经过精心设计,可以应对错综复杂的自然语言。

Mistral 7B 采用了分组查询关注(GQA)和滑动窗口关注(SWA)等最先进的功能,表现出无与伦比的性能和效率,成为包括命名实体识别在内的 NLP 任务的有力选择。

GQA 的加入使 Mistral 7B 能够加快推理速度,实现对文本数据的实时处理,这对于在动态环境中运行的 NER 任务来说是必不可少的能力。此外,SWA 使 Mistral 7B 能够有效地处理不同长度的序列,确保在各种文本输入中都能保持稳定的性能。

针对 NER 微调 Mistral 7B:释放其全部潜能

尽管 Mistral 7B 在预训练状态下表现出了令人印象深刻的能力,但通过微调过程,它的潜力得以充分发挥。在微调过程中,会对模型参数进行调整,以适应特定任务和数据集的复杂性。针对命名实体识别(NER)任务对 Mistral 7B 进行微调,需要在有注释的数据上进行额外的训练,使模型能够掌握特定领域的模式,提高识别实体的准确性。

安装微调 Mistral 所需的 Python 软件包和库

1

2

使用 UBIAI 工具进行数据标注和结构设计

在对 Mistral 7B 等大型语言模型进行微调时,数据的质量和相关性是对模型的性能和有效性产生重大影响的关键因素。利用高质量、有良好注释的数据可确保模型从准确且有代表性的示例中学习,从而提高其泛化和生成可靠输出的能力。

本教程的数据来源于 UBIAI,该平台以其强大的注释工具和全面的 NLP 功能而著称。利用 UBIAI 的注释功能,可以确保用于微调的数据经过精心标注,并针对手头的特定任务进行定制,从而最大限度地提高训练过程的有效性。

3

4

该代码从包含发票信息的文件中读取 JSON 数据。它将数据组织成结构化格式,确保没有重复注释。处理后的结果将被存储起来,用于进一步分析和微调 Mistral 的命名实体识别 (NER) 任务。

5

6

7

不同标签: {'人'、'产品'、'设施'、'金钱'、'事件'、'日期'、'组织'、'地点'}。

数据集由包含名称、文本和注释的文档组成。这些注释包括个人、组织、地点、设施、事件等各种实体,为命名实体识别(NER)任务提供了结构化数据。

8

9

现在,该数据集增加了一个全面的提示,划定了实体提取任务的说明。每条指令都为提取各种标签(包括日期、个人、组织、地点、设施、事件、金钱和产品)中的实体提供了精确的指导。提示强调了回答的准确性和相关性的重要性,提供了确保提取信息的一致性和全面性的指导原则。

这种结构化的提示有助于简化实体识别任务的数据处理,与 NER(命名实体识别)流程的目标完全一致。

10

11

这一过程包括将数据子集转换为字符串表示法,将其附加到列表中,并保存到 CSV 文件中。随后,CSV 文件被读入 Pandas DataFrame,并转换为 Hugging Face Datasets对象,以便进一步处理。

12

13

使用 BitsAndBytesConfig 配置加载 Mistral 7B 基本模型,可实现量化,从而提高内存使用效率和推理速度。此外,还加载了与 Mistral 7B 相关的标记符,确保为文本处理任务提供适当的填充和序列末端标记符设置。

14

15

本节代码使用 Weights & Biases (W&B) 平台对 Mistral 7B 的微调过程进行监控。通过使用所提供的 API 密钥与 W&B 进行身份验证,训练进度和性能指标将受到持续的实时监控。wandb.init() "函数会在指定项目("微调 Mistral 7B UBIAI")中启动新的运行,并将作业类型指定为 "训练"。启用匿名访问可确保训练数据的安全,同时促进协作监测和分析

16

初始化训练过程的超参数,定义输出目录、历时次数、批量大小、学习率和记录频率等设置。此外,它还会配置 SFTTrainer,指定模型、数据集、标记化器和其他相关参数,这些参数对微调 Mistral 7B 以完成给定任务至关重要。

17

18

19

试试我们的模型 使用用户提示测试 Mistral 7B

所提供的函数流将用户提示作为输入,并使用 Mistral 7B 模型根据该提示生成文本。它利用模型的 generate 方法,以用户提示为上下文生成文本。生成的文本将作为输出返回。

20

21

结果

22

结论

为命名实体识别微调 Mistral 7B 是实体识别任务的变革性方法,可提供更高的性能、适应性和效率。随着企业不断利用 NER 进行信息提取、知识发现等工作,Mistral 7B 所释放的功能为 NLP 的突破性进展铺平了道路。通过利用 Mistral 7B 的强大功能并针对 NER 进行微调,从业人员可以在理解和处理文本数据方面开启新的可能性,从而推动不同领域的创新。

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

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

相关文章

电脑找不到msvcp140.dll如何修复?msvcp140.dll丢失的多种解决方法分享

在日常电脑操作过程中,用户可能会遇到一个令人困扰的问题,即屏幕上突然弹出一条错误提示:“由于找不到msvcp140.dll,无法继续执行代码”。这一情况往往导致应用程序无法正常启动或运行,给工作和娱乐带来不便。不过&…

ICode国际青少年编程竞赛- Python-1级训练场-for循环入门

ICode国际青少年编程竞赛- Python-1级训练场-for循环入门 1、 for i in range(4):Dev.step(4)Dev.turnLeft()2、 for i in range(3):Dev.step(6)Dev.turnRight()3、 for i in range(3):Dev.turnRight()Dev.step(2)Dev.turnLeft()Dev.step(-3)4、 for i in range(4):Dev…

数据结构-AVL树

目录 什么是 AVL 树 ASL 度量查找效率 结构体定义 平衡调整 调整类型 左旋和右旋 右旋 左旋 左、右平衡调整 左平衡调整 右平衡调整 插入数据 模拟建立 AVL 树 什么是 AVL 树 二叉排序树的形状取决于数据集,当二叉树的高度越小、结构越合理&#xff0c…

如何在iOS设备(iPhone,iPad等)上恢复丢失的照片

如果你像现代90%的人一样拥有智能手机,那么你很可能使用口袋里的微型电脑拍摄大部分(如果不是全部)照片,而不是标准的傻瓜相机或数码单反相机。 像任何数字设备一样,存储和保存这些照片可能是一个变化无常的过程&…

MySQL商城数据库88张表结构(46—50)

46、消息队列表 CREATE TABLE dingchengyu消息队列表 (id int(11) NOT NULL AUTO_INCREMENT COMMENT 序号,userId int(11) DEFAULT NULL COMMENT 用户id,msgTtype tinyint(4) DEFAULT 0 COMMENT 消息类型,createTime datetime DEFAULT NULL COMMENT 创建时间,sendTime datetim…

centos7安装真的Redmine-5.1.2+ruby-3.0.0

下载redmine-5.1.2.tar.gz,上传到/usr/local/目录下 cd /usr/local/ tar -zxf redmine-5.1.2.tar.gz cd redmine-5.1.2 cp config/database.yml.example config/database.yml 配置数据连接 #编辑配置文件 vi config/database.yml #修改后的内容如下 product…

学习CSS3,实现红色心形loading特效

试想一下,如果你的网站在加载过程中,loading图由一个老旧的菊花转动图片,变为一个红色的心形loading特效,那该有多炫酷啊。 目录 实现思路 初始化HTML部分 延迟动画是重点 设定动画效果 完整源代码 最后 实现思路 每个…

问界M7碰撞后车门打不开,都是隐形门把手的错?

问界M7碰撞后车门打不开,并不能简单地归咎于隐形门把手的设计。实际上,碰撞后车门无法打开可能涉及多个因素,具体分析如下: 隐藏式门把手的设计与工作原理:隐藏式门把手在正常状态下与车身表面齐平,解锁时才…

AI图书推荐:如何使用ChatGPT来提升逻辑分析能力

在一个日益由数据和技术驱动的世界中,进行逻辑思考和做出明智决策的能力比以往任何时候都更为关键。逻辑分析构成了理性思考的基础,引导我们穿越复杂问题,并帮助我们得出合理的结论。随着人工智能(AI)的出现&#xff0…

C语言-调试技巧

目录 一、调试介绍1.1 Debug和Release的介绍1.2 Windows环境调试介绍1.2.1 学会快捷键1.2.2 查看临时变量的值1.2.3 查看内存信息1.2.4 查看调用堆栈1.2.4 查看汇编信息1.2.5 查看寄存器信息 二、编程常见的错误2.1 编译型错误2.2 链接型错误2.3 运行时错误 三、易于调试的代码…

【C++】双指针算法:四数之和

1.题目 2.算法思路 这道题目十分困难,在leetcode上的通过率只有36%,大家要做好心理准备。 在做个题目前强烈建议大家先看看我的上一篇博客:有效三角形个数,看完之后再去leetcode上写一写三数之和,搞懂那两个题目之后…

网络安全实训Day16

网络空间安全实训-渗透测试 漏洞扫描 定义 扫描和探测目标范围内的主机存在哪些安全漏洞,或扫描目标范围内的那些主机存在某个指定的漏洞 漏扫工具 AWVS APPScan MSF 使用MSF扫描漏洞并利用 1.搜索需要的攻击模块 search ms17-010 2.使用攻击模块 use 模块名称…

jsp校园商城派送系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 校园商城派送系统 是一套完善的web设计系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统采用serlvetdaobean mvc 模式,系统主要采用B/S模式 开发。开发环境为TOMCAT7.0,Myeclipse8.…

每日一题-贪心算法

目录 前言 买入股票的最佳时机(1) 买入股票的最好时机(2) 前言 当你踏上贪心算法的旅程,仿佛置身于一场智慧的盛宴,每一步都是对问题解决方案的审慎选择,每一次决策都是对最优解的向往。贪心算法以其简洁高效的特性,被广泛运用于…

yolov5-pytorch-Ultralytics训练+预测+报错处理记录

一、前言 玩一段时间大模型,也该回归一下图像识别。本项目用于记录使用基于Ultralytics的yolov5进行目标检测测试。为什么用Ultralytics呢?答案有3 1、其良好的生态,方便我们部署到其它语言和设备上。因此本次测试结论:大坑没有&…

基于YOLOv8的水稻虫害识别系统,加入BiLevelRoutingAttention注意力进行创新优化

💡💡💡本文摘要:基于YOLOv8的水稻虫害识别,阐述了整个数据制作和训练可视化过程,并加入BiLevelRoutingAttention注意力进行优化,最终mAP从原始的 0.697提升至0.732 博主简介 AI小怪兽&#xff…

pyqt标签常用qss格式设置

pyqt标签常用qss格式设置 QSS介绍标签常用的QSS设置效果代码 QSS介绍 Qt Style Sheets (QSS) 是 Qt 框架中用于定制应用程序界面样式的一种语言。它类似于网页开发中的 CSS(Cascading Style Sheets),但专门为 Qt 应用程序设计。使用 QSS&…

[信息收集]-端口扫描--Nmap

端口号 端口号的概念属于计算机网络的传输层,标识这些不同的应用程序和服务而存在的。通过使用不同的端口号,传输层可以将接收到的数据包准确地传递给目标应用程序。 80:HTTP(超文本传输协议)用于Web浏览器访问网页 …

怎么证明E[E(X|Y,Z)Y]= E(X|Y)

性质8的证明 物理意义

中霖教育:资产评估师报考攻略

一、报考条件 1 参加资产评估师考试的基本条件:为中国公民 2 具有完全民事行为能力 3 具有高等院校专科以上(含专科)学历 符合上述报名条件,暂未取得学历(学位)的大学生可报名参加考试 二、报名时间 报名时间:2024年3月25日9:00至5月10日24:00 补…