0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于AX650N/AX630C部署端侧大语言模型Qwen2

爱芯元智AXERA 来源:爱芯元智AXERA 2024-07-06 17:43 次阅读

Qwen2: Qwen is the large language model and large multimodal model series of the Qwen Team, Alibaba Group. Now the large language models have been upgraded to Qwen2.

背景

云端大模型,端侧小模型,端云协同进提升用户体验已成为今年大模型(LLM)产品化落地的一个热点话题。今年以来,各大手机厂家纷纷推出了端侧小模型版本,例如Google的Gemini-nano(1.8B)、VIVO的蓝星大模型(1B)、以及国内“小钢炮”MiniCPM(1B)等等均已在各自/客户手机上部署落地,进一步增加了手机智能属性和便捷性。那么在设备数量更多的IoT领域是否也能部署经济实用的LLM呢?例如实现本地人机问答AI Agent、Function Call等等功能?

本文将分享如何将最新的端侧大语言模型部署到超高性价比SoC上,向业界对端侧大模型部署的开发者提供一种新的思路。

Qwen2介绍

Qwen是阿里巴巴集团Qwen团队研发的大语言模型和大型多模态模型系列。目前,大语言模型已升级至Qwen2版本。无论是语言模型还是多模态模型,均在大规模多语言和多模态数据上进行预训练,并通过高质量数据进行后期微调以贴近人类偏好。Qwen具备自然语言理解、文本生成、视觉理解、音频理解、工具使用、角色扮演、作为AI Agent进行互动等多种能力。

官方文档:

https://qwen.readthedocs.io/zh-cn/latest/index.html

Github项目:

https://github.com/QwenLM/Qwen2

最新版本Qwen2有以下特点:

5种模型规模,包括0.5B、1.5B、7B、57B-A14B和72B;

针对每种尺寸提供基础模型和指令微调模型,并确保指令微调模型按照人类偏好进行校准;

●基础模型和指令微调模型的多语言支持;

●所有模型均稳定支持32K长度上下文;

●支持工具调用、RAG(检索增强文本生成)、角色扮演、AI Agent等。

最近Hugging Face联合创始人兼首席执行Clem Delangue于6月26日在X平台发布推文,表示阿里云开源的通义千问(Qwen)指令微调模型Qwen2-72B在开源模型排行榜上荣登榜首。

b5fc97f6-3b6f-11ef-a4c8-92fbcf53809c.png

来自HuggingFace独立、客观、第三方的认可,从侧面再次证明了Qwen2的技术先进性。同时也分享下在端侧芯片AX650N上部署效果。

芯片介绍

3.1 AX650N

爱芯元智第三代高能效比智能视觉芯片AX650N。集成了八核Cortex-A55 CPU,高能效比NPU,支持8K@30fps的ISP,以及H.264、H.265编解码的 VPU。接口方面,AX650N支持64bit LPDDR4x,多路MIPI输入,千兆EthernetUSB、以及HDMI 2.0b输出,并支持32路1080p@30fps解码内置高算力和超强编解码能力,满足行业对高性能边缘智能计算的需求。通过内置多种深度学习算法,实现视觉结构化、行为分析、状态检测等应用,高效率支持基于Transformer结构的视觉大模型和语言类大模型。提供丰富的开发文档,方便用户进行二次开发。

b65cf628-3b6f-11ef-a4c8-92fbcf53809c.jpg

3.2AX630C

爱芯元智第四代智能视觉芯片AX630C,该芯片集成新一代智眸4.0AI-ISP,最高支持4K@30fps实时真黑光,同时集成新一代通元4.0高性能、高能效比 NPU引擎,使得产品在低功耗、高画质、智能处理和分析等方面行业领先。提供稳定易用的SDK软件开发包,方便用户低成本评估、二次开发和快速量产。帮助用户在智能家居应用和其他AIoT项目中发挥更大的价值。

b6a4bf6c-3b6f-11ef-a4c8-92fbcf53809c.jpg

结合AX630C的产品规格,我们选择最合适的Qwen2 0.5B-Instruct作为本次示例模型。

LLM编译

4.1Pulsar2

Pulsar2是新一代AI工具链,包含模型转换、离线量化、模型编译、异构调度四合一超强功能,进一步强化了网络模型高效部署的需求。在针对第三代、第四代NPU架构进行了深度定制优化的同时,也扩展了算子&模型支持的能力及范围,对Transformer结构的网络也有较好的支持。

