TL;DR
將海外廣受歡迎的開源智能相冊項目Immich部署于樹莓派5上,并通過搭載基于AX650N/AX8850的M.2算力卡,顯著提升了系統(tǒng)算力。借助該方案,我們高效部署了多模態(tài)模型CLIP,有效緩解了僅依賴樹莓派5本體運行時CPU資源占用過高的瓶頸,大幅提升了“以文搜圖”功能的響應速度與使用體驗。
為何推薦采用M.2形態(tài)的算力卡?原因在于,目前絕大多數(shù)NAS設(shè)備均內(nèi)置M.2 2280接口,主要用于安裝高速SSD緩存或存儲盤。利用這一通用接口擴展AI算力模塊,不僅無需額外供電或外接設(shè)備,還能實現(xiàn)算力升級與存儲擴展的兼容共存,具備極佳的硬件兼容性與部署靈活性。這種“即插即用”的升級方式,為邊緣設(shè)備賦能AI能力提供了高效、低成本的解決方案。
01背景
今年下半年,隨著業(yè)務推廣需求增加,我們的大模型適配工作也有了新方向:不再只追求前沿模型的快速適配,而是更聚焦為銷售團隊提供具備實戰(zhàn)價值的解決方案,即貼近客戶剛需、可快速落地的大模型應用。
因此,接下來的技術(shù)分享會更聚焦在基于我司邊緣AI芯片(如AX650/AX8850)的實際應用落地,幫助客戶實現(xiàn)從Demo到量產(chǎn)的跨越。
其中一個重點場景就是:AI NAS產(chǎn)品應用。
自2025年下半年以來,NAS行業(yè)正加速向“AI NAS”演進,開啟智能化升級的新階段。作為產(chǎn)品經(jīng)理,我們在調(diào)研中提煉出一系列面向家庭與個人用戶的“智能內(nèi)容管理”需求,涵蓋圖像、音頻、視頻等多個維度,推動NAS從傳統(tǒng)的數(shù)據(jù)存儲中心向AI內(nèi)容中樞轉(zhuǎn)型。
圖像類功能(已整合至智能相冊場景):
自然語言檢索圖片(以文搜圖)
智能去重與相似圖識別
老照片修復與圖像超分辨率
時光縮影(自動生成回憶視頻)
音頻類功能:
音質(zhì)增強與降噪
歌詞自動匹配與生成
會議錄音轉(zhuǎn)錄與摘要
視頻類功能:
視頻超分與畫質(zhì)增強
運動插幀提升流暢度
自動生成字幕并支持多語言翻譯
在構(gòu)建智能相冊能力的過程中,綜合考慮社區(qū)活躍度、功能完整性、擴展性與部署復雜度,最終選定Immich。Immich不僅支持高質(zhì)量的照片與視頻備份,還內(nèi)置了基于CLIP模型的語義檢索能力,是實現(xiàn)“以文搜圖”的理想基礎(chǔ)平臺。
然而,在將Immich部署于樹莓派5等端側(cè)設(shè)備時,我們發(fā)現(xiàn)其默認使用CPU運行CLIP模型會導致資源占用過高,響應延遲明顯,嚴重影響用戶體驗。為此,我們引入基于AX650N/AX8850芯片的M.2算力卡,通過硬件卸載方式將多模態(tài)推理任務從主CPU轉(zhuǎn)移至NPU,顯著降低系統(tǒng)負載,提升檢索效率。
本文將簡要介紹Immich的核心功能,并重點分享如何利用M.2算力卡實現(xiàn)CLIP模型的高效推理部署,拓展Immich在低功耗邊緣設(shè)備上的適用場景,為AI NAS的本地化智能演進提供可行路徑。
02Immich
自托管的照片和視頻管理解決方案。可以輕松的部署在自己的服務器(x86 mini PC或者樹莓派5)上,實現(xiàn)備份、整理和管理自己的照片。Immich幫助便捷地瀏覽、搜索和管理照片與視頻,由于是私有化部署,因此完全不用擔心隱私風險。
官方網(wǎng)站:https://immich.app/
官方文檔:https://docs.immich.app/overview/quick-start/
GitHub項目:https://GitHub.com/immich-app/immich
架構(gòu)淺析
Immich其實是比較復雜的項目,在本文中只做最基本的探討,主要是為了引出AI模型在什么位置,詳細的架構(gòu)說明請參考https://docs.immich.app/developer/architecture
Immich采用傳統(tǒng)的客戶端-服務器架構(gòu),并使用專用數(shù)據(jù)庫進行數(shù)據(jù)持久化。前端客戶端通過HTTP使用REST API與后端服務進行通信。以下是該架構(gòu)的高層級示意圖。
示意圖展示了客戶端通過REST與服務器的API進行通信的過程。服務器則通過倉庫接口與下游系統(tǒng)(如Redis,Postgres,Machine Learning,file system)進行通信。圖中未顯示的是,服務器被拆分為兩個獨立的容器:immich-server和immich-microservices。微服務容器不處理API請求或安排定時任務,而主要是處理來自Redis的傳入作業(yè)請求。
Immich后端被劃分為多個服務,每個服務作為獨立的Docker容器運行。
immich-server-負責處理和響應REST API請求,執(zhí)行后臺作業(yè)(如縮略圖生成、元數(shù)據(jù)提取、轉(zhuǎn)碼等)。
immich-machine-learning-執(zhí)行機器學習模型。
postgres-用于持久化數(shù)據(jù)存儲。
Redis-管理后臺作業(yè)的任務隊列。
這些容器協(xié)同工作以提供Immich的完整功能。
Machine Learning
(適配的核心工作)
Machine Learning服務使用Python編寫,并通過FastAPI進行HTTP通信。
所有與Machine Learning相關(guān)的操作均已移至該獨立服務(immich-machine-learning)。Python是人工智能和機器學習領(lǐng)域的自然選擇,但它也對硬件有較為特定的要求。將其作為獨立容器運行,使得該容器可以在單獨的機器上部署,或根據(jù)需要輕松地完全禁用。
對機器學習服務的每個請求都包含與模型任務、模型名稱等相關(guān)元數(shù)據(jù)。這些設(shè)置與其他系統(tǒng)配置一同存儲在Postgres數(shù)據(jù)庫中。微服務容器在每次請求時會獲取這些設(shè)置,并將其附加到請求中。
在服務內(nèi)部,機器學習服務在處理文本或圖像數(shù)據(jù)之前,會先為每個請求下載、加載并配置指定的模型。已加載的模型會被緩存,以便在后續(xù)請求中重復使用。服務使用線程池在不同線程中處理每個請求,以避免阻塞異步事件循環(huán)。
Immich官方倉庫中,所有模型均采用ONNX格式。該格式在業(yè)界得到廣泛支持,意味著大多數(shù)其他模型格式均可導出為ONNX,且許多硬件API也支持該格式。但是對于以文搜圖這樣的算法應用,Immich采用的是主流的CLIP模型,即使使用性能較強的消費級x86 CPU,運行較大的CLIP模型效率也較低。
因此,我們引入基于AX650N/AX8850的M.2算力卡,作為提升邊緣推理性能的硬件加速方案。將“以文搜圖”這類模型體積大、內(nèi)存與算力需求高的任務,其運行負載卸載到M.2算力卡上。這樣即使在性能較低的NAS主控產(chǎn)品上也能啟用機器學習的服務,提升用戶體驗。我們始終在探索改進方法,以專門優(yōu)化該容器在內(nèi)存使用和性能方面的表現(xiàn)。
03示例展示
硬件方案
本方案選用在開發(fā)者社區(qū)中用戶基礎(chǔ)廣泛、生態(tài)成熟的Raspberry Pi 5作為主控平臺,部署開源智能相冊系統(tǒng)Immich。樹莓派5憑借其較強的計算性能、良好的Linux兼容性以及豐富的外設(shè)支持,為輕量級AI NAS應用提供了理想的邊緣計算載體。
為進一步提升端側(cè)AI推理能力,解決多模態(tài)模型(如CLIP)在CPU上運行時資源占用高、響應延遲大的問題,系統(tǒng)額外搭載了一塊M.2 2242規(guī)格的AI算力卡(基于AX650N/AX8850等NPU芯片),用于卸載圖像語義分析等高算力需求任務。該算力卡通過PCIe接口直連主控,具備低功耗、高能效比的特點,可在不增加系統(tǒng)復雜性的前提下顯著提升本地推理性能。
采用M.2 2242形態(tài)而非更常見的2280,旨在適配更多緊湊型設(shè)備與HAT擴展板的空間限制,尤其適合樹莓派生態(tài)中的小型化AI邊緣部署場景。該設(shè)計也為未來在其他NAS平臺實現(xiàn)“存儲+算力”一體化擴展提供了參考路徑。
https://docs.m5stack.com/zh_CN/ai_hardware/LLM-8850_Card
軟件方案
為充分發(fā)揮M.2算力卡的AI加速能力,我們對immich-machine-learning服務進行了深度定制與擴展,核心在于集成對AXCL(Axera Compute Library)驅(qū)動的原生支持。通過引入Axera提供的NPU Python API,系統(tǒng)可在運行時直接調(diào)用部署于AX650N/AX8850芯片上的axmodel模型,實現(xiàn)高效、低延遲的本地化推理。
所有axmodel模型均通過Axera官方Pulsar2 NPU工具鏈,由標準ONNX模型轉(zhuǎn)換而來,確保模型精度與推理性能的最優(yōu)平衡。我們特別選用了更大規(guī)模的CLIP-L/14-336視覺-語言預訓練模型,其參數(shù)量顯著優(yōu)于Immich默認的ViT-B/16等輕量模型。該模型基于Transformer架構(gòu),能夠更精準地提取圖像與文本的高層語義特征,在“以文搜圖”任務中實現(xiàn)更高的召回率與語義匹配準確度。
為降低用戶部署門檻,我們已將定制后的Immich服務打包為預編譯的Docker鏡像,并連同轉(zhuǎn)換好的axmodel模型文件一并開源至Hugging Face。樹莓派用戶可直接拉取鏡像并啟動服務,無需手動編譯或模型轉(zhuǎn)換,即可在邊緣設(shè)備上體驗高性能的本地化AI圖像檢索能力。
該軟件方案不僅驗證了Immich在異構(gòu)計算環(huán)境下的可擴展性,也為未來在更多NPU平臺上實現(xiàn)開源AI NAS功能提供了可復用的技術(shù)路徑。
https://huggingface.co/AXERA-TECH/immich
運行
在完成樹莓派5的軟硬件環(huán)境配置,并參考Hugging Face項目頁面部署預編譯的Docker鏡像后,系統(tǒng)將自動啟動Immich相關(guān)服務。
假設(shè)您的樹莓派5分配到的局域網(wǎng)IP地址為10.126.33.241,您可通過任意設(shè)備上的瀏覽器訪問以下地址:
http://10.126.33.241:2283/
首次訪問時,系統(tǒng)會提示您注冊一個新用戶賬戶。請放心,所有數(shù)據(jù)都僅在您的樹莓派上離線運行。如果僅用于演示或測試目的,您可以隨意輸入任意用戶名和密碼。
啟用以文搜圖功能。
這里需要顯式地指定immich-machine-learning服務的IP地址和端口號,同時需要指明使用哪種CLIP模型。
同時也支持照片去重功能:通過對比圖片的特征相似度差異來實現(xiàn)去重功能。
完成設(shè)置后記得保存。然后在任務狀態(tài)欄就能發(fā)現(xiàn)后臺已經(jīng)在高效率地提取照片庫中每一張圖片的特征信息了。
圖片去重也支持上了。
在執(zhí)行任務過程中,我們可以通過樹莓派5上的終端來查詢算力卡的使用情況,圖片中可以看出NPU使用率已經(jīng)拉滿了。由于M.2算力卡計算CLIP模型效率高,即使是本示例中使用的CLIP-L/14-336的模型,也能做到10+張/秒的高效率。所以很快就完成了所有的照片特征建檔。
接下來就可以使用“以文搜圖”的功能了。
輸入“stop”:
輸入“吃披薩的照片,拿著手機拍照”:
04總結(jié)
Immich是一個極具影響力的開源智能相冊項目,其官方最新版本已推出適用于Android和iOS的移動客戶端,用戶可通過手機或平板便捷地連接并管理私有部署的Immich服務器,真正實現(xiàn)隨時隨地訪問個人影像庫。
同時我們會持續(xù)努力,將其更多的智能算法、視頻編解碼的功能遷移到M.2算力上,讓Immich在樹莓派等邊緣設(shè)備上的運行更加流暢、高效,惠及更廣泛的個人用戶與開發(fā)者群體。
關(guān)于AI NAS的一些信息同步
最近2個月,我們針對AI NAS的智能化升級主動適配了以下功能,同時支持AX650N/AX8850主控與AXCL算力卡產(chǎn)品形態(tài)。
針對AI NAS產(chǎn)品,大家還想實現(xiàn)什么功能歡迎留言,我們盡可能實現(xiàn)。
-
AI
+關(guān)注
關(guān)注
88文章
37122瀏覽量
291175 -
開源
+關(guān)注
關(guān)注
3文章
3885瀏覽量
45298 -
模型
+關(guān)注
關(guān)注
1文章
3616瀏覽量
51496 -
樹莓派
+關(guān)注
關(guān)注
122文章
2067瀏覽量
109060
原文標題:愛芯分享 | Immich智能相冊在樹莓派5上的高效部署與優(yōu)化
文章出處:【微信號:愛芯元智AXERA,微信公眾號:愛芯元智AXERA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論