【AI大模型】Transformers大模型库(二):AutoModelForCausalLM

目录​​​​​​​

一、引言 

二、AutoModelForCausalLM

2.1 概述

2.2 主要功能

2.3 代码示例

三、总结


一、引言 

 这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。

🤗 Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。
🤗 Transformers 提供了便于快速下载和使用的API,让你可以把预训练模型用在给定文本、在你的数据集上微调然后通过 model hub 与社区共享。同时,每个定义的 Python 模块均完全独立,方便修改和快速研究实验。
🤗 Transformers 支持三个最热门的深度学习库: Jax, PyTorch 以及 TensorFlow — 并与之无缝整合。你可以直接使用一个框架训练你的模型然后用另一个加载和推理。

本文重点介绍AutoModelForCausalLM类。

二、AutoModelForCausalLM

2.1 概述

`AutoModelForCausalLM`是Hugging Face的`transformers`库中的一个类,它是一个自动模型类,用于因果语言建模(Causal Language Modeling)。因果语言建模是指模型预测文本序列中下一个词或字符,给定之前的词或字符序列的任务。这种模型广泛应用于生成式任务,如对话系统、文本续写、摘要生成等。

2.2 主要功能

这个类是基于`AutoModel`的,它能够根据指定的模型名称或路径自动加载相应的模型架构。当你使用`AutoModelForCausalLM`时,不需要直接指定模型的所有细节,只需要提供模型的名称(如`"gpt2"`、`"t5"`等,尽管T5模型更常用于序列到序列任务),库会自动配置为适合因果语言建模的版本。

2.3 代码示例

例如,加载一个预训练的GPT-2模型用于因果语言建模,代码如下: 

from transformers import AutoModelForCausalLM, AutoTokenizermodel_name = "gpt2"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)# 使用模型进行预测的代码会在这里继续...

这个例子使用AutoTokenize,AutoModelForCausalLM, r两个类分别实例化gpt2对应的分词器和模型。这里使用了Auto自动模型,transformers包括管道pipeline自动模型auto以及具体模型三种模型实例化方法,如果同时有配套的分词工具(Tokenizer),需要使用同名调度。

  • 管道(Pipline)方式:高度集成的使用方式,几行代码就可以实现一个NLP任务
  • 自动模型(AutoModel)方式:自动载入并使用BERT等模型
  • 具体模型方式:在使用时需要明确具体的模型,并按照特定参数进行调试 

在上述三种应用方式中,管道方式使用最简单,但灵活度最差;具体模型方式使用复杂,但是灵活度最高。

三、总结

本文对使用transformers的AutoModelForCausalLM进行尝试,主要对CausalLM(因果推理模型)进行实例化,需要与同类的AutoTokenizer分词器一起使用。同时,列举了管道模型自动模型具体模型等三种transformers预训练大模型实例化方法。期待大家三连。

如果您还有时间,可以看看我的其他文章:

《AI—工程篇》

AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效

AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署

AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署

AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署

AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署

《AI-模型篇》

AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用

AI智能体研发之路-模型篇(二):DeepSeek-V2-Chat 训练与推理实战

AI智能体研发之路-模型篇(三):中文大模型开、闭源之争

AI智能体研发之路-模型篇(四):一文入门pytorch开发

AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比

AI智能体研发之路-模型篇(六):【机器学习】基于tensorflow实现你的第一个DNN网络

AI智能体研发之路-模型篇(七):【机器学习】基于YOLOv10实现你的第一个视觉AI大模型

AI智能体研发之路-模型篇(八):【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战

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

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

相关文章

【Python机器学习】预处理对监督学习的作用

