uie模型微调个人总结

2023-10-31 05:50
文章标签 总结 模型 微调 个人 uie

本文主要是介绍uie模型微调个人总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

技巧:

六月三十号补充,uie处理3000字的政策文件要占用12G左右的内存,uie处理一万字的文件时运行巅峰要占用28G左右内存,各位部署时,注意out of memory的错误,对应万字的超长文本目前只有加内存的解决方案。

六月二十七号补充,uie的schema定义时尽量一个schema的长度低于7个字,不然有很大概率,模型识别的效果很差,如图:“执行标准”有一个比较好的抽取效果,“文件执行范围和标准”就完全抽不出来,当然我doccano标注数据的schema也是和不同schema之间保持一致的。

为什么能不固定prompt?

传统Prompt模板各有不同,应对少样本能力不一样

UIE用大量数据固定了prompt的构造方式,就是条件加上抽取标签,所以有不固定的特点

标签其实模型压根都没见过,模型照样能看出来

Prompt技巧

1.与原文越相似越好抽

2.尽量符合常识

3.标注的样本尽量要短

训练技巧:

1.预测可以将batch_size设置为2或者更高来提高预测效率

2.uie-tiny 和base效果差距不大,但性能提高巨大

3.需要负样本的

环境配置:

只需要一个paddlepaddle,安装最新版即可,会自动给你安装许多相关包,

openAI尽量不要装在同一个环境,会改变numpy版本导致paddlepaddle不可用

csdn:

pip install paddlepaddle 报错 command ‘/usr/bin/gcc‘ failed with exit code 1 或 command ‘gcc‘ 报错_听雨江南牛的博客-CSDN博客

语料标注:

到目前五月二十四号,doccano已经更新到1.7.0版本,导出已经没有标注消失的问题,但是我手头数据有很多重复数据,我没有二次标注,doccano会以标注空的形式继续导出,但我更希望它忽视掉这些数据,不要导出,我依旧采用程序形式导出

csdn:

doccano标注完后,标注消失问题_听雨江南牛的博客-CSDN博客

项目部署和参数调整

最无脑的环节,全程跟着readme一步步向下执行就可以了,

需要改动一下数据路径:

另外需要改动模型保存和加载的路径,

需要改动用6层的uie-tiny模型,还是调用12层的uie-base,uie-tiny和uie-base效果基本没有差别,但是预测效率高很多,建议uie-tiny

必须改动的:
doccano中的:doccano_file  从doccano导出的数据标注文件save_dir: 训练数据的保存目录,默认存储在data目录下finetune中的:train_path`: 训练集文件路径。dev_path`: 验证集文件路径。save_dir`: 模型存储路径,默认为. / checkpoint
可选的:
doccano中的:negative_ratio: 负样本与正样本的比例,该参数只对抽取类型任务有效。使用负样本策略可提升模型效果,负样本数量 = negative_ratio * 正样本数量。splits: 划分数据集时训练集、验证集所占的比例。默认为[0.8, 0.1, 0.1]is_shuffle: 是否对数据集进行随机打散,默认为True
​
finetune中的:learning_rate`: 学习率,默认为1e - 5。batch_size`: 批处理大小,请结合显存情况进行调整,若出现显存不足,请适当调低这一参数,默认为16。max_seq_len`: 文本最大切分长度,输入超过最大长度时会对输入文本进行自动切分,默认为512。num_epochs`: 训练轮数,默认为100。device`: 选用什么设备进行训练,可选cpu或gpu。model`: 选择模型,程序会基于选择的模型进行模型微调

测试结果在gitee中

不公开,但是94条数据训练完想抽的基本都能抽出来

这篇关于uie模型微调个人总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/313255

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Python中实现进度条的多种方法总结

《Python中实现进度条的多种方法总结》在Python编程中,进度条是一个非常有用的功能,它能让用户直观地了解任务的进度,提升用户体验,本文将介绍几种在Python中实现进度条的常用方法,并通过代码... 目录一、简单的打印方式二、使用tqdm库三、使用alive-progress库四、使用progres

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

Java向kettle8.0传递参数的方式总结

《Java向kettle8.0传递参数的方式总结》介绍了如何在Kettle中传递参数到转换和作业中,包括设置全局properties、使用TransMeta和JobMeta的parameterValu... 目录1.传递参数到转换中2.传递参数到作业中总结1.传递参数到转换中1.1. 通过设置Trans的

C# Task Cancellation使用总结

《C#TaskCancellation使用总结》本文主要介绍了在使用CancellationTokenSource取消任务时的行为,以及如何使用Task的ContinueWith方法来处理任务的延... 目录C# Task Cancellation总结1、调用cancellationTokenSource.

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G