背景
2024年是大模型在邊緣側&端側落地的第一年。從這一年開始,頭部手機廠商在自己的旗艦機型中內置了3B以下的本地大模型,證明了3B以下大模型的商業落地可行性。
在裝機量更大,應用更廣泛的IoT領域,已有的主控模塊,例如NAS、NVR、工控計算機等邊緣計算網關設備,或者市面上各種SBC(單板計算),例如樹莓派5、基于Intel N100的各種小盒子,為了進一步通過多模態大模型實現智能化升級改造,例如Function Call和視覺圖像的語義理解,當前只能通過原有算力有限的CPU/GPU低效率的運行大模型。不僅無法部署業界主流的大模型或者推理能力更強的多模態大模型,同時還搶占資源有限的主控算力&帶寬資源導致業務無法穩定運行,影響最終用戶使用體驗。
因此我們嘗試解決一些行業智能化升級改造的痛點,給社區開發者提供更易用、更靈活的邊緣側AI算力擴容方案,聯合硬件生態伙伴基于AX650N出了M.2智能推理卡。希望能給在邊緣側基于各種不同主控芯片平臺進行創新算法、大模型算法部署的開發者,提供一種新的解決方案。推動“普惠AI”更進一步。
目標群體
希望通過M.2智能推理卡這樣類似的解決方案,解決下列存在的問題。
SBC智能升級
SBC:Single Board Computer,單板計算機。以大家熟悉的樹莓派(Raspberry Pi)為主以及國內的其他派,他們絕大多數采用arm架構的CPU。并不是說這些國內外的派算力差是劣勢,畢竟SBC的主要價值并不是AI應用,只是在有些場景需要AI應用拓展的時候,在這些SBC中正好又預留了M.2 2280的安裝位置,這時候就可以即插即用M.2智能推理卡。
為了應對這一塊的潛在市場需求Raspberry Pi在今年上半年推出了基于以色列公司Hailo的M.2算力卡模組,但是目前市面上基于Hailo芯片的模組明顯的缺陷是運行Transformer效率較低,不具備視頻流編解碼能力,也無法滿足開發者社區對于運行Llama3、Qwen2.5這些主流的大模型的需求。
NVR/NAS智能升級
在家用NVR、NAS產品中,大多數都預留了為拓展硬盤存儲容量的M.2 2280的安裝位。在某些對個人隱私數據要求嚴格,不愿意將本地NVR、NAS數據上傳到云端進行智能分析的場景,也是M.2智能推理卡的目前之一。
工控機改造
在工業控制領域,已有的工控機想部署最新的視覺類模型或者多模態大模型來提高業務精度。例如使用基于Transformer結構的DepthAnything、SAM實現更加準確的視頻處理。原本的CPU算力有限,添加額外的算力配件就很有必要。
機器人領域
通過算力擴展,降低主控運行視覺感知算法的壓力,特別是基于Vision Transformer的感知算法模型。釋放主控平臺的系統資源占用,提升穩定性和可靠性。
AIPC探路
通過M.2智能推理卡的解決方案,探索AIPC真實的算力需求門檻(不被某軟提出的40T算力需求迷惑,盲目虛標算力……)。
項目 | 描述 |
處理器 | Octa-core Cortex-A55@1.7GHz |
內存 | 4GiB or 8GiB,64bit LPDDR4x |
存儲 | 16MiB,Nor Flash |
智能 |
18TOPs@Int8,72TOPs@Int4; 支持CNN、Transformer模型部署; 支持LLM、VLM部署 |
視頻編碼 | H.264/H.265,16路1080@30fps編碼 |
視頻解碼 | H.264/H.265,32路1080@30fps解碼 |
Host適配 | 支持Intel、AMD、NXP、Xilinx、Raspberry Pi、Rockchip等 |
Host系統 |
Linux:Ubuntu、Debian、CentOS等; Windows(適配中) |
外形尺寸 | M.2 2280,M Key |
工作電壓 | 3.3 V |
系統功耗 | <8 w |
已驗證平臺
項目 | 備注 |
主控平臺 | RaspberryPi5、Radxa 5B、OrangePi5、Firefly3576、Firefly3568、Intel、AMD、NXP…… |
主控系統 | Ubuntu24.04、Ubuntu22.04、Debian12、OpenKylin、OpenEuler…… |
軟件架構
為了做到“即插即用”,我們推出了AXCL的軟件架構。AXCL是用于在Axera芯片平臺上開發深度神經網絡推理、轉碼等應用的C、Python語言API庫,提供運行資源管理,內存管理,模型加載和執行,媒體數據處理等API,其邏輯架構圖如下圖所示:
更多AXCL的架構詳情請參考《AXCL簡介》。
快速安裝
以受眾群體最廣的樹莓派5為例,介紹在樹莓派5上
安裝M.2智能推理卡
搭建M.2智能推理卡的運行環境
運行Ultralytics的YOLO11、多模態大模型 InternVL2-1B、Whisper
硬件安裝
在樹莓派5上安裝M.2智能推理卡時,首先需要準備一塊M.2 HAT+擴展板。參考官方鏈接,M.2 HAT+的官方版本只支持2230、2242的M.2 M Key卡,通常 M.2卡是2280的,您可能需要考慮購買第三方的支持 2280長度的M.2 HAT+擴展板。
步驟1:準備材料
步驟2:安裝完成
軟件安裝
樹莓派5上安裝M.2卡固件步驟詳情可以參考《AXCL安裝》。
deb包安裝完成之后,可以使用lspci命令檢查加速卡是否正確被識別:
axera@raspberrypi:~ $ lspci 0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21) 000000.0 Multimedia video controller: Axera Semiconductor Co., Ltd Device 0650 (rev 01) 000100.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21) 000100.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge
也可以使用axcl_ut_xxx等單元測試用例,確保M.2卡各項功能運行正常。
(base) axera@raspberrypi:~ $ axcl_ut_ axcl_ut_cmm axcl_ut_npu axcl_ut_pool axcl_ut_rt_engine axcl_ut_rt_stream axcl_ut_vdec axcl_ut_ive axcl_ut_package axcl_ut_rt_context axcl_ut_rt_init axcl_ut_socket_client axcl_ut_venc axcl_ut_msys axcl_ut_pcie_rc axcl_ut_rt_device axcl_ut_rt_memory axcl_ut_socket_server
或者使用大家都熟悉的類似nvidia-smi的小工具 axcl-smi查詢板卡狀態。
(base) axera@raspberrypi:~ $ axcl_smi +------------------------------------------------------------------------------------------------+ | AXCL-SMI V2.18.0_20241204020159 Driver V2.18.0_20241204020159 | +-----------------------------------------+--------------+---------------------------------------+ | Card Name Firmware | Bus-Id | Memory-Usage | | Fan Temp Pwr:Usage/Cap | CPU NPU | CMM-Usage | |=========================================+==============+=======================================| | 0 AX650N V2.18.0 | 0000:01:00.0 | 153 MiB / 954 MiB | | -- 39C -- / -- | 0% 0% | 18 MiB / 3072 MiB | +-----------------------------------------+--------------+---------------------------------------+ +------------------------------------------------------------------------------------------------+ | Processes: | | Card PID Process Name NPU Memory Usage | |================================================================================================|
NPU示例
AXCL NPU示例分別從Ultralytics YOLO11、InternVL2-1B、Whisper-Small三個比較有代表性的模型進行展示。
YOLO11
類似YOLO11這樣簡單的模型示例,我們提供了axcl-samples開源項目,該項目用最簡單的方式展示常用的開源模型,例如Ultralytics的YOLO系列,DepthAnything,YOLO-Worldv2等等。基于Ultralytics YOLO11系列模型詳細的模型導出、量化、編譯的流程請參考《基于AX650N部署YOLO11》。
(https://zhuanlan.zhihu.com/p/772269394)
(base) axera@raspberrypi:~/temp $ ./axcl_yolo11 -i ssd_horse.jpg -m yolo11x.axmodel -------------------------------------- model file : yolo11x.axmodel image file : ssd_horse.jpg img_h, img_w : 640 640 -------------------------------------- post process cost time:1.44 ms -------------------------------------- Repeat 1 times, avg time 24.69 ms, max_time 24.69 ms, min_time 24.69 ms -------------------------------------- detection num: 6 17: 96%, [ 216, 71, 423, 370], horse 16: 93%, [ 144, 203, 196, 345], dog 0: 89%, [ 273, 14, 349, 231], person 2: 88%, [ 1, 105, 132, 197], car 0: 82%, [ 431, 124, 451, 178], person 19: 46%, [ 171, 137, 202, 169], cow
InternVL2-1B
InternVL2是由上海人工智能實驗室OpenGVLab發布的一款多模態大模型。
InternVL2-1B的詳細模型導出、量化、編譯的流程請參考《基于AX650N/AX630C部署多模態大模型InternVL2-1B》
(https://zhuanlan.zhihu.com/p/4118849355)
拷貝相關文件到樹莓派上
輸出結果
(base) axera@raspberrypi:~/internvl2-1b-448-ax650 $ ./run_internvl2_448_pcie.sh [I][ Init][ 135]: LLM init start 100% | ████████████████████████████████ | 27 / 27 [8.99s<8.99s, 3.00 count/s] [I][ ? ? ? ? ? ? ? ? ? ? ? ? ? ?Init][ 292]: max_token_len : 1023 [I][ ? ? ? ? ? ? ? ? ? ? ? ? ? ?Init][ 297]: kv_cache_size : 128, kv_cache_num: 1023 [I][ ? ? ? ? ? ? ? ? ? ? ? ? ? ?Init][ 305]: prefill_token_num : 320 [I][ ? ? ? ? ? ? ? ? ? ? ? ? ? ?Init][ 307]: vpm_height : 448,vpm_width : 448 [I][ ? ? ? ? ? ? ? ? ? ? ? ? ? ?Init][ 389]: LLM init ok Type "q" to exit, Ctrl+c to stop current running prompt >> who are you? image >> [I][ Run][ 626]: ttft: 425.78 ms I am an AI assistant whose name is InternVL, developed jointly by Shanghai AI Lab and SenseTime. [N][ Run][ 751]: hit eos,avg 29.24 token/s prompt >> 圖片中有什么? image >> ./ssd_car.jpg [I][ Encode][ 468]: image encode time : 4202.367188 ms, size : 229376 [I][ Run][ 626]: ttft: 425.97 ms 這張圖片展示了一輛紅色的雙層巴士,巴士上有一個廣告,廣告上寫著“THINGS GET MORE EXCITING WHEN YOU SAY YES”(當你說“是”時,事情會變得更加有趣)。 巴士停在城市街道的一側,街道兩旁有建筑物和行人。圖片中還有一位穿著黑色外套的女士站在巴士前微笑。 [N][ Run][ 751]: hit eos,avg 29.26 token/s prompt >> q (base) axera@raspberrypi:~/internvl2-1b-448-ax650 $
Whisper
Whisper是由OpenAI開源的一個自動語音識別(ASR)方案,它在從網絡上收集的68萬小時多語言和多任務監督數據上進行了訓練。它展示了使用如此龐大和多樣化的數據集可以提高對口音、背景噪音和技術語言的魯棒性。
運行結果
處理4秒的音頻數據,只需要不到0.8s,效率很高。
(base) axera@raspberrypi:~/qtang/whisper.axcl/install $ ./whisper -w ../demo.wav encoder: ../models/small-encoder.axmodel decoder_main: ../models/small-decoder-main.axmodel decoder_loop: ../models/small-decoder-loop.axmodel wav_file: ../demo.wav language: zh Load encoder take 3336.25 ms Load decoder_main take 6091.89 ms Load decoder_loop take 5690.05 ms Read positional_embedding Encoder run take 190.26 ms First token: 17556 take 51.49ms Next Token: 20844 take 30.15 ms ...... Next Token: 46514 take 30.17 ms Next Token: 50257 take 30.15 ms All Token: take 503.68ms, 31.77 token/s All take 735.09ms Result: 甚至出現交易幾乎停滯的情況 (base) axera@raspberrypi:~/qtang/whisper.axcl/install $
性能測評
這里我只橫向對比等價位的M.2智能推理卡與 Hailo8L M.2算力卡的差異。
常規模型推理性能歸一化幀率比較
后續計劃
AX650N已適配的各種創新算法模型依次遷移到 AXCL上,例如SAM、CLIP、StableDiffusion1.5、MiniCPM-V、Qwen2-VL、FlashOCC、BEVFormer等
持續優化AXCL上的大模型推理效率,例如將 InternVL2-1B中的圖片編碼耗時縮小到500ms以內
基于AXCL的軟件體系,適配更多有趣的前沿視覺、音頻、大模型算法
-
工控機
+關注
關注
10文章
1735瀏覽量
50544 -
邊緣計算
+關注
關注
22文章
3092瀏覽量
48955 -
愛芯元智
+關注
關注
1文章
80瀏覽量
4835 -
大模型
+關注
關注
2文章
2448瀏覽量
2701
原文標題:愛芯分享 | 基于AX650N的M.2智能推理卡(購買直達)
文章出處:【微信號:愛芯元智AXERA,微信公眾號:愛芯元智AXERA】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論