当前位置:   article > 正文

纯干技术分享:大模型LLama2-7B在高能效可重构视觉芯片部署

llama2-7b

关于高能效可重构视觉芯片TX536

清微智能TX536是一款行业专用的智能高SOC,集成功能强大的可重构计算架构(CGRA)ISP、业界最新的H.265视频压缩编解码器,3D计算加速单元。基于高性能人工智能加速引擎RNE以及通用计算加速引擎RCE,TX536在低码率、高画质、智能处理和分析等方面引领行业。芯片集成POR、RTC、Audio Codec以及待机唤醒电路,极大的降低了客户的产品成本。AI计算有效能效比达6.3TOPS/W@INT8,典型功耗1W,支持AI降噪、AI超分等图像处理技术,峰值算力4.0Tops@INT8。

LLaMA2是目前为止,效果最好的开源 LLM 之一,是一系列预训练和微调的大型语言模型。因为原生LLaMA2对中文的支持很弱,国内的Llama中文社区在其基础上进行微调并开源了基础模型,本次分享的部署模型Llama2-Chinese-7b-Chat,就是来源于该中文社区:

https://github.com/FlagAlpha/Llama2-Chinese

模型结构

LLaMA2-7B采用与LLaMA-7B相同的结构,如下图所示,相较于传统的Transformer,主要区别在于:

1)采用RMS Norm代替Layernorm,并在顺序上做了前移;

2)采用SwiGLU作为激活函数;

3)采用RoPE通过动态位置编码,来解决传统位置编码处理长序列时困难的问题。

70454dc679beb35888c9a2de227eb289.png

量化方案

清微骑士Knight工具链,支持INT8量化(整网算子输入输出均采用W8A8量化方式,linear权重采用per-channel方式),可以很方便的把浮点模型(比如pytorch/tensorflow/onnx/paddlepaddle等)转换、部署到指定芯片上;Knight工具链还针对硬件架构做了深度优化,在精度和性能两个维度达到较好的平衡。因为LLaMA2-7B模型较大,这里采用分块的方式转换成若干ONNX模型,对这些模型分别进行PTQ量化、编译,并在板端串联起来进行部署、测试。

推理流程

LLaMA2-7B按照模型结构分拆了几个模块Tokenizer/Embedding/LlamaLayer/LmHead,、通过Knight工具链进行转换,调度到TX536芯片上运行。

模型及权重可以通过Hugging Face提供的资源下载到本地,然后按照下面方法导出ONNX模型。

Embedding,词嵌入模块:

a588bd8732f548d54a2cc77c40d45f79.png

LmHead模块

758e2bcb709648d31255b558a042f220.png

LlamaLayer:

35ce430bfcde918b6cd8be8c6b9ad2af.png

整体推理流程:

5c972b259f22f66fa0a6af38f59cd225.png

板端部署、性能测试

对Embedding/LlamaLayer/LmHead分别进行量化、编译后,生成可执行二进制文件,Sequence-length设置为1的条件下,完整执行过程如下:

Embedding板端运行:

de34524fa936582721fde84913a574b2.png

LlamaLayer板端运行:

ed26a43f63846bb39d0abe177d99a79f.png

LmHead板端运行:

d2879bc12676801c48eae890dd69bb03.png

清微工具链目前已经完成了与百度paddlepaddle III级兼容性认证,支持30个多模型,涉及视觉,自然语言处理和推荐,无论是面向大模型还是在通用性方面,可重构软件工具都具有相当的优势。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/117294
推荐阅读
相关标签
  

闽ICP备14008679号