Mô hình ngôn ngữ thị giác (Tốt hơn, Nhanh hơn, Mạnh hơn)
Bài viết này thảo luận về những tiến bộ trong mô hình ngôn ngữ thị giác.
- 23 min read
Mô hình Ngôn ngữ Thị giác (Tốt hơn, Nhanh hơn, Mạnh hơn)
Các Mô hình Ngôn ngữ Thị giác (VLMs) đang là chủ đề bàn tán sôi nổi. Trong một bài đăng trên blog trước đây (từ tháng 4 năm 2024), chúng tôi đã nói rất nhiều về VLMs. Phần lớn là về LLaVA, mô hình ngôn ngữ thị giác mã nguồn mở thành công và dễ dàng tái tạo đầu tiên, cùng với các mẹo về cách khám phá, đánh giá và tinh chỉnh các mô hình mở.
Kể từ đó, rất nhiều điều đã thay đổi. Các mô hình đã trở nên nhỏ hơn nhưng mạnh mẽ hơn. Chúng ta đã thấy sự trỗi dậy của các kiến trúc và khả năng mới (lý luận, tính chủ động, hiểu video dài, v.v.). Song song đó, các mô hình hoàn toàn mới, chẳng hạn như Tạo sinh Tăng cường Truy xuất Đa phương thức (RAG) và các tác nhân đa phương thức đã hình thành.
Trong bài đăng trên blog này, chúng ta sẽ nhìn lại và giải mã mọi thứ đã xảy ra với các mô hình ngôn ngữ thị giác trong năm qua. Bạn sẽ khám phá những thay đổi quan trọng, các xu hướng mới nổi và những phát triển đáng chú ý.
Chúng tôi đặc biệt khuyên bạn nên đọc bài đăng trên blog đầu tiên nếu bạn muốn có một cuốn sách giới thiệu hay về cách thức hoạt động của các mô hình ngôn ngữ thị giác.
Mục lục
- Xu hướng Mô hình Mới
- Khả năng Chuyên biệt
- Tác nhân Đa phương thức
- Mô hình Ngôn ngữ Video
- Kỹ thuật Điều chỉnh Mới cho Mô hình Ngôn ngữ Thị giác
- Điểm chuẩn Mới
- Bổ sung: Lựa chọn Mô hình của Chúng tôi
- Tài nguyên Hữu ích
Xu hướng Mô hình Mới
Trong phần này, chúng ta sẽ xem xét các loại VLM mới. Trong khi một số hoàn toàn mới, những loại khác là phiên bản cải tiến của các nghiên cứu trước đây.
Mô hình Bất kỳ-sang-Bất kỳ
Mô hình bất kỳ-sang-bất kỳ, như tên gọi của chúng, là các mô hình có thể nhận bất kỳ phương thức nào và xuất bất kỳ phương thức nào (hình ảnh, văn bản, âm thanh). Chúng thực hiện điều đó bằng cách căn chỉnh các phương thức, trong đó một đầu vào từ một phương thức có thể được dịch sang một phương thức khác (ví dụ: từ “chó” sẽ được liên kết với hình ảnh một con chó hoặc với cách phát âm của từ đó).
Các mô hình này có nhiều bộ mã hóa (một cho mỗi phương thức) và sau đó hợp nhất các nhúng lại với nhau để tạo ra một không gian biểu diễn chung. Các bộ giải mã (nhiều hoặc một) sử dụng không gian tiềm ẩn chung làm đầu vào và giải mã thành phương thức được chọn. Nỗ lực sớm nhất để xây dựng các mô hình bất kỳ-sang-bất kỳ là Chameleon của Meta, có thể nhận hình ảnh và văn bản và xuất hình ảnh và văn bản. Meta không phát hành khả năng tạo hình ảnh trong mô hình này, vì vậy Alpha-VLLM đã phát hành Lumina-mGPT, đã xây dựng khả năng tạo hình ảnh trên Chameleon.
Mô hình bất kỳ-sang-bất kỳ mới nhất và có khả năng nhất, Qwen 2.5 Omni (hình bên dưới) là một ví dụ điển hình để hiểu kiến trúc của một mô hình bất kỳ-sang-bất kỳ.
Qwen2.5-Omni sử dụng kiến trúc “Thinker-Talker” mới lạ, trong đó “Thinker” xử lý việc tạo văn bản và “Talker” tạo ra các phản hồi bằng giọng nói tự nhiên theo cách phát trực tuyến. MiniCPM-o 2.6, một mô hình đa phương thức tham số 8B có khả năng hiểu và tạo nội dung trên các phương thức hình ảnh, giọng nói và ngôn ngữ. Janus-Pro-7B do DeepSeek AI giới thiệu, là một mô hình đa phương thức thống nhất vượt trội trong cả việc hiểu và tạo nội dung trên các phương thức. Nó có kiến trúc mã hóa hình ảnh tách rời, tách biệt các quy trình để hiểu và tạo.
Chúng tôi nghi ngờ số lượng các mô hình như vậy sẽ tăng lên trong những năm tới. Có một trực giác nổi tiếng rằng học đa phương thức là cách duy nhất chúng ta có thể học các biểu diễn sâu tốt hơn. Chúng tôi đã tuyển chọn một số mô hình và bản trình diễn bất kỳ-sang-bất kỳ trong bộ sưu tập này.
Mô hình Suy luận
Mô hình suy luận là các mô hình có thể giải quyết các vấn đề phức tạp. Chúng ta đã thấy chúng lần đầu tiên với các mô hình ngôn ngữ lớn và bây giờ là các mô hình ngôn ngữ thị giác. Cho đến năm 2025, chỉ có một mô hình suy luận đa phương thức mã nguồn mở, QVQ-72B-preview của Qwen. Đó là một mô hình thử nghiệm được phát triển bởi nhóm Alibaba Qwen và đi kèm với nhiều tuyên bố từ chối trách nhiệm.
Năm nay có một người chơi khác, Kimi-VL-A3B-Thinking của nhóm Moonshot AI. Nó bao gồm MoonViT (SigLIP-so-400M) làm bộ mã hóa hình ảnh và bộ giải mã Hỗn hợp Chuyên gia (MoE) với tổng số 16B tham số và chỉ 2,8B tham số đang hoạt động. Mô hình này là một phiên bản được tinh chỉnh theo chuỗi suy nghĩ dài và được điều chỉnh thêm (học tăng cường) của mô hình ngôn ngữ thị giác cơ sở Kimi-VL. Bạn có thể thử mô hình tại đây.
Các tác giả cũng đã phát hành một phiên bản được tinh chỉnh theo hướng dẫn có tên Kimi-VL-A3B-Instruct.
Mô hình có thể nhận video dài, PDF, ảnh chụp màn hình và hơn thế nữa. Nó cũng có các khả năng của tác nhân.
Mô hình Nhỏ nhưng Có khả năng
Cộng đồng đã từng mở rộng quy mô trí tuệ thông qua số lượng tham số, và sau đó là dữ liệu tổng hợp chất lượng cao. Sau một thời điểm nhất định, các điểm chuẩn bão hòa và các mô hình mở rộng quy mô có lợi nhuận giảm dần. Cộng đồng đã thu hẹp các mô hình lớn hơn thông qua nhiều phương pháp khác nhau, như chưng cất. Điều này có ý nghĩa vì nó giảm chi phí tính toán, đơn giản hóa việc triển khai và mở ra các trường hợp sử dụng như thực thi cục bộ, tăng cường bảo mật dữ liệu.
Khi chúng ta nói về các mô hình ngôn ngữ thị giác nhỏ, chúng ta thường đề cập đến các mô hình có ít hơn 2B tham số có thể chạy trên GPU tiêu dùng. SmolVLM là một họ mô hình ví dụ điển hình cho các mô hình ngôn ngữ thị giác nhỏ hơn. Thay vì thu hẹp các mô hình lớn hơn, các tác giả đã đi hết con đường và cố gắng đưa các mô hình vào số lượng tham số nhỏ như 256M, 500M và 2.2B. Ví dụ: SmolVLM2 đã cố gắng giải quyết vấn đề hiểu video với các kích thước này và thấy 500M là một sự đánh đổi tốt. Tại Hugging Face, chúng tôi đã xây dựng một ứng dụng iPhone, HuggingSnap, để chứng minh rằng các kích thước mô hình này có thể đạt được khả năng hiểu video trên các thiết bị tiêu dùng.
Một mô hình nổi bật khác là gemma3-4b-it của Google DeepMind. Nó đặc biệt thú vị vì nó là một trong những mô hình đa phương thức nhỏ nhất có cửa sổ ngữ cảnh 128k token và hỗ trợ hơn 140 ngôn ngữ. Mô hình này đi kèm với họ mô hình Gemma 3, với mô hình lớn nhất của nó xếp thứ nhất trên Chatbot Arena tại thời điểm đó. Mô hình lớn nhất sau đó đã được chưng cất thành một biến thể 1B.
Cuối cùng, mặc dù không phải là nhỏ nhất, Qwen2.5-VL-3B-Instruct đáng được lưu ý. Mô hình này có thể thực hiện nhiều tác vụ khác nhau, từ bản địa hóa (phát hiện và chỉ đối tượng), đến hiểu tài liệu, đến các tác vụ của tác nhân; với độ dài ngữ cảnh lên đến 32k token.
Bạn có thể sử dụng các mô hình nhỏ thông qua tích hợp MLX và Llama.cpp. Đối với MLX, giả sử bạn đã cài đặt nó, bạn có thể bắt đầu với SmolVLM-500M-Instruct với một dòng lệnh này:
python3 -m mlx_vlm.generate --model HuggingfaceTB/SmolVLM-500M-Instruct --max-tokens 400 --temp 0.0 --image https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/vlm_example.jpg --prompt "What is in this image?"
Bạn có thể bắt đầu sử dụng mô hình gemma-3-4b-it ở định dạng GGUF với llama.cpp thông qua CLI với một dòng lệnh này:
llama-mtmd-cli -hf ggml-org/gemma-3-4b-it-GGUF
Bạn cũng có thể phục vụ cùng một mô hình như sau.
llama-server -hf ggml-org/gemma-3-4b-it-GGUF
Chúng tôi muốn gửi lời cảm ơn đến moondream2 và Florence-2 vì chúng là những nỗ lực sớm nhất cho các mô hình ngôn ngữ thị giác nhỏ nhất. Trong blog này, chúng tôi chủ yếu đề cập đến các mô hình mới hơn (chủ yếu là các mô hình ra mắt sau tháng 4 năm 2024).
Hỗn hợp Chuyên gia làm Bộ giải mã
Các mô hình Hỗn hợp Chuyên gia (MoE) cung cấp một thay thế cho các kiến trúc dày đặc bằng cách chọn và kích hoạt một cách động chỉ các mô hình con phù hợp nhất, được gọi là “chuyên gia”, để xử lý một phân đoạn dữ liệu đầu vào nhất định. Cơ chế kích hoạt chọn lọc này (được thực hiện bởi một bộ định tuyến) đã chứng minh tiềm năng tăng cường đáng kể hiệu suất mô hình và hiệu quả hoạt động trong khi sử dụng ít tài nguyên tính toán hơn.
MoE nhanh hơn khi suy luận so với các đối tác dày đặc tham số tương tự của chúng vì sự kích hoạt chọn lọc của một lát nhỏ hơn của mạng. Chúng cũng hội tụ nhanh chóng trong quá trình đào tạo. Mọi thứ tốt đẹp đều có một cái giá, vì MoE cần chi phí bộ nhớ nhiều hơn do toàn bộ mô hình nằm trên GPU, ngay cả khi một phần nhỏ hơn được sử dụng.
Trong kiến trúc Transformer được áp dụng rộng rãi, các lớp MoE thường được tích hợp bằng cách thay thế các lớp Mạng Chuyển tiếp (FFN) tiêu chuẩn trong mỗi khối Transformer. Các mạng dày đặc sử dụng toàn bộ mô hình để chạy một suy luận, trong khi các mạng MoE có kích thước tương tự chọn lọc kích hoạt một số chuyên gia. Điều này giúp sử dụng tính toán tốt hơn và suy luận nhanh hơn.
Các mô hình ngôn ngữ thị giác có bộ giải mã hỗn hợp chuyên gia dường như đã tăng cường hiệu suất. Ví dụ: Kimi-VL hiện là mô hình suy luận mở tiên tiến nhất có bộ giải mã hỗn hợp chuyên gia. Hỗn hợp Chuyên gia cho thấy kết quả đầy hứa hẹn với sự tập trung của MoE-LLaVA vào hiệu quả và giảm ảo giác và các khả năng đa phương thức rộng rãi của DeepSeek-VL2 cũng vậy. Phiên bản Llama mới nhất (Llama 4) là một MoE với các khả năng thị giác. MoE là một lĩnh vực nghiên cứu đầy hứa hẹn với tư cách là một bộ giải mã và chúng tôi nghi ngờ sự gia tăng các mô hình như thế này.
Để hiểu rõ hơn về MoE, chúng tôi khuyên bạn nên đọc bài viết tuyệt vời này.
Mô hình Hành động Ngôn ngữ Thị giác
VLM thậm chí còn đánh dấu sự hiện diện của chúng trong lĩnh vực robot học! Ở đó, chúng được gọi là các mô hình hành động ngôn ngữ thị giác (VLA). Nhưng đừng bị lừa, chúng chủ yếu là VLM với một chút ria mép và mũ. VLA nhận hình ảnh và hướng dẫn bằng văn bản, đồng thời trả về văn bản cho biết các hành động mà robot cần thực hiện trực tiếp. VLA mở rộng các mô hình ngôn ngữ thị giác bằng cách thêm các mã thông báo hành động và trạng thái để tương tác và điều khiển các môi trường vật lý. Các mã thông báo bổ sung này đại diện cho trạng thái bên trong của hệ thống (cách nó nhận thức môi trường), các hành động (những gì nó thực hiện dựa trên các lệnh) và thông tin liên quan đến thời gian (như thứ tự các bước trong một tác vụ). Các mã thông báo này được thêm vào đầu vào ngôn ngữ thị giác để tạo ra các hành động hoặc chính sách.
VLA thường được tinh chỉnh trên một VLM cơ sở. Một số người mở rộng định nghĩa này hơn nữa và định nghĩa VLA là bất kỳ mô hình nào tương tác trực quan với thế giới thực hoặc kỹ thuật số. Trong định nghĩa này, VLA có thể thực hiện điều hướng UI hoặc được sử dụng trong các quy trình làm việc của tác nhân. Nhưng nhiều người tin rằng những ứng dụng này thuộc về miền VLM.
Các ví dụ điển hình về VLA là π0 và π0-FAST, các mô hình nền tảng robot đầu tiên của Physical Intelligence, được chuyển sang thư viện LeRobot của Hugging Face. Các mô hình này được đào tạo trên 7 nền tảng robot và 68 tác vụ duy nhất. Chúng cho thấy hiệu suất zero-shot và tinh chỉnh mạnh mẽ trên các hoạt động phức tạp, thực tế như gấp quần áo, dọn bàn, đóng gói hàng tạp hóa, lắp ráp hộp và truy xuất đối tượng.
GR00T N1 là mô hình nền tảng VLA mở của NVIDIA cho robot hình người đa năng. Nó hiểu hình ảnh và ngôn ngữ, và biến chúng thành các hành động, như di chuyển cánh tay hoặc tuân theo các hướng dẫn, nhờ một hệ thống kết hợp suy luận thông minh với điều khiển chuyển động thời gian thực. GR00T N1 cũng xây dựng trên định dạng tập dữ liệu LeRobot, tiêu chuẩn mở được tạo ra để đơn giản hóa việc chia sẻ và đào tạo trên các bản trình diễn robot.
Lấy từ bài báo
Bây giờ chúng ta đã xem xét các cải tiến mô hình VLM mới nhất, hãy khám phá cách các khả năng đã được thiết lập đã phát triển.
Khả năng Chuyên biệt
Phát hiện Đối tượng, Phân đoạn, Đếm với Mô hình Ngôn ngữ Thị giác
Như chúng ta đã thấy trong các phần trước, VLM cho phép khái quát hóa trên các tác vụ thị giác máy tính truyền thống. Các mô hình hiện có thể nhận hình ảnh và nhiều loại lời nhắc, chẳng hạn như văn bản mở và xuất văn bản có cấu trúc với các mã thông báo bản địa hóa (để phát hiện, phân đoạn và hơn thế nữa).
Năm ngoái, PaliGemma là mô hình đầu tiên cố gắng giải quyết các tác vụ này. Mô hình này nhận một hình ảnh và văn bản, trong đó văn bản là mô tả về một đối tượng quan tâm, cùng với tiền tố tác vụ. Lời nhắc văn bản có dạng “phân đoạn mèo sọc” hoặc “phát hiện chim trên mái nhà”.
Đối với phát hiện, mô hình xuất ra tọa độ hộp giới hạn dưới dạng mã thông báo. Mặt khác, đối với phân đoạn, mô hình xuất ra mã thông báo phát hiện và mã thông báo phân đoạn. Các mã thông báo phân đoạn này không phải là tất cả các tọa độ pixel được phân đoạn, mà là các chỉ mục sổ mã được giải mã bởi một bộ tự mã hóa biến đổi được đào tạo để giải mã các mã thông báo này thành các mặt nạ phân đoạn hợp lệ (như trong hình bên dưới).
Nhiều mô hình đã được giới thiệu để thực hiện các tác vụ bản địa hóa sau PaliGemma. Cuối năm ngoái, một phiên bản nâng cấp của PaliGemma, PaliGemma 2, đã xuất hiện với cùng các khả năng và hiệu suất tốt hơn. Một mô hình khác ra đời sau đó là Molmo của Allen AI, có thể chỉ vào các trường hợp bằng dấu chấm và đếm các trường hợp đối tượng.
Qwen2.5-VL cũng có thể phát hiện, chỉ vào và đếm các đối tượng, và điều này bao gồm cả các thành phần UI làm đối tượng!
Mô hình An toàn Đa phương thức
Các mô hình ngôn ngữ thị giác trong sản xuất yêu cầu lọc đầu vào và đầu ra để ngăn chặn việc vượt ngục và các đầu ra có hại để tuân thủ. Nội dung có hại khác nhau, từ đầu vào có bạo lực đến nội dung khiêu dâm. Đó là nơi các mô hình an toàn đa phương thức xuất hiện: chúng được sử dụng trước và sau các mô hình ngôn ngữ thị giác để lọc đầu vào và đầu ra của chúng. Chúng giống như các mô hình an toàn LLM nhưng có thêm đầu vào hình ảnh.
Đầu năm 2025, Google đã giới thiệu mô hình an toàn đa phương thức mở đầu tiên, ShieldGemma 2. Nó được xây dựng trên ShieldGemma, mô hình an toàn chỉ có văn bản. Mô hình này nhận hình ảnh và chính sách nội dung và trả về liệu một hình ảnh có an toàn cho một chính sách nhất định hay không. Chính sách đề cập đến một tiêu chí trong đó hình ảnh không phù hợp. ShieldGemma 2 cũng có thể được sử dụng để lọc đầu ra của các mô hình tạo hình ảnh.
Llama Guard 4 của Meta là một mô hình an toàn đa phương thức và đa ngôn ngữ dày đặc. Nó được tỉa dày đặc từ Llama 4 Scout (một hỗn hợp các chuyên gia đa phương thức) với khả năng tinh chỉnh an toàn.
Mô hình có thể được sử dụng cho suy luận chỉ bằng văn bản và đa phương thức. Mô hình này cũng có thể nhận đầu ra của mô hình ngôn ngữ thị giác, hoàn thành các cuộc trò chuyện và lọc chúng trước khi gửi chúng cho người dùng.
RAG Đa phương thức: trình truy xuất, trình xếp hạng lại
Bây giờ hãy xem xét cách Tạo sinh Tăng cường Truy xuất đã phát triển trong không gian đa phương thức. RAG cho các tài liệu phức tạp, thường được định dạng ở định dạng PDF, được xử lý theo ba bước:
- phân tích cú pháp tài liệu hoàn chỉnh thành văn bản
- chuyển văn bản thuần túy và truy vấn cho trình truy xuất và trình xếp hạng lại để nhận tài liệu phù hợp nhất
- chuyển ngữ cảnh và truy vấn có liên quan cho LLM
Một trình phân tích cú pháp PDF truyền thống bao gồm nhiều yếu tố để giữ lại cấu trúc và các yếu tố hình ảnh trong tài liệu, chẳng hạn như bố cục, bảng, hình ảnh, biểu đồ, tất cả được hiển thị thành một markdown. Nhưng thiết lập này có thể khó duy trì.