最新释放的Pulsar2 3.0-temp版本新增llm build模块。在该版本中已经可编译出能在AX650N上运行的大模型版axmodel(AX630C的llm build Release版加班开发中……当然我们在网盘中提供了预编译体验版本,感兴趣的朋友可以先试试效果)

https://pulsar2-docs.readthedocs.io/zh-cn/latest/appendix/build_llm.html

4.2 下载ax-llm-build项目

默认用户已经按照Pulsar2 v3.0-temp版本文档中《开发环境准备》章节完成docker镜像安装并已进入pulsar2的docker环境。

git clone https://github.com/AXERA-TECH/ax-llm-build.git

4.3 下载Qwen2-0.5B-Instruct

cd ax-llm-build
pip install -U huggingface_hub
huggingface-cli download --resume-download Qwen/Qwen2-0.5B-Instruct --local-dir Qwen/Qwen2-0.5B-Instruct

4.4 编译执行

pulsar2 llm_build --input_path Qwen/Qwen2-0.5B-Instruct/ --output_path Qwen/Qwen2-0.5B-w8a16/ --kv_cache_len 1023 --model_config config/qwen2-0.5B.json --hidden_state_type bf16 --weight_type s8

log参考信息

root@gpux2:/data/ax-llm-build# pulsar2 llm_build --input_path Qwen/Qwen2-0.5B-Instruct/ --output_path Qwen/Qwen2-0.5B-w8a16/ --kv_cache_len 1023 --model_config config/qwen2-0.5B.json --hidden_state_type bf16 --weight_type s8
Config(
  model_name='Qwen/Qwen2-0.5B-Instruct',
  model_type='qwen',
  num_hidden_layers=24,
  num_attention_heads=14,
  num_key_value_heads=2,
  hidden_size=896,
  intermediate_size=4864,
  vocab_size=151936,
  rope_theta_base=1000000.0,
  max_position_embedings=32768,
  rope_partial_factor=1.0,
  norm_eps=1e-06,
  norm_type='rms_norm',
  hidden_act='silu'
)
2024-07-01 1108.009 | SUCCESS | yamain.command.llm_build85 - prepare llm model done!
building llm decode layers  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24/24 059
building llm post layer  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1/1 024
2024-07-01 1131.941 | SUCCESS | yamain.command.llm_build128 - build llm model done!
2024-07-01 1156.925 | SUCCESS | yamain.command.llm_build277 - check llm model done!

embed提取和优化

python tools/extract_embed.py --input_path Qwen/Qwen2-0.5B-Instruct/ --output_path Qwen/Qwen2-0.5B-w8a16/
python tools/embed-process.py --input Qwen/Qwen2-0.5B-w8a16/model.embed_tokens.weight.npy --output Qwen/Qwen2-0.5B-w8a16/model.embed_tokens.weight.float32.bin
chmod +x ./tools/fp32_to_bf16
./tools/fp32_to_bf16 Qwen/Qwen2-0.5B-w8a16/model.embed_tokens.weight.float32.bin Qwen/Qwen2-0.5B-w8a16/model.embed_tokens.weight.bfloat16.bin

4.5输出文件说明

root@xxx:/data/ax-llm-build# tree Qwen/Qwen2-0.5B-w8a16
Qwen/Qwen2-0.5B-w8a16
├── model.embed_tokens.weight.bfloat16.bin
├── model.embed_tokens.weight.float32.bin
├── model.embed_tokens.weight.npy
├── qwen_l0.axmodel
├── qwen_l10.axmodel
├── qwen_l11.axmodel
├── qwen_l12.axmodel
├── qwen_l13.axmodel
......
├── qwen_l7.axmodel
├── qwen_l8.axmodel
├── qwen_l9.axmodel
└── qwen_post.axmodel

其中,

model.embed_tokens.weight.bfloat16.bin、qwen_l0.axmodel ~ qwen_l23.axmodel、qwen_post.axmodel,

是上板运行需要的。

开发板运行

5.1 ax-llm项目

ax-llm项目用于探索业界常用LLM(Large Language Model)在AXERA已有芯片平台上落地的可行性和相关能力边界,方便社区开发者进行快速评估和二次开发自己的LLM应用。

https://github.com/AXERA-TECH/ax-llm

同时,我们在网盘中已经提供好了分别基于AX650N和AX630C平台预编译好的部分LLM示例。

