说明文档
Phi-3-vision-128k-instruct ONNX 模型(支持 CPU 和 CUDA)
本仓库托管了 microsoft/Phi-3-vision-128k-instruct 的优化版本,用于通过 ONNX Runtime 加速推理。
本仓库是从 microsoft/Phi-3-vision-128k-instruct-onnx-cpu 克隆而来,包含通过 embeddedllm PyPI 库部署模型到 OpenAI-API 兼容端点所需的额外文件。
Windows 使用指南(Intel / AMD / Nvidia / Qualcomm)
conda create -n onnx python=3.10
conda activate onnx
winget install -e --id GitHub.GitLFS
pip install huggingface-hub[cli]
huggingface-cli download EmbeddedLLM/Phi-3-vision-128k-instruct-onnx --include='onnx/cpu_and_mobile/cpu-int4-rtn-block-32-acc-level-4' --local-dir .\Phi-3-vision-128k-instruct-onnx
pip install numpy==1.26.4
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/phi3v.py" -OutFile "phi3v.py"
pip install onnxruntime
pip install --pre onnxruntime-genai==0.3.0rc2
python phi3v.py -m .\Phi-3-vision-128k-instruct-onnx
上游 README.md
Phi-3-vision-128k-instruct ONNX
本仓库托管了 microsoft/Phi-3-vision-128k-instruct 的优化版本,用于通过 DirectML 和 ONNX Runtime 加速推理。
Phi-3-Vision-128K-Instruct 是一个轻量级、最先进的开源多模态模型,基于包含合成数据和经过筛选的公开网站数据构建,专注于文本和视觉方面高质量、推理密集型的数据。该模型属于 Phi-3 模型家族,多模态版本支持 128K 上下文长度(以 token 计)。该模型经过严格的增强流程,结合了监督微调和直接偏好优化,以确保精确的指令遵循和稳健的安全措施。
预期用途
主要用例
该模型旨在用于英语环境下的广泛商业和研究用途。该模型适用于需要视觉和文本输入能力的通用 AI 系统和应用,具体场景包括:
- 内存/计算受限环境;
- 延迟敏感场景;
- 通用图像理解;
- OCR(光学字符识别);
- 图表和表格理解。
我们的模型旨在加速高效语言和多模态模型的研究,并作为生成式 AI 功能的构建模块。
用例注意事项
我们的模型并非专门针对所有下游用途进行设计或评估。开发人员在选择用例时应考虑语言模型的常见局限性,并在特定下游用例中使用之前评估并缓解准确性、安全性和公平性问题,尤其是高风险场景。
开发人员应了解并遵守与其用例相关的适用法律或法规(包括隐私、贸易合规法律等)。
本模型卡中的任何内容均不应被解释为或视为对模型发布许可证的限制或修改。
ONNX 模型
以下是我们添加的一些优化配置:
- int4 DirectML 的 ONNX 模型: 适用于 Windows 上 AMD、Intel 和 NVIDIA GPU 的 ONNX 模型,使用 AWQ 量化为 int4。
- int4 CPU 和移动端的 ONNX 模型: 适用于 CPU 和移动端的 ONNX 模型,通过 RTN 进行 int4 量化。我们上传了两个版本以平衡延迟和准确性。Acc=1 针对更高的准确性,而 Acc=4 针对更好的性能。对于移动设备,我们建议使用 acc-level-4 的模型。
使用方法
安装和设置
要在 Windows 上配合 DirectML 使用 Phi-3-vision-128k-instruct ONNX 模型,请按以下步骤操作:
- 创建并激活 Conda 环境:
conda create -n onnx python=3.10
conda activate onnx
- 安装 Git LFS:
winget install -e --id GitHub.GitLFS
- 安装 Hugging Face CLI:
pip install huggingface-hub[cli]
- 下载模型:
huggingface-cli download EmbeddedLLM/Phi-3-vision-128k-instruct-onnx --include="onnx/cpu_and_mobile/*" --local-dir .\Phi-3-vision-128k-instruct
- 安装必要的 Python 包:
pip install numpy==1.26.4
pip install onnxruntime
pip install --pre onnxruntime-genai==0.3.0rc2
- 安装 Visual Studio 2015 运行时:
conda install conda-forge::vs2015_runtime
- 下载示例脚本:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/phi3-qa.py" -OutFile "phi3-qa.py"
- 运行示例脚本:
python phi3-qa.py -m .\Phi-3-vision-128k-instruct
硬件要求
最低配置:
- Windows: 支持 DirectX 12 的 GPU(AMD/Nvidia/Intel)
- CPU: x86_64 / ARM64
已测试配置:
- GPU: AMD Ryzen 8000 系列 iGPU(DirectML)
- CPU: AMD Ryzen CPU
支持的硬件
该模型已在以下硬件上测试:
- GPU SKU:RTX 4090(DirectML)
最低配置要求:
- Windows:支持 DirectX 12 的 GPU,以及至少 10GB 的总内存(RAM)
模型描述
- 开发者: Microsoft
- 模型类型: ONNX
- 编程语言: Python, C, C++
- 许可证: MIT
- 模型描述: 这是 Phi-3 Vision 128K Instruct 模型用于 ONNX Runtime 推理的转换版本。
更多详情
许可证
该模型采用 MIT 许可证发布。
商标
本项目可能包含项目、产品或服务的商标或徽标。Microsoft 商标或徽标的授权使用须遵守并必须遵循 Microsoft 商标与品牌指南。在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆或暗示 Microsoft 的赞助。任何第三方商标或徽标的使用须遵守该第三方的政策。
EmbeddedLLM/Phi-3-vision-128k-instruct-onnx
作者 EmbeddedLLM
创建时间: 2024-06-18 12:57:40+00:00
更新时间: 2024-06-20 12:29:27+00:00
在 Hugging Face 上查看