Với sự trỗi dậy của các mô hình ngôn ngữ thị giác, vấn đề này đã được giải quyết: hiện có các trình truy xuất và trình xếp hạng lại đa phương thức.
Trình truy xuất đa phương thức nhận một ngăn xếp PDF và một truy vấn làm đầu vào và trả về số trang phù hợp nhất cùng với điểm tin cậy của chúng. Các điểm số đại diện cho khả năng trang đó chứa câu trả lời cho truy vấn hoặc mức độ liên quan của truy vấn đến trang. Điều này bỏ qua bước phân tích cú pháp giòn.
Các trang phù hợp nhất sau đó được đưa vào mô hình ngôn ngữ thị giác cùng với truy vấn và VLM tạo ra câu trả lời.
Có hai kiến trúc trình truy xuất đa phương thức chính:
- Nhúng Ảnh chụp Màn hình Tài liệu (DSE, MCDSE)
- Các mô hình giống ColBERT (ColPali, ColQwen2, ColSmolVLM)
Các mô hình DSE bao gồm một bộ mã hóa văn bản và một bộ mã hóa hình ảnh, trả về một vectơ duy nhất cho mỗi truy vấn. Các điểm số trả về là softmax trên các tích vô hướng của các nhúng. Chúng trả về một vectơ duy nhất cho mỗi đoạn văn.
Lấy từ bài báo
Các mô hình giống ColBERT, như ColPali, cũng là các mô hình bộ mã hóa kép, với một sự thay đổi: ColPali có một mô hình ngôn ngữ thị giác làm bộ mã hóa hình ảnh và một mô hình ngôn ngữ lớn làm bộ mã hóa văn bản. Các mô hình này vốn không phải là bộ mã hóa, nhưng các mô hình xuất ra các nhúng, sau đó được chuyển đến “MaxSim”. Các đầu ra là nhiều vectơ, một cho mỗi mã thông báo, không giống như DSE. Trong MaxSim, sự tương đồng giữa mỗi nhúng mã thông báo văn bản và mỗi nhúng bản vá hình ảnh được tính toán và phương pháp này nắm bắt các sắc thái tốt hơn. Do lý do này, các mô hình giống ColBERT ít hiệu quả về chi phí hơn, có hiệu suất tốt hơn.
Bên dưới, bạn có thể thấy độ trễ lập chỉ mục cho ColPali. Vì nó chỉ là một mô hình duy nhất, nên nó cũng dễ bảo trì hơn.
Lấy từ bài báo
Trên Hugging Face Hub, bạn có thể tìm thấy các mô hình này trong tác vụ “Truy xuất Tài liệu Trực quan”.
Điểm chuẩn phổ biến nhất cho tác vụ này là ViDoRe, bao gồm các tài liệu bằng tiếng Anh và tiếng Pháp, với các tài liệu khác nhau, từ báo cáo tài chính, hình vẽ khoa học đến tài liệu hành chính. Mỗi ví dụ về ViDoRe có tài liệu dưới dạng hình ảnh, một truy vấn và các câu trả lời tiềm năng. Các tài liệu phù hợp với các truy vấn giúp ích cho việc đào tạo trước đối chiếu, vì vậy tập hợp đào tạo ViDoRe được sử dụng để đào tạo các mô hình mới.
Tác nhân Đa phương thức
Các mô hình ngôn ngữ thị giác mở ra nhiều quy trình làm việc của tác nhân, từ trò chuyện với tài liệu đến sử dụng máy tính. Ở đây, chúng ta sẽ đề cập đến loại thứ hai vì nó đòi hỏi các khả năng của tác nhân nâng cao hơn. Gần đây, đã có nhiều bản phát hành mô hình ngôn ngữ thị giác hiểu và hoạt động trên UI. Bản phát hành mới nhất là UI-TARS-1.5 của ByteDance, đã cho thấy kết quả tuyệt vời trong việc hoạt động trên trình duyệt, máy tính và sử dụng điện thoại. Nó cũng có thể chơi trò chơi với lý luận và hoạt động trong các trò chơi thế giới mở. Một bản phát hành có tác động khác của năm nay là MAGMA-8B, đó là một mô hình nền tảng cho cả điều hướng UI và tương tác vật lý với thế giới thực. Hơn nữa, Qwen2.5-VL (đặc biệt là biến thể 32B của nó vì nó được đào tạo thêm về các tác vụ của tác nhân) và mô hình suy luận Kimi-VL rất tốt trong các tác vụ của tác nhân GUI.
Đầu năm 2025, chúng tôi đã giới thiệu smolagents, một thư viện tác nhân nhẹ mới triển khai khung ReAct. Ngay sau đó, chúng tôi đã triển khai hỗ trợ ngôn ngữ thị giác cho thư viện. Quá trình tích hợp này diễn ra trên hai trường hợp sử dụng:
- Khi bắt đầu chạy, cung cấp hình ảnh một lần. Điều này hữu ích cho AI tài liệu với việc sử dụng công cụ.
- Truy xuất hình ảnh động. Điều này hữu ích cho các trường hợp như điều khiển GUI với các tác nhân VLM, trong đó tác nhân liên tục chụp ảnh màn hình.
Thư viện cung cấp các khối xây dựng để người dùng xây dựng các quy trình làm việc của tác nhân của riêng họ với khả năng hiểu hình ảnh. Chúng tôi cung cấp các tập lệnh khác nhau và các lệnh CLI một dòng để giúp người dùng bắt đầu dễ dàng.
Đối với trường hợp đầu tiên, giả sử chúng ta muốn một tác nhân mô tả các tài liệu (điều này không có tính tác nhân cao, nhưng tốt cho các trường hợp sử dụng tối thiểu). Bạn có thể khởi tạo CodeAgent (một tác nhân tự viết mã!) như sau:
agent = CodeAgent(tools=[], model=model) # không cần công cụ
agent.run("Mô tả các tài liệu này:", images=[document_1, document_2, document_3])
Đối với trường hợp sử dụng sau, nơi chúng ta cần một tác nhân để chụp ảnh màn hình, chúng ta có thể xác định một lệnh gọi lại để được thực thi ở cuối mỗi ActionStep. Đối với trường hợp sử dụng của riêng bạn, nơi bạn cần lấy hình ảnh động, hãy sửa đổi lệnh gọi lại theo bất kỳ cách nào bạn muốn. Chúng tôi sẽ không xác định nó ở đây chi tiết để đơn giản. Tùy chọn, bạn có thể đọc bài đăng trên blog và chính tập lệnh ở cuối bài đăng trên blog này. Hiện tại, hãy xem cách chúng tôi khởi tạo tác nhân với các lệnh gọi lại và các bước điều khiển trình duyệt.
def save_screenshot(memory_step: ActionStep, agent: CodeAgent) -> None:
"""
Chụp ảnh màn hình và ghi vào các quan sát.
"""
png_bytes = driver.get_screenshot_as_png()
memory_step.observations_images = [image.copy()] # lưu hình ảnh vào memory_step
url_info = f"URL hiện tại: {driver.current_url}"
memory_step.observations = (
url_info if memory_step.observations is None else memory_step.observations + "\n" + url_info
)
return
agent = CodeAgent(
tools=[go_back, close_popups, search_item_ctrl_f], # chuyển các công cụ điều hướng
model=model,
additional_authorized_imports=["helium"],
step_callbacks=[save_screenshot], # chuyển lệnh gọi lại
)
Bạn có thể chỉ cần thử toàn bộ ví dụ bằng cách chạy lệnh CLI sau. Nó bắt đầu một tác nhân có quyền truy cập để kiểm soát trình duyệt web, được hỗ trợ bởi một mô hình ngôn ngữ thị giác để hoàn thành các tác vụ tự động hóa web (vui lòng thay thế bằng trang web bạn muốn điều hướng đến).
webagent "đi đến xyz.com/men, đến phần giảm giá, nhấp vào mặt hàng quần áo đầu tiên bạn thấy. Lấy chi tiết sản phẩm và giá, trả lại chúng. lưu ý rằng tôi đang mua sắm từ Pháp"
smolagents cung cấp các loại mô hình khác nhau, chẳng hạn như các mô hình biến áp cục bộ, các mô hình mã nguồn mở được phục vụ bằng cách sử dụng các Nhà cung cấp Suy luận hoặc các điểm cuối nhà cung cấp mô hình mã nguồn đóng. Chúng tôi khuyến khích sử dụng các mô hình mã nguồn mở vì nhiều quy trình làm việc của tác nhân hiện yêu cầu suy luận, điều này có lợi từ các mô hình có một số lượng lớn các tham số. Qwen 2.5 VL kể từ tháng 4 năm 2025 là một ứng cử viên tốt cho các quy trình làm việc của tác nhân, vì mô hình này được đào tạo thêm về các tác vụ của tác nhân.
Mô hình Ngôn ngữ Video
Hầu hết các mô hình ngôn ngữ thị giác ngày nay có thể xử lý video, bởi vì video có thể được biểu diễn dưới dạng một chuỗi các khung hình. Tuy nhiên, việc hiểu video rất phức tạp vì mối quan hệ thời gian giữa các khung hình và số lượng lớn các khung hình, vì vậy các kỹ thuật khác nhau được sử dụng để chọn một tập hợp đại diện của các khung hình video.
[
](https://huggingface.co/datasets/huggingface/documentation-ima
Link bài viết gốc
- Tags:
- Ai
- May 12, 2025
- Huggingface.co







