llama.cpp Bổ Sung Hỗ Trợ Thị Giác Đa Phương Tiện cho Công Cụ Server và CLI

BigGo Editorial Team
llama.cpp Bổ Sung Hỗ Trợ Thị Giác Đa Phương Tiện cho Công Cụ Server và CLI

Dự án mã nguồn mở llama.cpp đã mở rộng đáng kể khả năng của mình bằng cách bổ sung hỗ trợ thị giác đa phương tiện toàn diện cho cả công cụ giao diện dòng lệnh và máy chủ. Tích hợp này cho phép người dùng chạy các mô hình ngôn ngữ-thị giác trên phần cứng cá nhân, giúp mô tả và phân tích hình ảnh mà không cần dựa vào các dịch vụ đám mây.

Triển Khai Đa Phương Tiện Thống Nhất

Triển khai mới này hợp nhất các chức năng thị giác trước đây riêng biệt dưới một khuôn khổ thống nhất. Theo các cuộc thảo luận cộng đồng, nhà phát triển ngxson đã đóng vai trò quan trọng trong nỗ lực này, đầu tiên là thêm hỗ trợ cho các mô hình thị giác khác nhau với các chương trình CLI riêng lẻ, sau đó hợp nhất chúng dưới một công cụ dòng lệnh duy nhất gọi là llama-mtmd-cli, và cuối cùng đưa khả năng này vào thành phần máy chủ. Hỗ trợ đa phương tiện hoạt động thông qua một thư viện có tên là libmtmd xử lý tiền xử lý hình ảnh thành embedding tách biệt với mô hình ngôn ngữ chính.

Cách tiếp cận kiến trúc này phản ánh cách tiền xử lý văn bản đã phát triển trong hệ sinh thái transformer, với các thư viện chuyên biệt xử lý tokenization tách biệt với các mô hình cốt lõi. Sự tách biệt này cho phép tối ưu hóa đặc thù cho xử lý hình ảnh trong khi vẫn duy trì khả năng tương thích với khuôn khổ llama.cpp rộng lớn hơn.

Các Mô Hình Được Hỗ Trợ và Hiệu Suất

Triển khai này hỗ trợ một loạt ấn tượng các mô hình đa phương tiện, bao gồm Gemma 3 (trong các biến thể 4B, 12B và 27B), các mô hình SmolVLM, Pixtral 12B, Qwen2 VL, Qwen2.5 VL và Mistral Small 3.1. Người dùng đã báo cáo những trải nghiệm đặc biệt tốt với mô hình Gemma 3 4B, mặc dù kích thước tương đối nhỏ nhưng cung cấp mô tả hình ảnh ấn tượng.

Các báo cáo hiệu suất từ cộng đồng cho thấy trên MacBook Pro M1 với RAM 64GB, mô hình Gemma 3 4B xử lý prompt ở mức khoảng 25 token mỗi giây và tạo ra token ở mức 63 mỗi giây. Xử lý hình ảnh mất khoảng 15 giây bất kể kích thước hình ảnh. Mức hiệu suất này làm cho các mô hình này trở nên thiết thực cho các ứng dụng thực tế trên phần cứng tiêu dùng.

Các Mô Hình Đa Phương Tiện Được Hỗ Trợ

  • Dòng Gemma 3

    • ggml-org/gemma-3-4b-it-GGUF
    • ggml-org/gemma-3-12b-it-GGUF
    • ggml-org/gemma-3-27b-it-GGUF
  • Dòng 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

Ứng Dụng Thực Tế

Các thành viên cộng đồng đã bắt đầu đưa những khả năng này vào sử dụng thực tế. Một người dùng mô tả việc tạo ra một hệ thống để tạo từ khóa và mô tả cho ảnh kỳ nghỉ, lưu ý rằng mô hình Gemma 3 4B có thể trích xuất thông tin có ý nghĩa bao gồm OCR (nhận dạng ký tự quang học) cơ bản từ hình ảnh có chứa văn bản và xác định thông tin vị trí theo ngữ cảnh.

Dòng mô hình SmolVLM đã được nhấn mạnh là đặc biệt phù hợp cho các ứng dụng thời gian thực như giám sát video gia đình nhờ kích thước nhỏ và thời gian phản hồi nhanh. Các mô hình này có kích thước từ chỉ 256MB đến 2.2GB, làm cho chúng dễ tiếp cận ngay cả trên các thiết bị có tài nguyên hạn chế.

Chỉ số hiệu suất (Gemma 3 4B trên M1 MacBook Pro 64GB)

  • Xử lý prompt: 25 token/giây
  • Tạo token: 63 token/giây
  • Thời gian xử lý hình ảnh: khoảng 15 giây cho mỗi hình (không phụ thuộc vào kích thước)

Cài Đặt và Sử Dụng

Việc bắt đầu với các khả năng đa phương tiện khá đơn giản. Người dùng có thể tải xuống các tệp nhị phân đã biên dịch sẵn từ trang GitHub releases của llama.cpp hoặc cài đặt thông qua các trình quản lý gói như Homebrew. Các công cụ có thể được chạy với các lệnh đơn giản chỉ định mô hình cần sử dụng, với các tùy chọn để kiểm soát việc offload GPU để cải thiện hiệu suất.

Đối với những người dùng macOS sử dụng Homebrew, gói sẽ được cập nhật để bao gồm các khả năng mới này, cho phép người dùng chỉ cần chạy brew upgrade llama.cpp để có được các tính năng mới nhất. Việc triển khai tự động tận dụng tăng tốc GPU khi có sẵn, với người dùng backend Metal được hưởng lợi từ việc offload layer tự động.

Sự phát triển này đại diện cho một bước tiến đáng kể cho các khả năng AI edge, mang các mô hình ngôn ngữ-thị giác mạnh mẽ đến các thiết bị cục bộ mà không cần kết nối đám mây hoặc dịch vụ đăng ký. Khi các công cụ này tiếp tục phát triển, chúng ta có thể mong đợi thấy ngày càng nhiều ứng dụng tận dụng AI đa phương tiện cho các trường hợp sử dụng cá nhân và chuyên nghiệp.

Tham khảo: Multimodal