首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【AI大模型】Transformers大模型库(二):AutoModelForCausalLM

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

作者头像
LDG_AGI
发布2024-08-13 16:00:07
发布2024-08-13 16:00:07
2.1K00
代码可运行
举报
运行总次数:0
代码可运行

一、引言

这里的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模型用于因果语言建模,代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
from transformers import AutoModelForCausalLM, AutoTokenizer

model_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预训练大模型实例化方法。期待大家三连。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、引言
  • 二、AutoModelForCausalLM
    • 2.1 概述
    • 2.2 主要功能
    • 2.3 代码示例
  • 三、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档