https://pan.baidu.com/s/1_LG-sPKnLS_LTWF3Cmcr7A?pwd=ph0e

5.2 执行过程(基于AX650N开发板)

root@ax650:/mnt/qtang/llama_axera_cpp# ./run_qwen2_0.5B.sh
[I][              Init][ 71]: LLM init start
 3% | ██                |  1 / 27 [0.28s<7.48s, 3.61 count/s] tokenizer init ok
[I][                            Init][  26]: LLaMaEmbedSelector use mmap
100% | ████████████████████████████████ |  27 /  27 [7.40s<7.40s, 3.65 count/s] init post axmodel okremain_cmm(11583 MB)
[I][                            Init][ 180]: max_token_len : 1023
[I][                            Init][ 185]: kv_cache_size : 128, kv_cache_num: 1023
[I][                            Init][ 199]: LLM init ok
Type "q" to exit, Ctrl+c to stop current running
>> who are you?
I am a large language model created by Alibaba Cloud. I am called Qwen.
[N][               Run][ 388]: hit eos,avg 24.51 token/s

5.3 视频示例(基于AX630C开发板)

5.4 性能统计

AX650N、AX630C目前均采用W8A16量化方案(性能优化会持续进行)

AX650N

模型名称 参数 速度(token/s)
TinyLlama-1.1 1.1B 16.5
Qwen2.0 0.5B 29.0
Qwen2.0 1.5B 11.2
MiniCPM 2.4B 6.0
Phi3Qwen2.0 3.8B 5.0
Llama3 8B 2.5

AX630C:

模型名称 参数量 速度(token/s)
TinyLlama-1.1 1.1B 5.8
Qwen2.0 0.5B 10.7

结束语

随着大语言模型小型化的快速发展,越来越多有趣的多模态AI应用将逐渐从云端服务迁移到边缘侧设备和端侧设备。我们会紧跟行业最新动态,欢迎大家持续关注。

7月4日-7日,爱芯元智@2024WAIC,上海世博展览馆2号馆C1525(H2-C1525),欢迎大家现场交流。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 爱芯元智
    +关注

    关注

    1

    文章

    77

    浏览量

    4822
  • 大模型
    +关注

    关注

    2

    文章

    2354

    浏览量

    2539
  • LLM
    LLM
    +关注

    关注

    0

    文章

    279

    浏览量

    310

原文标题:爱芯分享 | 基于AX650N/AX630C部署Qwen2

