HuggingFace镜像/Phi-3-small-8k-instruct-onnx-cuda
模型介绍文件和版本分析
下载使用量0

Phi-3 Small-8K-Instruct ONNX CUDA 模型

本仓库托管了 Phi-3-small-8k-instruct 的优化版本,旨在通过 ONNX Runtime 为配备 NVIDIA GPU 的机器加速推理过程。

Phi-3 Small 是一个拥有 70 亿参数的轻量级、最先进的开放模型,它使用 Phi-3 数据集进行训练,该数据集既包含合成数据,也包含经过筛选的公开网站数据,重点关注高质量和推理密集型特性。该模型属于 Phi-3 系列,其中小型版本有两个变体:8K 和 128K,这代表了它们支持的上下文长度(以 tokens 为单位)。

基础模型经过了后训练过程,其中包括监督微调以及针对指令遵循和安全措施的直接偏好优化。在针对常识、语言理解、数学、代码、长上下文和逻辑推理的基准测试中,Phi-3-Small-8K-Instruct 在同尺寸及更大尺寸的模型中展现了强大且最先进的性能。

Phi-3 Small 模型的优化变体在此以 ONNX 格式发布,并可通过 ONNX Runtime 在 GPU 上运行,适用于多种设备,包括服务器平台、Windows 和 Linux。

ONNX 模型

以下是我们添加的一些优化配置:

  1. FP16 CUDA 的 ONNX 模型:适用于 NVIDIA GPU 的 ONNX 模型。
  2. INT4 CUDA 的 ONNX 模型:适用于 NVIDIA GPU 的 ONNX 模型,通过 RTN 使用 int4 量化。

注意:如果磁盘空间有限,您可以使用 Hugging Face CLI 下载子文件夹,而不必下载所有模型。对于较大的批处理大小,建议使用 FP16 模型;而 INT4 模型则针对较小的批处理大小优化了性能。

示例:

# Download just the FP16 model
$ huggingface-cli download microsoft/Phi-3-small-8k-instruct-onnx-cuda --include cuda-fp16/* --local-dir .  --local-dir-use-symlinks False

如何开始使用模型

为了在各种设备、平台和EP后端上支持Phi-3模型,我们引入了一个新的API,用于封装生成式AI推理的多个方面。此API使您能够轻松地将LLM直接集成到应用程序中。要使用ONNX运行这些模型的早期版本,请按照此处的步骤操作。您也可以通过此聊天应用测试模型。

支持的硬件

ONNX模型已在以下环境中测试:

  • 1块A100 GPU,SKU:Standard_ND96amsr_A100_v4(CUDA)

所需最低配置:

  • CUDA:NVIDIA GPU,计算能力≥7.5

模型说明

  • 开发者: Microsoft
  • 模型类型: ONNX
  • 支持语言(NLP): Python、C、C++
  • 许可证: MIT
  • 模型描述: 这是Phi-3 Small-8K-Instruct模型的转换版本,适用于ONNX Runtime推理。

其他详情

  • Phi-3 Small、Medium和Vision博客 以及 Phi-3 Mini博客
  • Phi-3模型博客链接
  • Phi-3模型卡片
  • Phi-3技术报告
  • Azure AI Studio上的Phi-3

性能指标

在所有批量大小和提示长度组合下,Phi-3 Small-8K-Instruct在ONNX Runtime上的性能均优于PyTorch。对于FP16 CUDA,ORT比PyTorch快高达4倍;而对于INT4 CUDA,ORT比PyTorch快高达10.9倍。

下表显示了在1块A100 80GB GPU,SKU:Standard_ND96amsr_A100_v4上测量的FP16和INT4精度在CUDA上生成的前256个令牌的平均吞吐量(tps)。

批量大小,提示长度ORT FP16 CUDAPyTorch Eager FP16 CUDAORT/PyTorch 加速比
1, 1674.6216.814.44
4, 16290.3665.564.43
16,161036.93267.333.88
批量大小,提示长度ORT INT4 CUDAPyTorch Eager INT4 CUDAORT/PyTorch 加速比
1, 16140.6812.9310.88
4, 16152.9044.043.47
16,16582.07160.573.62

包版本

Pip 包名称版本
torch2.3.0
triton2.3.0
onnxruntime-gpu1.18.0
transformers4.40.2
bitsandbytes0.43.1

附录

模型卡片联系方式

parinitarahi, kvaishnavi, natke

贡献者

Kunal Vaishnavi, Sunghoon Choi, Yufeng Li, Tianlei Wu, Sheetal Arun Kadam, Rui Ren, Baiju Meswani, Natalie Kershaw, Parinita Rahi