Phi-3-mini-128k-instruct-onnx-tf项目介绍
项目概述
Phi-3-mini-128k-instruct-onnx-tf是一个优化版本的Phi-3-mini-128k-instruct模型,旨在通过ONNX Runtime加速推理。Phi-3 Mini是一个轻量级的最先进开放模型,它基于Phi-2使用的数据集构建而成,专注于高质量、推理密集型数据。该模型属于Phi-3模型系列,mini版本有两种变体:4K和128K,这表示它们支持的上下文长度(以token为单位)。
模型特点
Phi-3 Mini模型经过了严格的增强过程,包括监督微调和直接偏好优化,以确保精确的指令遵循和强大的安全措施。该项目以ONNX格式发布优化后的Phi-3 Mini模型,可以在各种设备上使用ONNX Runtime运行,包括服务器平台、Windows、Linux和Mac桌面以及移动设备CPU,每个目标都使用最适合的精度。
硬件支持
该模型已在以下硬件上进行了测试:
- GPU: RTX 4090 (DirectML)
- GPU: 1个A100 80GB GPU, SKU: Standard_ND96amsr_A100_v4 (CUDA)
- CPU: Standard F64s v2 (64 vcpus, 128 GiB内存)
- 移动设备: Samsung Galaxy S21
最低配置要求:
- Windows: DirectX 12兼容GPU和至少4GB的组合RAM
- CUDA: 流式多处理器(SMs) >= 70 (即V100或更新版本)
性能优势
在所有批量大小和提示长度组合中,Phi-3 Mini-128K-Instruct在ONNX Runtime中的性能都优于PyTorch。对于FP16 CUDA,ORT的性能最高可达PyTorch的5倍,而使用INT4 CUDA时,性能最高可达PyTorch的9倍。
使用方法
项目引入了一个新的API,封装了生成式AI推理的多个方面,使得在各种设备和平台上运行Phi-3模型变得简单。用户可以轻松地将LLM直接拖放到应用程序中。例如:
python model-qa.py -m /*{YourModelPath}*/onnx/cpu_and_mobile/phi-3-mini-4k-instruct-int4-cpu -k 40 -p 0.95 -t 0.8 -r 1.0
未来展望
该项目计划在5月初ORT 1.18正式发布时,添加更多关于AMD的更新,以及对CPU和移动设备的额外优化。这将进一步提升模型在各种硬件上的性能和适用性。
总的来说,Phi-3-mini-128k-instruct-onnx-tf项目为用户提供了一个高效、易用的优化模型,适用于多种硬件平台,为自然语言处理任务提供了强大的支持。