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做一个简单的介绍,系列后续跟上。