Hugging face 模型微调学习:T5-base的微调

news2025/7/27 21:14:54

最近想做一点文本生成的小实验,无意发现了NLPer应该了解到了一个网站:Hugging face。
Hugging face 在 github上开源了一个Transformers库,允许用户上传和下载的预训练的模型,并进行原有模型的基础上进行微调。如此,使得每个 NLPer 必须依靠大量美金才能训练出来的预训练模型,可以轻易的在huggingface网站对自己的数据集上进行微调,并达到很好的效果。
这篇文章介绍了自己在探索Hugging face 模型微调的操作过程,希望能帮助到大家。

1.登陆网址,查找需要的模型

1)使用下方命令安装transformers

pip install transformers

2)查找合适的预训练模型

以T5为例,在huggingface网站搜索t5,进入详情页点files and verisons。就会看到如下方图所示的模型文件和配置文件。
在这里插入图片描述

2.进入预训练界面

1)找到首页按钮 train 进入AutoTrain界面

跳转至AutoTrain界面在这里插入图片描述

2)选择训练的任务

这里,我希望做生成的任务,因此选择了Summarize摘要类型的来完成。
在这里插入图片描述

3)填写fine-tune的项目信息

填写项目名称,任务类型,以及手动还是自动(选择了自动的我,并没有探索手动需要怎么做…)的信息,并创建一个自己的项目。
在这里插入图片描述

3.准备数据并开始训练

1)准备数据

这里支持上传csv, json格式的数据,并给出了数据样例。
数据量一开始先搞个3000条以下! 后面解释具体的原因。

在这里插入图片描述

这里给出了我上传的数据样例,是json格式的,数据量3000。

在这里插入图片描述

2)选择对应的数据列

传入数据后,系统会简单的识别一下。我这个文件有3列,但是实际只用到2列。因此,后面有两个下拉框,问我选择哪两列数据分别作为源列和目标列。
在这里插入图片描述

3)准备训练

数据上传成功后,通过Go to trainings进入训练界面。
在这里插入图片描述

进入训练界面后,需要选择训练模型。我选用了第一个。
这里要解释一下建议3000条以下数据量的原因:因为3000条以上需要使用大模型并交钱了,作为看这篇文章的小白,最好先训练试一试,不要急于一次性解决问题。

在这里插入图片描述

4)开始训练吧

点击Start models training按钮,开始训练模型。需要等待几分钟呢。

4.下载模型并使用

1)这里是训练模型的结果

这5个模型内部包含的文件是有所不同的,可以点击每个模型的详情页查看。但是博主还不太明白区别在哪里,知道的可以下方评论留言。
带有星星标志的模型文件缺少一个spiece.model,因此我没有使用,而是选择了第二个模型。

在这里插入图片描述
在这里插入图片描述

2)使用模型

选择你要使用的模型,并利用如下代码调用。注意,使用过程中,保证外网畅通噢!

from transformers import AutoTokenizer, AutoModelForSeq2SeqLM

tokenizer = AutoTokenizer.from_pretrained("lambdarw/autotrain-pret5-base-re-3702698639")  # 你的用户名/项目名称

model = AutoModelForSeq2SeqLM.from_pretrained("lambdarw/autotrain-pret5-base-re-3702698639")  # 你的用户名/项目名称

3)修改名称并公开

想要使用自己的模型,必须将它设置为pulic,否则会报Unauthorized错误。如下:

requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: https://huggingface.co/lambdarw/pret5-base-re-en/resolve/main/spiece.model

如果希望自己的模型更加有辨识度,方便记忆,也可以给模型修改一下名称。在settings标签页中,可以修改项目名称,删除项目,公开项目或私有项目,等等操作。

在这里插入图片描述

不希望使用外网,选用离线的方式fine-tune的小伙伴推荐参考博文:Hugging face 模型微调系列1—— 实战transfomers文本分类

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

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

相关文章

【软件测试】web自动化测试如何开展合适?自动化测试用例如何设计?资深测试的总结......

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 首先,还…

RK3588通用布线设计指南

(1)走线长度应包含过孔和封装。(2)由于表贴器件的焊盘会导致阻抗降低,为减小阻抗突变的影响,建议在表贴焊盘的正下方按焊盘大小挖去一层参考层。常用的表贴器件有:电容、 ESD、共模抑制电感、连…

docker部署gitlab过程中遇到的一些问题记录

文章目录用nginx代理docker部署的gitlab服务密码重置docker0网卡异常离线安装apt的包用nginx代理docker部署的gitlab服务 一般咱们不会去暴露很多端口给外面,所以部署完gitlab后,我希望能够用nginx来代理我们的gitlab服务。 gitlab的docker部署参考这个…

手把手教你使用vite打包自己的js代码包并推送到npm

准备 要有npm账号,没有的铁子去npm官网注册一个,又不要钱。 使用vite创建项目 一行代码搞定 npm create vite viet-demo框架选择Others 模板选择library 选择ts 这样项目就创建完了 这个项目默认有一个函数,用来记录按钮的点击次数并…

