- Ollama bắt đầu hỗ trợ các mô hình đa phương thức (văn bản + hình ảnh) thông qua engine mới
- Hỗ trợ nhiều mô hình thị giác đa phương thức như Llama 4 Scout và Gemma 3, cho phép hỏi đáp bằng cách kết hợp hình ảnh và văn bản
- Engine mới cung cấp các tính năng cải thiện tính mô-đun của mô hình, nâng cao độ chính xác, quản lý bộ nhớ hiệu quả
- Thông qua image caching, tận dụng metadata phần cứng, v.v., engine đạt được hiệu năng suy luận nhanh và tối ưu hóa phần cứng
- Trong tương lai, sẽ tiếp tục mở rộng nhiều tính năng như hỗ trợ ngữ cảnh dài hơn, tool calling, streaming
Hỗ trợ mô hình đa phương thức của Ollama
Ollama hỗ trợ các mô hình thị giác đa phương thức mới nhất có khả năng xử lý kết hợp hình ảnh và văn bản, thông qua việc đưa vào engine đa phương thức mới
Hiểu và suy luận đa phương thức tổng hợp
Llama 4 Scout
- Ollama hỗ trợ Llama 4 Scout (109 tỷ tham số, mô hình mixture-of-experts)
- Ví dụ, có thể đặt các câu hỏi dựa trên vị trí trong từng khung hình video
- Ví dụ: có thể phát hiện nhiều đặc điểm hình ảnh khác nhau như một tòa nhà cụ thể, các yếu tố môi trường, thông tin nền, v.v.
- Sau đó cũng có thể tiếp tục nhiều câu hỏi kế tiếp một cách tự nhiên
- Ví dụ: cung cấp thông tin chính xác cho các câu hỏi như "Từ tòa nhà này đến Stanford xa bao nhiêu?", "Đi bằng cách nào là tốt nhất?"
- Đưa ra câu trả lời phù hợp với tình huống thực tế như nhiều phương tiện di chuyển, lộ trình, thời gian dự kiến, v.v.
Gemma 3
- Gemma 3 có thể nhận đồng thời nhiều hình ảnh và phân tích mối quan hệ giữa các hình ảnh đó
- Ví dụ: từ 4 hình ảnh, có thể nhanh chóng xác định các loài động thực vật xuất hiện chung, sự hiện diện của một khung cảnh cụ thể, các tình huống bất thường, v.v.
- Một ví dụ thú vị là phân tích ai sẽ thắng khi xem cảnh một con llama và một con cá heo đang đấu boxing, bằng cách nắm bắt đặc điểm và tính động của từng cá thể
Nhận diện và phân tích tài liệu
Qwen 2.5 VL
- Mô hình Qwen 2.5 VL được dùng cho nhận dạng ký tự (OCR) và trích xuất thông tin văn bản cụ thể trong ảnh
- Ví dụ thực tế: xử lý các tác vụ như trích xuất thông tin từ séc hoặc dịch các câu đối dọc bằng tiếng Trung sang tiếng Anh
Đặc điểm của engine đa phương thức Ollama
- Cho đến nay, Ollama đã dựa vào dự án ggml-org/llama.cpp để hỗ trợ mô hình, với trọng tâm phát triển là tính dễ dùng và khả năng di chuyển mô hình
- Gần đây, khi nhiều phòng nghiên cứu công bố các mô hình đa phương thức, Ollama đã tự tăng cường engine để hỗ trợ dải mô hình rộng hơn đúng theo mục tiêu của mình
- Engine mới coi các mô hình đa phương thức là các thực thể độc lập, hạng nhất, đồng thời tăng cường sự tham gia của đối tác và cộng đồng
Ý nghĩa của sự phát triển engine
- Cải thiện độ tin cậy và độ chính xác của suy luận cục bộ trên Ollama, đồng thời đặt nền tảng để hỗ trợ nhiều lĩnh vực đa phương thức khác trong tương lai (ví dụ: giọng nói, tạo ảnh, tạo video, hỗ trợ ngữ cảnh dài, sử dụng công cụ tốt hơn, v.v.)
Tính mô-đun của mô hình
- Thiết kế để cô lập “phạm vi ảnh hưởng” của từng mô hình, cải thiện độ tin cậy và giúp nhà phát triển dễ tích hợp mô hình mới
- ggml/llama.cpp trước đây chỉ hỗ trợ mô hình chỉ-văn-bản; trong đa phương thức, text decoder và vision encoder được tách ra và chạy riêng
- Hình ảnh cần được embedding trong thuật toán thị giác rồi chuyển sang mô hình văn bản, vì vậy có thể triển khai logic gọn nhẹ cho từng mô hình
- Trong Ollama, mô hình có thể tự tách theo lớp chiếu embedding và theo cơ chế huấn luyện riêng của từng mô hình
- Nhà tạo mô hình có thể chỉ tập trung vào mô hình và quá trình huấn luyện của mình mà không cần thêm patch bổ sung hay các câu lệnh điều kiện phức tạp
- Có thể xem một số ví dụ về kiến trúc mô hình trong kho GitHub của Ollama
Nâng cao độ chính xác
- Hình ảnh lớn có lượng token lớn nên có thể vượt quá batch size
- Nếu hình ảnh vượt quá batch, thông tin vị trí có thể bị phá vỡ
- Khi xử lý hình ảnh, Ollama bổ sung thêm metadata để nâng cao độ chính xác
- Xử lý chi tiết các yếu tố như có áp dụng causal attention hay không, chia batch embedding hình ảnh và quản lý ranh giới, v.v.
- Nếu điểm chia không phù hợp, chất lượng đầu ra có thể suy giảm, nên mốc được căn chỉnh theo tiêu chuẩn trong bài báo của từng mô hình
- Các công cụ suy luận cục bộ khác triển khai theo nhiều cách khác nhau, nhưng Ollama đảm bảo chất lượng bằng cách xử lý chính xác phù hợp với thiết kế mô hình và phương thức huấn luyện
Tối ưu quản lý bộ nhớ
- Image caching: hình ảnh đã được xử lý một lần sẽ tiếp tục được lưu trong bộ nhớ, giúp tăng tốc xử lý các prompt tiếp theo. Trừ khi chạm đến giới hạn bộ nhớ, hình ảnh sẽ được giữ lại
- Dự đoán bộ nhớ và tối ưu KV cache: hợp tác với các nhà sản xuất phần cứng và đối tác hệ điều hành để nhận diện chính xác metadata phần cứng, hướng tới tối ưu hóa sử dụng bộ nhớ
- Thực hiện kiểm chứng theo từng phiên bản firmware và tiến hành benchmark cho các tính năng mới
- Ollama tối ưu causal attention riêng theo từng mô hình, cung cấp cấu hình tùy biến cho từng mô hình thay vì ở cấp độ nhóm
- Ví dụ:
- Gemma 3 của Google DeepMind: phân bổ chỉ một phần độ dài ngữ cảnh thông qua sliding window attention, phần bộ nhớ còn lại dành cho suy luận đồng thời, v.v.
- Llama 4 Scout, Maverick của Meta, v.v.: hỗ trợ chunked attention, 2D rotary embeddings, đồng thời triển khai hỗ trợ ngữ cảnh dài cho các mô hình mixture-of-experts
- Ví dụ:
- Với các mô hình mà lớp attention chưa được triển khai đầy đủ, chúng có thể vẫn “chạy”, nhưng về lâu dài có thể làm giảm chất lượng đầu ra và tạo ra kết quả bất thường
Kế hoạch sắp tới
- Hỗ trợ độ dài ngữ cảnh dài hơn
- Tăng cường năng lực suy luận/tư duy
- Cung cấp tool calling và phản hồi streaming
- Mở rộng khả năng sử dụng trực tiếp máy tính
Lời cảm ơn
- Các tổ chức và nhà nghiên cứu đã đóng góp cho việc phát triển mô hình
- Gửi lời cảm ơn tới nhiều phòng thí nghiệm và thành viên cộng đồng đã nỗ lực phát triển các mô hình thị giác như Google DeepMind, Meta Llama, Alibaba Qwen, Mistral, IBM Granite, v.v.
- GGML
- Thư viện tensor của đội ngũ GGML là thành phần cốt lõi cấu thành engine suy luận của Ollama. Có thể truy cập trực tiếp GGML từ Go để tận dụng cho các đồ thị suy luận tùy biến và thiết kế kiến trúc mô hình phức tạp
- Các đối tác phần cứng
- Gửi lời cảm ơn tới các đối tác phần cứng như NVIDIA, AMD, Qualcomm, Intel, Microsoft đã hợp tác để cải thiện hiệu năng suy luận trên nhiều thiết bị khác nhau
1 bình luận
Ý kiến trên Hacker News
llama.cppcuối cùng đã đưa tính năng vision ổn định vào nhánh mặc định sau thời gian dài nỗ lực, như thể công sức bấy lâu nay cuối cùng cũng đơm hoa kết trái; suy đoán rằng Ollama có lẽ đã chuẩn bị tính năng này từ lâu; cho rằng quyết định tách khỏi sự phụ thuộc ban đầu vàollama.cppvà đi theo hướng độc lập là một phán đoán hợp lýllama.cppcũng là một dự án rất ấn tượng, nếu đã tạo ra một engine thay thế thì mong được xem ví dụ về cách họ xây dựng nó; suy đoán thư viện tensor GGML đóng vai trò cốt lõi, và có thể cấu trúc là viết trực tiếp phần vận hành mô hình (ví dụ triển khai Gemma3) trong Go thông qua FFI (gọi hàm ngoại ngữ) để tận dụng các khả năng của GGML; cho rằng những chi tiết kỹ thuật này đáng lẽ nên được nêu rõ hơn trong blog chính thức*llamatrong thế giới LLM quá dễ gây rối; có quá nhiều dự án mang tên llama hoặc tên na ná nhau khiến mức độ nhầm lẫn ngày càng tăngllama.cppđi” thì thường không thấy lời giải thích nào rõ ràng hơnllama.cpp; thậm chí trong một số dự án, dù thực chất dùngllama.cpptrực tiếp nhưng công lao lại đổ về Ollama; cũng chỉ ra rằng Ollama không trực tiếp đóng góp trở lại (dù đây không phải nghĩa vụ), nhưng có một fork được duy trì nội bộ nên ai quan tâm vẫn có thể lấy mã theo kiểucherry-pickkhi muốnllama.cpptrong thời gian dài là vấn đề; đồng thời nói thêm rằng hiện nay việc ghi credit có vẻ đã cởi mở hơn phần nàollama.cpp, lmstudio, ramalama thì có thể hiểu khá rõ tình hình của từng bên; ramalama còn được cho là đóng góp nhiều cho nhiều dự án mã nguồn mở liên quan; người bình luận cũng cung cấp một liên kết GitHub để tham khảollama.cpp, nhưng lại không thể hiện và cũng không thừa nhận rõ điều đónvidiacũng có tài liệu liên quan