Transformers从入门到精通:Transformers介绍

简介: transformer是当前大模型中最流行的架构,而Transformers是实现transformer的最流行的实现的库,由著名的huggingface推出。Transformers提供了丰富的API和工具,可以轻松下载和训练最先进的预训练模型。使用预训练的模型可以降低计算成本,并为从头开始训练模型节省所需的时间和资源。5月更文挑战第2天

1.Transformers介绍

transformer是当前大模型中最流行的架构,而Transformers是实现transformer的最流行的实现的库,由著名的huggingface推出。

Transformers提供了丰富的API和工具,可以轻松下载和训练最先进的预训练模型。使用预训练的模型可以降低计算成本,并为从头开始训练模型节省所需的时间和资源。

Transformers 支持 PyTorch、TensorFlow 和 JAX 之间的框架互操作性。这为用户提供了在模型生命周期的每个阶段使用不同框架的灵活性;可以在一个框架中用三行代码训练模型,并在另一个框架中加载模型进行推理。此外,模型还可以导出为 ONNX 和 TorchScript 等格式,以便在生产环境中进行部署。

  • 自然语言处理:文本分类、命名实体识别、问题回答、语言建模、摘要生成、翻译、多项选择和文本生成。
  • 计算机视觉:图像分类、目标检测和图像分割。
  • 音频:自动语音识别和音频分类。
  • 多模态:表格问题回答、光学字符识别、从扫描文档中提取信息、视频分类和视觉问题回答。

2.Transformers安装

pip install transformers datasets evaluate accelerate

要注意transformers的版本,如果有遇到什么问题,首先可以明确下是不是transformers的版本的兼容问题

3.简单使用

如果你想学习transformer框架,可以从Transformers开始。这里先简单介绍下基本的使用,后续会结合transformer框架深入讲解Transformers。

项目源码地址:

下面是一个简单的大语言模型的例子:

from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1", device_map="auto", load_in_4bit=True)

tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1", padding_side="left")
model_inputs = tokenizer(["A list of colors: red, blue"], return_tensors="pt").to("cuda")

generated_ids = model.generate(**model_inputs)
output = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)

上面这段代码,通过AutoTokenizer去加载token解释器,通过AutoModelForCausalLM去加载大语言模型的参数, 并通过generate的来生成回答。

今天就给对Transformers做一个简单的介绍,系列后续跟上。

目录
相关文章
|
8月前
|
自然语言处理 算法 语音技术
【nlp-with-transformers】|Transformers中的generate函数解析
今天社群中的小伙伴面试遇到了一个问题,如何保证生成式语言模型在同样的输入情况下可以保证同样的输出。 这里面造成问题的因素有两个方面: 一个方面是在forward过程中参数的计算出现了差异,这种情况一般发生在游戏显卡中,游戏显卡无法保证每一次底层算子计算都是成功的,也没有办法保证同输入同输出,这里我们就需要采用具有ecc内存纠错机智的专用显卡用来解决相关的问题。
394 0
|
机器学习/深度学习 编解码 自然语言处理
【18】Vision Transformer:笔记总结与pytorch实现
【18】Vision Transformer:笔记总结与pytorch实现
696 0
【18】Vision Transformer:笔记总结与pytorch实现
|
机器学习/深度学习 数据可视化 数据挖掘
PyTorch Geometric (PyG) 入门教程
PyTorch Geometric是PyTorch1的几何图形学深度学习扩展库。本文旨在通过介绍PyTorch Geometric(PyG)中常用的方法等内容,为新手提供一个PyG的入门教程。
PyTorch Geometric (PyG) 入门教程
|
机器学习/深度学习 数据采集 人工智能
【Pytorch神经网络理论篇】 40 Transformers中的词表工具Tokenizer
在Transformers库中,提供了一个通用的词表工具Tokenizer,该工具是用Rust编写的,其可以实现NLP任务中数据预处理环节的相关任务。
306 0
|
机器学习/深度学习 算法 PyTorch
从零开始学Pytorch(八)之Modern CNN
从零开始学Pytorch(八)之Modern CNN
从零开始学Pytorch(八)之Modern CNN
|
机器学习/深度学习 自然语言处理 数据挖掘
huggingface.transformers任务简介
本部分介绍了一些常见NLP任务使用transformers包的解决方案。本文使用的AutoModel具体内容可以参阅其文档,也可以参考我此前的撰写的transformers包文档笔记,我介绍了一些相关的用法和示例代码。
huggingface.transformers任务简介
|
机器学习/深度学习 缓存 PyTorch
huggingface.transformers哲学
本部分介绍transformers包的开发哲学。 由于我学艺不精,对本部分一些介绍并不理解其涵义,因此在此处只能仅作翻译,对其诠释不足。等以后学会了再来写。
|
机器学习/深度学习 TensorFlow 算法框架/工具
斯坦福tensorflow教程(七)-tensorflow 实现逻辑回归
斯坦福tensorflow教程(七)-tensorflow 实现逻辑回归
257 0
斯坦福tensorflow教程(七)-tensorflow 实现逻辑回归
|
TensorFlow 算法框架/工具
斯坦福tensorflow教程(六)-tensorflow 实现线性回归
斯坦福tensorflow教程(六)-tensorflow 实现线性回归
92 0
斯坦福tensorflow教程(六)-tensorflow 实现线性回归
|
机器学习/深度学习
tensorflow2.0卷积神经网络MNIST实战
tensorflow2.0卷积神经网络MNIST实战
235 0
tensorflow2.0卷积神经网络MNIST实战