TCP协议和TCP连接

TCP协议和TCP连接一、TCP协议的简介二、TCP连接的简介1、TCP连接的建立(TCP三次握手)2、TCP连接的断开(TCP四次挥手)一、TCP协议的简介 TCP(Transmission Control Protocol)传输控制协议是一种面向连接的、…

“御黑行动”进行中,三月重保单位已开放接入!

三月重保在即,对于诸多政企单位来说,正面临着特殊时期的安全保障工作这一重要“大考”。 面对越来越专业且隐匿的攻击,各单位承受着巨大压力,尤其是政府、国企、央企等具有重要地位及广泛社会影响面的单位,其网站及业务…

opencv图像的算术运算

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

chatgpt如何解决模型训练过程中一些未知错误:以xgboot devices_.IsEmpty为例

本文尝试用现在最火的chatGPT在工作中提高生产力。具体背景如下:在训练模型过程中,为了避免资源抢占,我指定了其他的gpu来提高模型训练效率,但是发现训练的时候模型正常,但是在模型预测的时候一直报错,尝试…

opencv图像融合

大家好,我是csdn的博主:lqj_本人 这是我的个人博客主页: lqj_本人的博客_CSDN博客-微信小程序,前端,python领域博主lqj_本人擅长微信小程序,前端,python,等方面的知识https://blog.csdn.net/lbcyllqj?spm1011.2415.3001.5343哔哩哔哩欢迎关注…

代码随想录算法训练营第三十九天 | 62.不同路径,63. 不同路径 II

一、参考资料不同路径https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html 视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu不同路径 IIhttps://programmercarl.com/0063.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84II.htmlhttps://progr…

Linux->父子进程初识和进程状态

目录 前言: 1. 父子进程创建 2. 进程状态 R(running)状态: S(sleep)状态: D(disk sleep)状态: T(stopped)状态: X(dead)和Z(zombie)状态: 孤儿进程: 前言: 本篇主要讲解关…

Python学习-----模块4.0(json字符串与json模块)

目录 1.json简介: 2.json对象 3.json模块 (1)json.dumps() 函数 (2)json.dumps() 函数 (3)json.loads() 函数 (4) json.load() 函数 4.总结: 1.json简介: SON(…

Mybatis之一级缓存二级缓存

介绍 缓存,就是将经常访问的数据,放到内存中,减少对数据库的访问,提高查询速度。Mybatis中也有缓存的概念,分为一级缓存和二级缓存。 一级缓存 一级缓存是Mybatis中SqlSession对象的缓存。当我们执行查询以后&#x…

C语言-结构体对齐

详细说明参考博客 (1条消息) C语言结构体对齐,超详细,超易懂_haozigegie的博客-CSDN博客 (1条消息) #pragma pack详解_OuJiang2021的博客-CSDN博客_#pragma pack 以下个人理解总结 出现结构体对齐考虑的根本原因就是:【数据存取执行效率】…

玫瑰花变蚊子血,自动化无痕浏览器对比测试,新贵PlayWright Vs 老牌Selenium,基于Python3.10

也许每一个男子全都有过这样的两个女人,至少两个。娶了红玫瑰,久而久之,红的变了墙上的一抹蚊子血,白的还是床前明月光;娶了白玫瑰,白的便是衣服上沾的一粒饭黏子,红的却是心口上一颗朱砂痣。–…

网络原理 2

文章目录1. 网络层2. 数据链路层3. DNS前言 : 上文已经 将 网络层 和 传输层 说完了, 下面我们来学习以下 网络层 和 数据链路层 里 相关的知识 , 关于 网络层 和 数据链路层 的知识 简单了解一下即可 . 1. 网络层 网络层 主要 做两件事 : 1.地址管理…

如何优雅的用golang封装配置项(Functional Options)

导读 最近要封装一个公共服务,涉及到配置项的地方总是找不到合理的方案,后来看了一下grpc在配置方面的封装,了解到原来是golang特有的Functional Options编程模式,今天分享给大家,希望你能用到,咱们直接来看…

Linux 文件权限之umask

目录一、文件默认创建权限二、文件默认创建权限掩码三、文件权限的修改本文主要讲解Linux中的文件默认创建权限相关的内容,涉及到的内容有:文件默认创建权限、文件默认创建权限掩码、文件访问权限的修改。 文件访问者共三类:文件所有者、文件…

忆享聚焦|人工智能、元宇宙、云计算、5G基站…近期热点资讯一览

“忆享聚焦”栏目第十二期来啦!本栏目汇集近期互联网最新资讯,聚焦前沿科技,关注行业发展动态,筛选高质量讯息,拓宽用户视野,让您以最低的时间成本获取最有价值的行业资讯。目录行业资讯1.ChatGPT火爆全球 …

值传递和引用传递

什么叫 值传递&引用传递值传递:值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。引用传递:引用传递是指在调用函数时将实际参数的地址传递到函数中,…