llama.cpp 為伺服器和命令列工具新增多模態視覺支援

BigGo Editorial Team
llama.cpp 為伺服器和命令列工具新增多模態視覺支援

開源專案 llama.cpp 透過為其伺服器和命令列介面工具新增全面的多模態視覺支援,顯著擴充套件了其功能。這種整合使使用者能夠在自己的硬體上本地執行視覺語言模型,實現影像描述和分析,而無需依賴雲服務。

統一的多模態實現

新的實現將之前分散的視覺功能整合在一個統一的框架下。根據社群討論,開發者 ngxson 在這項工作中發揮了關鍵作用,首先為各種視覺模型添加了單獨的命令列程式支援,然後將它們統一到一個名為 llama-mtmd-cli 的命令列工具下,最終將這一功能引入到伺服器元件中。多模態支援透過一個名為 libmtmd 的庫工作,該庫負責將影像轉換為嵌入向量的預處理,與主要語言模型分開處理。

這種架構方法與文字預處理在 Transformer 生態系統中的演變相似,專門的庫處理分詞,與核心模型分開。這種分離允許針對影像處理進行特定最佳化,同時保持與更廣泛的 llama.cpp 框架的相容性。

支援的模型和效能

該實現支援令人印象深刻的多模態模型範圍,包括 Gemma 3(4B、12B 和 27B 變體)、SmolVLM 模型、Pixtral 12B、Qwen2 VL、Qwen2.5 VL 和 Mistral Small 3.1。使用者報告稱,使用 Gemma 3 4B 模型的體驗特別好,儘管其規模相對較小,但能提供令人印象深刻的影像描述。

來自社群的效能報告顯示,在配備 64GB RAM 的 M1 MacBook Pro 上,Gemma 3 4B 模型處理提示的速度約為每秒 25 個標記,生成標記的速度為每秒 63 個。影像處理大約需要 15 秒,與影像大小無關。這種效能水平使這些模型在消費級硬體上實用於現實世界的應用。

支援的多模態模型

  • Gemma 3 系列

    • ggml-org/gemma-3-4b-it-GGUF
    • ggml-org/gemma-3-12b-it-GGUF
    • ggml-org/gemma-3-27b-it-GGUF
  • SmolVLM 系列

    • ggml-org/SmolVLM-Instruct-GGUF
    • ggml-org/SmolVLM-256M-Instruct-GGUF
    • ggml-org/SmolVLM-500M-Instruct-GGUF
    • ggml-org/SmolVLM2-2.2B-Instruct-GGUF
    • ggml-org/SmolVLM2-256M-Video-Instruct-GGUF
    • ggml-org/SmolVLM2-500M-Video-Instruct-GGUF
  • Pixtral

    • ggml-org/pixtral-12b-GGUF
  • Qwen 2 VL

    • ggml-org/Qwen2-VL-2B-Instruct-GGUF
    • ggml-org/Qwen2-VL-7B-Instruct-GGUF
  • Qwen 2.5 VL

    • ggml-org/Qwen2.5-VL-3B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-7B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-32B-Instruct-GGUF
    • ggml-org/Qwen2.5-VL-72B-Instruct-GGUF
  • Mistral Small

    • ggml-org/Mistral-Small-3.1-24B-Instruct-2503-GGUF

實際應用

社群成員已經開始將這些功能付諸實際應用。一位使用者描述了建立一個系統來為度假照片生成關鍵詞和描述,指出 Gemma 3 4B 模型能夠提取有意義的資訊,包括從包含文字的影像中進行基本的 OCR(光學字元識別)和識別上下文位置資訊。

SmolVLM 系列模型因其小尺寸和快速響應時間,被強調為特別適合家庭影片監控等即時應用。這些模型的大小從僅 256MB 到 2.2GB 不等,使其即使在資源有限的裝置上也能訪問。

效能指標(Gemma 3 4B 在 M1 MacBook Pro 64GB 上)

  • 提示詞處理速度:25 個詞元/秒
  • 詞元生成速度:63 個詞元/秒
  • 影像處理時間:每張影像約 15 秒(與影像大小無關)

安裝和使用

開始使用多模態功能非常簡單。使用者可以從 llama.cpp GitHub 釋出頁面下載預編譯的二進位制檔案,或透過 Homebrew 等包管理器安裝。這些工具可以透過簡單的命令執行,指定要使用的模型,並有選項控制 GPU 解除安裝以提高效能。

對於使用 Homebrew 的 macOS 使用者,該包將更新以包含這些新功能,允許使用者簡單地執行 brew upgrade llama.cpp 來獲取最新功能。該實現在可用的情況下自動利用 GPU 加速,使用 Metal 後端的使用者可以受益於自動層解除安裝。

這一發展代表了邊緣 AI 能力的重大進步,將強大的視覺語言模型帶到本地裝置,而無需雲連線或訂閱服務。隨著這些工具的不斷成熟,我們可以期待看到越來越多的應用程式利用多模態 AI 用於個人和專業用例。

參考:Multimodal