导出LLaMA等LLM模型为onnx

news/2025/2/2 5:59:34/

通过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。


http://www.ppmy.cn/news/1008734.html

相关文章

Pytohn将matplotlib嵌入到tkinter中

文章目录 matplotlib窗口组成tkinter布局嵌入图像 matplotlib窗口组成 tkinter是Python标准库中自带的GUI工具,使用十分方便,如能将matplotlib嵌入到tkinter中,就可以做出相对专业的数据展示系统,很有竞争力。 在具体实现之前&a…

使用PHP和Redis实现简单秒杀功能

安装Redis 首先,需要在服务器上安装Redis。如果使用Linux系统,可以使用命令行安装。如果使用Windows系统,可以下载并安装Redis二进制文件。 创建Redis连接 在PHP中,可以使用Redis扩展来连接Redis服务器。需要在PHP文件中包含Re…

自问自答----WEB篇

目录 1、https和http协议的端口 2、http协议的版本 3、linux中查看报文的方法 3.1 curl www.baidu.com -v 3.2 wget --debug www.baidu.com 4、http有哪些请求方法 5、http的请求头 6、http响应头​编辑 7、状态码有哪些 8、uri和url 9、静态?动态&#x…

频繁设置CGroup触发linux内核bug导致CGroup running task不调度

2. 问题 2.1 触发bug code(code较长,请展开代码) 2.1.1 code View Code 2.1.2 编译 g -stdc11 -lpthread trigger_cgroup_timer_inactive.cpp -o inactive_timer 2.1.3 在CentOS7.0~7.5的系统上执行程序 ./inactive_timer 100000 10000 2.1.4 上述代码主要干了2…

跨cpu架构部署容器技术点:怎么将容器启动时的1号进程挂载到systemctl

在某些时候,我们除去容器内本身的打包好的程序,我们还会需要一些依赖服务,这些服务通常是挂载在一号进程上通过 systemctl这个控制器服务来维护。 但因为docker的最小工作原则,info进程,或者说 systemctl控制程序&…

1、二分搜索法

二分搜索法 易混点: 1.left是小于right还是小于等于right 2.更新的时候是更新到mildle还是midle-1 3.区间是 [left,right] 还是 [left,right),对区间的定义不同会影响到边界的处理 左闭右闭写法 伪代码 left 0; right numsize - 1; while(left &l…

网络安全设备及部署

什么是等保定级? 之前了解了下等保定级,接下里做更加深入的探讨 文章目录 一、网路安全大事件1.1 震网病毒1.2 海康威视弱口令1.3 物联网Mirai病毒1.4 专网 黑天安 事件1.5 乌克兰停电1.6 委内瑞拉电网1.7 棱镜门事件1.8 熊猫烧香 二、法律法规解读三、安…

1-redis介绍

1.redis介绍 Redis(Remote Dictionary Server),即远程字典服务。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis是一个key-value存储系统。 和Memcached缓存类似,Redis支持存储的value类型相…