导出LLaMA等LLM模型为onnx

通过onnx模型可以在支持onnx推理的推理引擎上进行推理,从而可以将LLM部署在更加广泛的平台上面。此外还可以具有避免pytorch依赖,获得更好的性能等优势。

这篇博客(大模型LLaMa及周边项目(二) - 知乎)进行了llama导出onnx的开创性的工作,但是依赖于侵入式修改transformers库,比较不方便。

这里本人实现了避免侵入式修改transformers库导出LLM为ONNX方法,代码库为:

https://github.com/luchangli03/export_llama_as_onnx/tree/main

可以在这个基础上进行简单修改从而导出其他模型,例如百川,Qwen等模型。当前已经加入了对Qwen的导出支持。

该方案优点是无需侵入式修改transformers代码,缺点是你需要提前了解各个模型的输入,相关shape和dtype。

导出的llama decoder会存在if算子,但是经过符号shape推导和设置相应的符号shape到onnx模型value_info,然后经过onnxsim可以完全去掉。也可以考虑修改llama定义代码去掉if。优化前后:

相关推荐
QuZhengRong6 小时前
【AI】Agent 全栈进阶|Agent 设计模式
人工智能·学习·设计模式·llm·agent
量化吞吐机6 小时前
程序员学量化开发,先用示例拆清结构
人工智能·python
杰哥哥不是个好叔叔6 小时前
【Spring AI】Spring AI 2.0.1 新特性袭来
java·人工智能·spring
领麦微红外6 小时前
红外热电堆测温传感器:养生壶下的智能化控温
人工智能·产品经理·智能硬件
网络工程小王7 小时前
【LLM开发实验】LLM推理基本介绍
人工智能·量化·推理
Bruce_Liuxiaowei7 小时前
机器人的自由意志:约翰·麦卡锡《Free Will—Even for Robots》论文解读
人工智能·ai
阿里云大数据AI技术7 小时前
使用 PAI ,一行命令跑起来云端 DeepSeek Agent
人工智能·agent·deepseek
hangzhouhuanyu7 小时前
从培训到创业:AI工具在数字经济中的落地路径与避坑指南
大数据·人工智能
Lalolander7 小时前
WorkBuddy App 怎么发起任务?输入栏与发送全流程
大数据·人工智能·金蝶erp·workbuddy
集芯微电科技有限公司7 小时前
700V/17A高频开关低导通阻GaN HEMT驱动器适用于快充,LLC,PFC功率校正
人工智能·嵌入式硬件·深度学习·神经网络·机器学习·生成对抗网络·计算机外设