這將是一個略有不同的評論,因為它不是關于成品的——我已經收到了 ArmSom/BananaPi 即將推出的 AI 模塊 7(將很快在 CrowdSupply 上推出)的早期樣品,我想分享我對它的早期印象。
免責聲明: ArmSom免費為我提供了一塊AIM7和一塊 AIM-IO 載板(對此我表示感謝),此外這篇文章遵循我的審核政策,我應該強調一下,這是一個眾籌項目,所以不能保證最終產品與我收到的產品完全相同。
硬件
AIM7本身是一個仿照 NVIDIA Jetson 的簡單模塊,具有相同的 DIMM 類連接器和板載 RAM 和 eMMC 存儲:
組件布局
如果您不熟悉該芯片組,這些是基本規格:
4xARM Cortex-A76 + 4xCortex-A55 CPU 核心
Mali-G610 MP4 GPU
3 核 NPU,每秒處理能力達 6 TOPS
高達 32GB 的 LPDDR4 RAM
高達 128GB 的 eMMC 存儲空間
我買了一個 8GB RAM/32GB EMMC 板,說實話,無論是 RAM 還是存儲空間都非常緊張——對于我嘗試過的大多數 AI 工作負載來說,這個 RAM 肯定太少了,而且考慮到沒有其他方式連接高速存儲,這對于開發來說相當有限。
但正如我們稍后會看到的,它可能非常適合工業應用,而不是 GenAI 的幻想。
散熱和功耗
該模塊沒有配備散熱解決方案,因此我使用我常用的一組銅墊片來保持其(安靜地)冷卻。在這方面(和功耗),它與我測試過的許多 RK3588 設備沒有太大區別,范圍從 4 到 11W(典型使用與滿 CPU 負載)。
輸入/輸出
載板是所有 I/O 操作發生的地方 - 除了通過 12V 筒式插孔或 USB-C 供電(這次我選擇了前者)之外,它還有 4 個 USB-A 端口、HDMI、DisplayPort、一個千兆以太網端口,以及一組常用的硬件端口 - 40 針 GPIO 接頭、MIPI-CSI/DSI、microSD 讀卡器,以及用于 Wi-Fi 的 M.2 E-key 插槽:
它幾乎都是 I/O 端口,所以,您無法獲得任何高速存儲擴展。
除了單個載板之外,BananaPi 維基頁面還暗示了一個 4 模塊 AI 邊緣網關,因此這里顯然有構建 ARM 集群的潛力。
認識杰森一家
將 AIM7 與 Jetson Nano 進行比較,相似之處顯而易見:
外形尺寸相同,熱特性卻截然不同。
ArmSom 的Crowdsupply 頁面與 Jetson Nano 進行了快速比較并提供了一些基準信息,因此我不會在這里花費太多時間,只會說這些模塊實際上是引腳兼容的。
話雖如此,由于以下幾個原因,我無法運行一組比較基準測試:我為 Jetson Nano 獲得的 5V 電源在去年年底的某個時候耗盡了,所以我現在無法為其供電 - 但即使我嘗試更換載板,我擁有的 Nano 運行的是相當舊版本的 Ubuntu 和 CUDA,因此實際上很難進行有意義的比較。
事實上,除非你自己編寫代碼,否則能夠在 Nano 上運行的現代代碼實在太少了。
那么,AIM7會 取代NVIDIA Jetson 嗎?好吧,僅從軟件角度考慮,簡短的答案是“如果你真的需要使用 CUDA,那就不會”,但我將在下文中討論這個問題。
簡而言之,如果您有興趣了解 Rockchip 的各種 NPU 庫,它提供了一個有趣的選擇——這些庫在過去幾個月中實際上已經有了很大的改進。
基礎操作系統
該主板附帶 Debian Bullseye (11) 和內核 5.10.160,雖然感覺有點過時,但在 Rockchip 世界中卻是正常現象。
由于該主板尚未支持 Armbian,我只是將語言環境設置重置為en_US.UTF-8(它帶有通常的中文語言環境)并使用它:
uname -a Linux armsom-aim7 5.10.160 #98 SMP Thu Jan 2 15:14:22 CST 2025 aarch64 GNU/Linux locale sudo vi /etc/locale.gen sudo locale-gen sudo vi /etc/default/locale
GENAI、法學碩士 (LLM) 和 RKLLM
是的,我一拿到它就立即運行了 DeepSeek。這是一個很棒的派對技巧,但除了展示 NPU 的功能外,它并沒有做太多事情。
我發現更有趣的是直接在 NPU 上運行一些其他模型,例如marco-o1和gemma-2:
NPU 上的gemma-2講解電視
但是,它們中的任何一個都非常緊湊 - 8GB 的 RAM 是主要的限制,我gemma-3:4b根本無法運行 - 盡管我能夠gemma-3:1b在下面運行ollama(因為我無法轉換它 - 更多信息見下文)。
因此,簡而言之,如果您打算使用 LLM,請選擇具有更多 eMMC 存儲和 RAM 的更大 SKU——8GB/32GB 版本對于除了幾個小型號之外的任何東西來說都太緊張了,即使這樣一次也只能使用一個。
工具說明
我對 Rockchip 工具鏈的抱怨之一是,很多rkllm代碼不完整且難以使用。不過,一些勇敢的人已經努力了,現在rkllm-1.1.4它實際上相當好用。
RK3588 的 NPU 還有一些其他工具可供使用,可能有助于那些想要嘗試 LLM 的人更輕松地完成任務,其中包括我在上面的屏幕截圖中使用的兩個工具:
rkllama為您提供ollama類似的體驗(甚至可以從云端下載預先轉換的模型,在本例中直接從 Huggingface 下載)
rknputop最接近nvtopNPU 使用情況的視圖(盡管仍然有點問題,并且包括 CPU、RAM 和溫度)
還有(最終)記錄的和可重復的方法來將模型轉換為格式,并且(甚至更好的是)Huggingface 上有.rkllm令人驚訝的數量的預先轉換的模型。
LLM 注意事項
轉換模型實際上變得有些簡單,只要你使用相對較舊的模型系列即可。例如,我無法轉換或格式化phi4最新的模型,因為:gemma3.rkllm
我遇到了很多與phi4標記器有關的問題,因此,盡管我可以轉換,但phi3相同的轉換代碼卻不適用于phi4。
gemma3在我完成這篇文章時剛剛發布,rkllm但該模型實際上宣稱自己是不同的“家族”,因此根本不受支持。
現在,還要過一段時間rkllm才會更新,但是現在我沒有時間或耐心去修改模型樹,所以我還沒能想出一個合適的解決方法。torchtransformers
但總體方法非常簡單:
from rkllm.api import RKLLM from os.path import basename import torch # tried to use these to convert the tokenizer from transformers import AutoTokenizer, AutoModel, PreTrainedTokenizerFast #... modelpath = './Phi-3-mini' llm = RKLLM() # options ['cpu', 'cuda'] ret = llm.load_huggingface(model=modelpath, model_lora = None, device='cuda') # ret = llm.load_gguf(model = modelpath) if ret != 0: print('Load model failed!') exit(ret) # break out the parameters for quicker tweaking ret = llm.build(do_quantization=True, optimization_level=1, quantized_dtype="W8A8", quantized_algorithm="normal", target_platform="RK3588", num_npu_core=3, extra_qparams=None, dataset=None) if ret != 0: print('Build model failed!') exit(ret) # Export rkllm model ret = llm.export_rkllm(f"./{basename(modelpath)}_{quantized_dtype}_{target_platform}.rkllm") if ret != 0: print('Export model failed!') exit(ret)
您還可以調整其他一些選項,但使用我的 3060 轉換幾個小模型僅花了幾分鐘。
視覺、語音和 RKNN
但是,我認為AIM7不會用于在現實生活中攻讀 LLM。
對于大多數人來說rknn-toolkit2可能會更感興趣,因為它允許您使用whisper各種版本的 YOLO(您可以從模型庫中獲取)進行語音和圖像識別。
我確實知道 Jetson Nano 被廣泛應用于生產線上的圖像處理和缺陷檢測,雖然我還沒有時間在這個板上實際測試 YOLO,但我知道AIM7是一個合適的替代品,因為許多其他 RK3588 板已經在使用它。
這就是為什么用 RK3588 主板直接替代 Jetson(順便說一句,Jetson 對功率要求很挑剔,而且更熱、更吵)是非常有意義的。
我不確定視頻幀速率,因為這總是嚴重依賴于模型,但早期帶有原始rknn工具包的 RK3588 主板能夠超過 25fps,而且我懷疑通過一些仔細的優化,這個速率至少會翻倍。
但最重要的是,找到用于對象檢測的示例代碼并不難rknn,現在甚至還有來自Frigate等工具的官方支持,所以它肯定不再是一條未知的道路。
結論
我喜歡AIM7 – 我無法將它與我評測過的其他 RK3588 SBC在功能方面(芯片組和基本 I/O 除外)直接進行比較,因為它是專門為替代或與 Jetson 競爭而設計的,但具有諷刺意味的是,在所有這些產品中,它最適合工業應用——在這些應用中,你并不真正需要 NVMe 存儲,即使是 32GB 也足以擁有 YOLO 等視覺模型的多個副本。
我只是希望它能配備更多 RAM……
審核編輯 黃宇
-
AI
+關注
關注
87文章
33455瀏覽量
274031 -
banana pi
+關注
關注
1文章
120瀏覽量
3354
發布評論請先 登錄
相關推薦
Banana Pi 發布 BPI-AI2N & BPI-AI2N Carrier,助力 AI 計算與嵌入式開發
Banana Pi 與瑞薩電子攜手共同推動開源創新:BPI-AI2N
RK3588主板:多元場景的硬核“芯”力量

RK3588 EVB開發板原理圖講解【八】 RK3588 power Tree
Banana Pi開源社區基于瑞芯微RK3588開發板,DeepSeek開發利器
米爾RK3576和RK3588怎么選?-看這篇就夠了
基于迅為RK3568/RK3588開發板的AI圖像識別方案
基于RK3588核心板的AI邊緣計算網關設計方案

評論