可以充值的网站怎么做,wordpress淘宝联盟模板,免费网上开店,wordpress腾讯云邮件更多精彩内容#xff0c;欢迎关注我的公众号“ONE生产力”#xff01;
上篇我们讲到通过Intel Core Ultra系列处理器内置的NPU加速运行Phi-3模型#xff0c;有朋友评论说他没有Intel处理器是否有什么办法加速Phi-3模型。通常#xff0c;使用GPU特别是NVIDA的GPU加速AI模型…更多精彩内容欢迎关注我的公众号“ONE生产力”
上篇我们讲到通过Intel Core Ultra系列处理器内置的NPU加速运行Phi-3模型有朋友评论说他没有Intel处理器是否有什么办法加速Phi-3模型。通常使用GPU特别是NVIDA的GPU加速AI模型是最佳的方法但这年头英伟达的显卡不是一般贵很多朋友苦于囊中羞涩还在使用核显中。今天我们介绍一种使用核显通过DirectML和ONNXRuntime运行Phi-3模型的方法。
相信这两年很多朋友都在使用苏妈极具性价比的APU今天我将以我手上这颗AMD Ryzen™ 7 7840HS为例展示核显也能用于AI场景。在开始本文前我们先简单介绍一下DirectML和ONNXRuntime。 什么是DirectML
DirectMLDirect Machine Learning是微软提供的一种高性能、跨平台的机器学习加速库。DirectML的设计理念类似于DirectX在图形处理领域的作用即通过统一的接口充分利用底层硬件的计算能力为开发者提供高效、简便的开发体验。
DirectML支持多种硬件加速包括GPU和CPU可以在不同的Windows设备上无缝运行。它基于DirectX 12因此能够充分利用现代GPU的计算资源实现深度学习任务的加速。
DirectML的优势
高性能通过DirectX 12的低级别API调用DirectML能够充分发挥GPU的计算能力。
跨平台支持Windows平台的多种硬件设备包括AMD、NVIDIA和Intel的GPU。
易于集成提供了与其他深度学习框架如TensorFlow和PyTorch的兼容接口便于在现有项目中集成和使用。
什么是ONNX
ONNXOpen Neural Network Exchange是一种开放的神经网络交换格式旨在促进不同深度学习框架之间的互操作性。ONNX使得模型可以在多个框架之间进行转换和共享从而避免了平台锁定问题。
ONNX的优势
互操作性支持主流的深度学习框架如PyTorch、TensorFlow等。
可移植性ONNX模型可以在多种硬件加速器上运行如GPU、CPU、FPGA等。
丰富的工具生态ONNX有丰富的工具支持包括模型优化、转换和部署等。
DirectML上的ONNX Runtime
DirectML 执行提供程序是 ONNX 运行时的一个组件它使用 DirectML 加速 ONNX 模型的推理。DirectML 执行提供程序能够使用商用 GPU 硬件大大缩短模型的评估时间而不会牺牲广泛的硬件支持或要求安装特定于供应商的扩展。 ONNX Runtime在DirectML运行的架构
AMD对LLM的优化
通常我们需要使用独立GPU并配备大量显存在运行LLMAMD针对CPU继承的核心显卡运行LLM做了大量优化工作包括利用ROCm平台和MIOpen库来提升深度学习框架的运行效率通过改进内存分配和数据传输机制来减少内存碎片化和不必要的数据复制应用量化技术来压缩模型降低内存需求和计算复杂度并使用优化的数学计算库如BLAS和FFT提高矩阵运算效率。这些优化措施显著减少了内存占用提高了模型推理速度和能效比使得在资源有限的核显环境下也能高效运行复杂的深度学习模型。 AMD官网展现的Radeon™ 780M核显的LLM加速能力
在Radeon™ 780M上通过DirectML和ONNXRuntime运行Phi-3模型的步骤
环境准备
1、安装Git确保你的系统上安装了GitWindows用户可以下载Git for Windows。
2、安装AnacondaAnaconda是一个流行的Python发行版用于管理Python环境和包。
3、安装ONNX RuntimeONNX Runtime是一个跨平台的库支持ONNX格式的机器学习模型。确保安装了1.18.0或更高版本的onnxruntime_directml。
4、AMD驱动程序安装AMD Software的预览版本或Adrenalin Edition™ 24.6.1或更新版本。
部署流程
1、获取Phi-3模型从Hugging Face下载Phi-3模型的ONNX格式文件。
git clone https://huggingface.co/microsoft/Phi-3-mini-4k-instruct-onnx
2、创建并激活Anaconda环境
conda create --namellm-int4
conda activate llm-int4
3、安装onnxruntime-genai-directml
pip install numpy onnxruntime-genai-directml
4、准备运行脚本下载并准备运行模型的Python脚本。
curl -o model-qa.py
https://raw.githubusercontent.com/microsoft/onnxruntime-genai/main/examples/python/model-qa.py
5、运行模型使用以下命令运行Phi-3模型并进行推理。
python model-qa.py -m Phi-3-mini-4k-instruct-onnx_int4_awq_block-128Phi-3-mini-4k-instruct-onnx_int4_awq_block-128 --timing --max_length256 参考资料
DirectML 简介 | Microsoft Learn
Windows - DirectML | onnxruntime
Reduce Memory Footprint and Improve Performance Ru... - AMD Community