ONNX 模型库
返回模型

说明文档

这是 Falcon 7B 模型的优化版本,可在以下仓库获取:https://huggingface.co/tiiuae/falcon-7b,并遵循该仓库的许可证。Microsoft 允许您在遵守许可协议中的限制和免责声明的前提下,使用、修改、重新分发 Microsoft 对优化版本的贡献并创建衍生作品。

falcon-7b ONNX Runtime 版本

简介

本仓库托管了 falcon-7b 的优化版本,用于加速 ONNX Runtime CUDA 执行提供程序的推理。

请参阅使用说明了解如何使用本仓库中托管的 ONNX 文件对该模型进行推理。

模型描述

  • 开发者: TIIUAE
  • 模型类型: 预训练生成式文本模型
  • 许可证: Apache 2.0 许可证
  • 模型描述: 这是 falcon-7b 的转换版本,用于 ONNX Runtime CUDA 执行提供程序推理。

性能对比

Token 生成延迟

以下是在 NVIDIA A100-SXM4-80GB GPU 上,使用不同大小的提示生成一个 token 的平均延迟:

提示长度 批大小 PyTorch 2.1 torch.compile ONNX Runtime CUDA
32 1 53.64ms 15.68ms
256 1 59.55ms 26.05ms
1024 1 89.82ms 99.05ms
2048 1 208.0ms 227.0ms
32 4 70.8ms 19.62ms
256 4 78.6ms 81.29ms
1024 4 373.7ms 369.6ms
2048 4 N/A 879.2ms

使用示例

  1. 克隆 onnxruntime 仓库。
git clone https://github.com/microsoft/onnxruntime
cd onnxruntime
  1. 安装所需依赖
python3 -m pip install -r onnxruntime/python/tools/transformers/models/llama/requirements-cuda.txt
  1. 使用自定义模型 API 进行推理,或使用 Hugging Face 的 ORTModelForCausalLM
from optimum.onnxruntime import ORTModelForCausalLM
from onnxruntime import InferenceSession
from transformers import AutoConfig, AutoTokenizer

sess = InferenceSession("falcon-7b.onnx", providers = ["CUDAExecutionProvider"])
config = AutoConfig.from_pretrained("tiiuae/falcon-7b")

model = ORTFalconForCausalLM(sess, config, use_cache = True, use_io_binding = True)

tokenizer = AutoTokenizer.from_pretrained("tiiuae/falcon-7b")

inputs = tokenizer("Instruct: What is a fermi paradox?\nOutput:", return_tensors="pt")

outputs = model.generate(**inputs)

print(tokenizer.decode(outputs[0], skip_special_tokens=True))

microsoft/falcon-7B-onnx

作者 microsoft

↓ 0 ♥ 1

创建时间: 2023-11-14 20:40:36+00:00

更新时间: 2024-02-02 23:43:40+00:00

在 Hugging Face 上查看

文件 (4)

.gitattributes
README.md
falcon-7b.onnx ONNX
falcon-7b.onnx.data