推理
Optimum Intel 可用于从 Hub 加载模型并创建管道,以使用 IPEX 优化(包括使用自定义运算符修补、权重预打包和图模式)在各种英特尔处理器上运行推理。目前,仅支持 CPU。
加载
您可以加载您的模型并应用 IPEX 优化(包括权重预打包和图模式)。对于 LLaMA、BERT 和 ViT 等受支持的架构,将通过修补模型以使用自定义运算符来应用进一步的优化。目前,仅支持 CPU,并且原始模型将通过 TorchScript 导出。将来将使用 torch.compile
,并且通过 TorchScript 导出的模型将被弃用。
import torch
from transformers import AutoTokenizer, pipeline
- from transformers import AutoModelForCausalLM
+ from optimum.intel import IPEXModelForCausalLM
model_id = "gpt2"
- model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16)
+ model = IPEXModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.bfloat16, export=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer)
results = pipe("He's a dreadful magician and")
如下表所示,每个任务都与一个类相关联,该类能够自动加载您的模型。
自动类 | 任务 |
---|---|
IPEXModelForSequenceClassification | 文本分类 |
IPEXModelForTokenClassification | 标记分类 |
IPEXModelForQuestionAnswering | 问答 |
IPEXModelForImageClassification | 图像分类 |
IPEXModel | 特征提取 |
IPEXModelForMaskedLM | 填充遮罩 |
IPEXModelForAudioClassification | 音频分类 |
IPEXModelForCausalLM | 文本生成 |