还是用cancer数据集,观察使用MinMaxScaler对学习SVC的作用。 首先,在原始数据上拟合SVC: cancerload_breast_cancer() X_train,X_test,y_train,y_testtrain_test_split(cancer.data,cancer.target,random_state0 ) svmSVC(C100) svm.fit(X_t…

推荐个 Edge/Chrome/Firefox 都支持的 IP 定位查询扩展

作为一个博客站长,对 IP 地址应该都不陌生,可以说是跟站长的工作是息息相关的,反正明月几乎每天都会面临 IP 查询、定位的需要,今天让明月给找到了一个叫”IP 定位查询“的浏览器扩展,在 Edge 和 Firefox 下体验后感觉…

多卡聚合智能融合通信设备在无人机无线视频传输应用

无人驾驶飞机简称“无人机”,是利用(无线电)遥控设备和自备的程序控制装置操纵的不载人飞行器,现今无人机在航拍、农业、快递运输、测绘、新闻报道多个领域中都有深度的应用。 无人机无线视频传输保证地面人员利用承载的高灵敏度照相机可以进行不间断的画…

【蓝桥杯2025备赛】分巧克力

【蓝桥杯2025备赛】分巧克力 [蓝桥杯 2017 省 AB] 分巧克力 题目描述 儿童节那天有 K K K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 N N N 块巧克力,其中第 i i i 块是 H i W i H_i \times W_i Hi​Wi​ 的方格组成的长方形…

自动化执行任务的脚本代码分享!

在当今信息化社会,自动化执行任务的脚本代码已经成为提高工作效率、减少人工错误的重要工具。 无论是数据处理、文件操作,还是网络请求、系统监控,脚本代码都能帮助我们实现自动化操作,从而释放人力,让我们有更多时间…

LeetCode-103. 二叉树的锯齿形层序遍历【树 广度优先搜索 二叉树】

LeetCode-103. 二叉树的锯齿形层序遍历【树 广度优先搜索 二叉树】 题目描述:解题思路一:层序遍历,唯一区别就是ans.append(level[::-1] if len(ans) % 2 else level)背诵版:解题思路三:0 题目描述: 给你二…

网络层-IP协议 二

一、网段划分 为了进行组网,把一个IP地址,分成了两个部分: 网络号 主机号 例如:192.168.2.100 这个IP地址中,前面一部分 : 192.168.2就是我们的网络号 后面一部分 100就是我们的主机号. 家用宽带来说,一般默认就是前面三个字节是网络号,主机号的范围就表示局域网中可以有…

避免使用for循环操作高维数组:numpy.apply_along_axis用法

文章目录 场景实际操作编写相关函数np.apply_along_axis 场景 设想我有一列高维向量,读取之后的数据都是字符串变量,我需要把这些字符串数据转换为复数之后求绝对值 实际操作 在使用pd.read_csv()读取数据之后,将这一列数据转换为numpy数…

信息系统项目管理师0145:敏捷与适应方法(9项目范围管理—9.2项目范围管理过程—9.2.3敏捷与适应方法)

点击查看专栏目录 文章目录 9.2.3 敏捷与适应方法9.2.3 敏捷与适应方法 对于需求不断变化、风险大或不确定性高的项目,在项目开始时通常无法明确项目的范围,而需要在项目期间逐渐明确。敏捷或适应型方法特意在项目早期缩短定义和协商范围的时间,为后续细化范围、明确范围争取…

打响G7国家降息第一枪!加拿大央行宣布降息

KlipC报道:6月5日,加拿大央行宣布降息25个基点至4.75%,与市场预期一致。加拿大央行是G7国家中第一个降息的央行。其还表示有持续证据表明核心通胀正在缓解,货币政策不再需要那么限制性。 KlipC分析师表示,在2023年7月&…

打破信息孤岛,U-Mail邮件系统轻松集成各类业务系统

随着国家大力推动企业数字化转型,企业内部数字化建设需要各种业务系统来提高企业生产力,然而,随着在业务数据量逐步增大的情形下,如何更加高效地整合、协同各个系统之间的信息交互,并且更好地融合企业邮件系统&#xf…

【C++ | 类】类和对象

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-05-30 本…

重学java 57.哈希表结构存储过程

别焦虑,生活无非见招拆招 —— 24.6.3 哈希表存储数据去重复的过程: a.先比较元素的哈希值(重写hashCode),再比较内容(重写equals) b.如果哈希值不一样,证明内容不一样,存 c.如果哈希值一样,再比较内容 如果哈希值一样,内容不一样(哈希碰撞,哈希冲突),存 如果哈希值…

(文章复现)基于共享储能服务的智能楼宇双层优化配置

参考文献: [1]张浩鹏,李泽宁,薛屹洵,等.基于共享储能服务的智能楼宇双层优化配置[J/OL].中国电机工程学报,1-12[2024-05-22]. 1.摘要 为降低城市化进程中楼宇储能投资成本,提出一种基于共享储能服务的智能楼宇(Intelligent Buildings&#…

mysql启动出现Error: 2 (No such file or directory)

查看mydql状态 systemctl status mysqlThe designated data directory /var/lib/mysql/ is unusable 查看mysql日志 tail -f /var/log/mysql/error.logtail: cannot open ‘/var/log/mysql/error.log’ for reading: No such file or directory tail: no files remaining 第…

【数智化CIO展】吉家宠物CIO张志伟:深度挖掘数据价值是数字化发展趋势,才能实现企业精细化运营...

张志伟 本文由吉家宠物CIO张志伟投递并参与由数据猿联合上海大数据联盟共同推出的《2024中国数智化转型升级优秀CIO》榜单/奖项评选。丨推荐企业:观远数据 大数据产业创新服务媒体 ——聚焦数据 改变商业 中国“宠物经济”热潮不断攀升,国内宠物市场的竞…

【牛客面试必刷TOP101】Day28.BM49 表达式求值和BM52 数组中只出现一次的两个数字

文章目录 前言一、BM49 表达式求值题目描述题目解析二、BM52 数组中只出现一次的两个数字题目描述题目解析总结 前言 一、BM49 表达式求值 题目描述 描述: 请写一个整数计算器,支持加减乘三种运算和括号。 数据范围:0∣s∣≤100,…

香蕉派BPI-F3 进迭时空(SpacemiT)K1RISC-V开发板软件下载链接

香蕉派BPI-F3是一款工业级 8核RISC-V开源硬件开发板,它采用进迭时空(SpacemiT) K1 8核RISC-V芯片设计,CPU集成2.0 TOPs AI计算能力。4G DDR和16G eMMC。2个GbE以太网接口,4个USB 3.0和PCIe M.2接口,支持HDM…

跟着小白学linux的基础命令

小白学习记录: 前情提要:Linux命令基础格式!查看 lsLinux 的7种文件类型及各颜色代表含义 进入指定目录 cd查看当前工作目录 pwd创建一个新的目录(文件夹) mkdir创建文件 touch查看文件内容 cat、more操作文件、文件夹- 复制 cp- 移动 mv- 删…

25-unittest执行顺序

在使用unittest框架时,各个测试方法的执行顺序是怎样的,本篇通过简单案例讲解unittest执行顺序。 一、定义测试类 import unittestclass Demo(unittest.TestCase):def setUp(self):print("start!")def tearDown(self):print("end!"…