Transformer量化部署初步探讨

这篇博客探讨了Transformer模型在各领域的广泛应用及其部署挑战,主要介绍了四种模型部署方式:1) MNN,常见于手机端;2) TurboTransformers,提供专门的Transformer优化;3) TVM,通过指令集优化模型;4) ONNXRuntime,支持多种硬件并提供性能优化。文章强调了ONNXRuntime的广泛硬件支持和性能提升,并提到将进行不同框架的性能对比测试。

随着transformer模型在各个领域大杀四方,包括我常接触的检测,追踪,语音识别等各种领域都取得了远超先辈的成就,因此,开始有越来越多的厂商讨论如何将transformer模型部署起来,但是我们都知道,由于transformer中有大量的matmul等操作,致使其计算量远超普通的cnn网络,给部署带来困难(这部分后面再说)。
综上考虑,我们大致介绍一下部署方面的点

Transformer模型部署方式

目前大家框架各种各样,据我了解总结下来大致分为这么几种:

1. mnn等

这种方式看到一篇写的不错也比较详细的文章:
记录使用 Swin Transformer主干网络去实现分类,并转化NCNN、TNN、MNN模型以及部署
但是这种方式更多的比较常用于手机等arm端,对于很多比如fpganpu等嵌入式场景支持比较少(只是比较少,不是不支持奥)

2. TurboTransformers

同样是腾讯开源的一款非常不错的工具,本人已经亲测了,各方面都还不错。
怎么说呢,turbotransformers可以说是一个专为transformer定制化的工具,我们都知道mnn这些工具都是首先把encoder转成matmul,softmax等一个个算子的组合,然后再顺序执行。
而turbotransformers可以简单理解为把整个encoder或者decoder等看成一整个算子(你可以简单这么理解哈哈),内部使用指令集及存取优化等对这个算子进行优化,这样就消除了算子与算子之间的延迟

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值