huggingface之Transformers学习笔记

1. 数据预处理

在您可以在数据集上训练模型之前,数据需要被预处理为期望的模型输入格式。无论您的数据是文本、图像还是音频,它们都需要被转换并组合成批量的张量。Transformers 提供了一组预处理类来帮助准备数据以供模型使用。在本教程中,您将了解以下内容:

1)对于文本,使用分词器(Tokenizer)将文本转换为一系列标记(tokens),并创建tokens的数字表示,将它们组合成张量。

2)对于语音和音频,使用特征提取器(Feature extractor)从音频波形中提取顺序特征并将其转换为张量。

3)图像输入使用图像处理器(ImageProcessor)将图像转换为张量。

4)多模态输入,使用处理器(Processor)结合了Tokenizer和ImageProcessor或Processor。

AutoProcessor 始终有效的自动选择适用于您使用的模型的正确class,无论您使用的是Tokenizer、ImageProcessor、Feature extractor还是Processor。

2. 微调预训练模型

使用预训练模型有许多显著的好处。它降低了计算成本,减少了碳排放,同时允许您使用最先进的模型,而无需从头开始训练一个。🤗 Transformers 提供了涉及各种任务的成千上万的预训练模型。当您使用预训练模型时,您需要在与任务相关的数据集上训练该模型。这种操作被称为微调,是一种非常强大的训练技术。在本教程中,您将使用您选择的深度学习框架来微调一个预训练模型:

1)使用 🤗 Transformers 的 Trainer 来微调预训练模型。

2)在 TensorFlow 中使用 Keras 来微调预训练模型。

3)在原生 PyTorch 中微调预训练模型

3. AutoModel.from_pretrained实例化后的模型输出数据格式

BaseModelOutputWithPastAndCrossAttentions 是 Hugging Face Transformers 库中定义的一个类,用于表示模型的输出。这个类通常用作预训练模型的前向传播函数的输出。

这个类包含了模型的各种输出,其中包括前向传播的结果、过去的注意力权重以及交叉注意力权重。具体来说,它可能包含以下几个属性:

last_hidden_state:最后一层的隐藏状态,通常用作下游任务的输入或者用于特征提取。

past_key_values:过去的注意力键值对,用于实现自回归生成任务时的缓存。

cross_attentions:交叉注意力权重,用于实现多头注意力机制中的跨层注意力。

这个类的实例通常作为模型前向传播函数的返回值,并且可以用于进一步的后处理、解码或者获取感兴趣的信息。要使用这个类,您可以像使用其他 Python 类一样操作它。例如,您可以访问它的属性或者调用它的方法来获取模型的输出。

4. CLS token

CLS(Classification)token 是 Transformer 模型中用于分类任务的特殊 token。它是输入序列的第一个 token,并被设计用于表示整个序列的语义信息。在预训练过程中,模型学习到了将整个序列的语义信息编码为 CLS token 的向量表示。

在BERT模型中,CLS token的向量表示经过最后一层的全连接层和softmax激活函数进行分类预测。在训练过程中,模型的目标是使用 CLS token 的向量表示来对输入序列进行正确的分类。在预测阶段,我们可以使用 CLS token 的向量表示来获取整个序列的语义信息,并基于此进行分类或其他下游任务的预测。

总之,CLS token 在 Transformer 模型中是一个重要的特殊 token,用于表示整个序列的语义信息,并在分类任务中发挥关键作用。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值