Py之optimum:optimum的简介、安装、使用方法之详细攻略
目录
optimum的简介
1、加速推理 Optimum 提供多种工具,用于在不同生态系统上导出和运行优化模型:
2、功能概述
optimum的安装
1、如果您想使用 Optimum 的加速器特定功能,您可以根据下表安装所需的依赖项:
2、从源代码安装:
optimum的使用方法
1、基础用法
(1)、加载一个模型并使用 OpenVINO Runtime 运行推理
(2)、要加载使用 Intel Neural Compressor 量化的模型(本地或在 hub 上托管),可以按如下方式进行:
optimum的简介
Optimum 是Transformers 和 Diffusers 的扩展,提供了一套优化工具,可实现在目标硬件上训练和运行模型的最大效率,同时保持易于使用。
1、加速推理 Optimum 提供多种工具,用于在不同生态系统上导出和运行优化模型:
- ONNX / ONNX Runtime
- TensorFlow Lite
- OpenVINO
- Habana 第一代 Gaudi / Gaudi2,更多详情请参见这里
导出和优化可以通过编程方式和命令行完成。
2、功能概述
| 功能 | ONNX Runtime | Neural Compressor | OpenVINO | TensorFlow Lite |
|---|---|---|---|---|
| 图优化 | ✔ | N/A | ✔ | N/A |
| 训练后动态量化 | ✔ | ✔ | N/A | ✔ |
| 训练后静态量化 | ✔ | ✔ | ✔ | ✔ |
| 量化感知训练 (QAT) | N/A | ✔ | ✔ | N/A |
| FP16 (半精度) | ✔ | N/A | ✔ | ✔ |
| 剪枝 | N/A | ✔ | ✔ | N/A |
| 知识蒸馏 | N/A | ✔ | ✔ | N/A |
optimum的安装
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple optimum auto-gptq
讯享网


1、如果您想使用 Optimum 的加速器特定功能,您可以根据下表安装所需的依赖项:
| 加速器 | 安装命令 |
|---|---|
| ONNX Runtime | pip install --upgrade-strategy eager optimum[onnxruntime] |
| Intel Neural Compressor | pip install --upgrade-strategy eager optimum[neural-compressor] |
| OpenVINO | pip install --upgrade-strategy eager optimum[openvino,nncf] |
| Habana Gaudi 处理器 (HPU) | pip install --upgrade-strategy eager optimum[habana] |
| FuriosaAI | pip install --upgrade-strategy eager optimum[furiosa] |
需要使用 --upgrade-strategy eager 选项来确保不同的软件包被升级到最新版本。
2、从源代码安装:
讯享网python -m pip install git+https://github.com/huggingface/optimum.git
对于特定加速器功能,请将 optimum[accelerator_type] 添加到上述命令中:
python -m pip install optimum[onnxruntime]@git+https://github.com/huggingface/optimum.git
OpenVINO 这需要通过以下命令安装 OpenVINO 额外功能:
讯享网pip install --upgrade-strategy eager optimum[openvino,nncf]
optimum的使用方法
1、基础用法
(1)、加载一个模型并使用 OpenVINO Runtime 运行推理
只需将 AutoModelForXxx 类替换为相应的 OVModelForXxx 类。要加载 PyTorch 检查点并在加载模型时将其转换为 OpenVINO 格式,可以在加载模型时设置 export=True。
from transformers import AutoModelForSequenceClassification from optimum.intel import OVModelForSequenceClassification from transformers import AutoTokenizer, pipeline model_id = "distilbert-base-uncased-finetuned-sst-2-english" tokenizer = AutoTokenizer.from_pretrained(model_id) model = OVModelForSequenceClassification.from_pretrained(model_id, export=True) model.save_pretrained("./distilbert") classifier = pipeline("text-classification", model=model, tokenizer=tokenizer) results = classifier("He's a dreadful magician.")
(2)、要加载使用 Intel Neural Compressor 量化的模型(本地或在 hub 上托管),可以按如下方式进行:
讯享网from optimum.intel import INCModelForSequenceClassification model_id = "Intel/distilbert-base-uncased-finetuned-sst-2-english-int8-dynamic" model = INCModelForSequenceClassification.from_pretrained(model_id)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/121951.html