文章出处:【微信号:爱芯元智AXERA,微信公众号:爱芯元智AXERA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    基于AX650N/AX630C部署多模态大模型InternVL2-1B

    InternVL2是由上海人工智能实验室OpenGVLab发布的一款多模态大模型,中文名称为“书生·万象”。该模型在多学科问答(MMMU)等任务上表现出色,并且具备处理多种模态数据的能力。
    的头像 发表于 11-18 17:32 557次阅读
    基于<b class='flag-5'>AX650N</b>/<b class='flag-5'>AX630C</b><b class='flag-5'>部署</b>多模态大<b class='flag-5'>模型</b>InternVL<b class='flag-5'>2</b>-1B

    爱芯元智发布第三代智能视觉芯片AX650N,为智慧生活赋能

    中国 上海 2023 年 3 月 6 日 ——人工智能视觉感知芯片研发及基础算力平台公司爱芯元智宣布推出第三代高算力、高能效比的SoC芯片——AX650N。这是继AX620、AX630系列后,爱芯元
    发表于 03-07 10:57 1566次阅读
    爱芯元智发布第三代智能视觉芯片<b class='flag-5'>AX650N</b>,为智慧生活赋能

    【爱芯派 Pro 开发板试用体验】爱芯元智AX650N部署yolov5s 自定义模型

    爱芯元智AX650N部署yolov5s 自定义模型 本博客将向你展示零基础一步步的部署好自己的yolov5s模型(博主展示的是安全帽
    发表于 11-16 19:34

    【爱芯派 Pro 开发板试用体验】爱芯元智AX650N部署yolov8s 自定义模型

    爱芯元智AX650N部署yolov8s 自定义模型 本博客将向你展示零基础一步步的部署好自己的yolov8s模型(博主展示的是自己训练的手
    发表于 11-24 20:40

    【爱芯派 Pro 开发板试用体验】ax650使用ax-pipeline进行推理

    /AXERA-TECH/ax-pipeline.git 下载sdk cd ax-pipeline ./download_ax_bsp.sh ax650 cd
    发表于 12-19 17:36

    爱芯元智第三代智能视觉芯片AX650N高能效比SoC芯片

    爱芯元智正式推出第三代高算力、高能效比的SoC芯片——AX650N。这是继AX620、AX630系列后,爱芯元智推出的又一款高性能智能视觉芯片。 AX650N是一款兼具高算力与高能效比
    的头像 发表于 03-10 17:13 3982次阅读

    基于AX650N部署EfficientViT

    场景通常对模型推理的实时性要求较高,但大部分轻量级的Vision Transformer网络仍无法在已有边缘/
    的头像 发表于 05-26 10:30 1006次阅读

    爱芯元智AX650N、边缘Transformer最佳落地平台

    Transformer是当前各种大模型所采用的主要结构,而ChatGPT的火爆让人们逐渐意识到人工智能有着更高的上限,并可以在计算机视觉领域发挥出巨大潜能。相比于在云端用GPU部署Transformer大模型,在边缘
    的头像 发表于 05-30 11:04 976次阅读
    爱芯元智<b class='flag-5'>AX650N</b>成<b class='flag-5'>端</b><b class='flag-5'>侧</b>、边缘<b class='flag-5'>侧</b>Transformer最佳落地平台

    基于AX650N部署视觉大模型DINOv2

    最近一段时间,基于Transformer网络结构的视觉大模型呈现出爆发式增长,继Segment Anything(SAM)之后,Meta AI再次发布重量级开源项目——DINOv2。DINOv2可以抽取到强大的图像特征,且在下游
    的头像 发表于 06-30 10:07 2870次阅读

    爱芯元智发布新一代IPC SoC芯片AX630CAX620Q

    中国 深圳 2023 年 10 月 27 日 ——AI视觉芯片研发及基础算力平台公司爱芯元智宣布,发布新一代IPC SoC芯片产品AX630CAX620Q,以领先行业水平的高画质、智能处理和分析等
    发表于 10-27 16:26 1481次阅读
    爱芯元智发布新一代IPC SoC芯片<b class='flag-5'>AX630C</b>和<b class='flag-5'>AX</b>620Q

    爱芯元智AX620E和AX650系列芯片正式通过PSA Certified安全认证

    万物互联的时代,安全性已成为物联网产品设计及部署的基本要求。近日,爱芯元智AX620E和AX650系列芯片(包含AX630C/AX620Q/
    的头像 发表于 04-23 15:45 771次阅读
    爱芯元智<b class='flag-5'>AX</b>620E和<b class='flag-5'>AX650</b>系列芯片正式通过PSA Certified安全认证

    阿里通义千问Qwen2模型发布

    阿里巴巴最近发布了其通义千问系列的新成员——Qwen2模型,并在Hugging Face和ModelScope两大平台上实现了同步开源。这一举措无疑为人工智能领域的研究者和开发者们提供了更多选择和可能。
    的头像 发表于 06-07 15:59 744次阅读

    Qwen2强势来袭,AIBOX支持本地化部署

    Qwen2是阿里通义推出的新一代多语言预训练模型,经过更深入的预训练和指令调整,在多个基准评测结果中表现出色,尤其在代码和数学方面有显著提升,同时拓展了上下文长度支持,最高可达128K。目前
    的头像 发表于 06-27 08:02 1006次阅读
    <b class='flag-5'>Qwen2</b>强势来袭,AIBOX支持本地化<b class='flag-5'>部署</b>

    基于AX650N芯片部署MiniCPM-V 2.0高效多模态大模型

    今年4月份,面壁智能&清华大学自然语言处理实验室推出MiniCPM系列的最新多模态版本MiniCPM-V 2.0。该模型基于MiniCPM 2.4B和SigLip-400M构建,共拥有
    的头像 发表于 07-15 09:34 802次阅读
    基于<b class='flag-5'>AX650N</b>芯片<b class='flag-5'>部署</b>MiniCPM-V 2.0高效<b class='flag-5'>端</b><b class='flag-5'>侧</b>多模态大<b class='flag-5'>模型</b>

    基于Qwen-Agent与OpenVINO构建本地AI智能体

    Qwen2 是阿里巴巴集团 Qwen 团队研发的大语言模型和大型多模态模型系列。Qwen2 具备
    的头像 发表于 07-26 09:54 747次阅读
    基于<b class='flag-5'>Qwen</b>-Agent与OpenVINO构建本地AI智能体