Florence-2: Model ngôn ngữ hình ảnh mới nhất của Microsoft
Gặp gỡ Florence-2, model ngôn ngữ hình ảnh của Microsoft, cung cấp khả năng phát hiện đối tượng, phân đoạn và hiệu suất zero-shot cải tiến với hiệu suất tuyệt vời.

Vào tháng 6 năm 2024, Microsoft đã giới thiệu Florence-2, một mô hình ngôn ngữ hình ảnh (VLM) đa phương thức được thiết kế để xử lý nhiều tác vụ bao gồm object detection, segmentation, chú thích hình ảnh và grounding. Florence-2 thiết lập một chuẩn mực mới cho hiệu suất zero-shot, nghĩa là mô hình có thể thực hiện các tác vụ mà không cần huấn luyện cụ thể trước đó, đồng thời sở hữu kích thước mô hình nhỏ hơn so với các mô hình ngôn ngữ hình ảnh hiện đại khác.
Florence-2 không chỉ là một mô hình đơn thuần; tính linh hoạt và hiệu suất được cải thiện của nó có tiềm năng tác động đáng kể đến nhiều ngành công nghiệp bằng cách nâng cao độ chính xác và giảm nhu cầu huấn luyện chuyên sâu. Trong bài viết này, chúng ta sẽ khám phá các tính năng sáng tạo của Florence-2, so sánh hiệu suất của nó với các VLM khác và thảo luận về các ứng dụng tiềm năng.
Link to this sectionFlorence-2 là gì?#
Florence-2 có thể xử lý nhiều tác vụ khác nhau trong một framework thống nhất duy nhất. Khả năng ấn tượng của mô hình một phần nhờ vào tập dữ liệu huấn luyện khổng lồ có tên là FLD-5B. FLD-5B bao gồm 5,4 tỷ chú thích trên 126 triệu hình ảnh. Tập dữ liệu toàn diện này được tạo ra đặc biệt để cung cấp cho Florence-2 những khả năng cần thiết nhằm xử lý phạm vi rộng lớn các tác vụ thị giác với độ chính xác và hiệu quả cao.
Dưới đây là cái nhìn cận cảnh về các tác vụ mà Florence-2 hỗ trợ:
- Object Detection: Có khả năng nhận diện và xác định vị trí các đối tượng trong hình ảnh với độ chính xác cao.
- Segmentation: Tác vụ này liên quan đến việc phân chia hình ảnh thành các phân đoạn có nghĩa để phân tích và diễn giải dễ dàng hơn.
- Image Captioning: Florence-2 có khả năng tạo chú thích mô tả cho hình ảnh, giúp cung cấp bối cảnh và chi tiết.
- Visual Grounding: Mô hình có thể liên kết các cụm từ hoặc từ cụ thể trong chú thích với các vùng tương ứng trong hình ảnh.
- Zero-shot Performance: Có khả năng thực hiện các tác vụ mà không cần huấn luyện chuyên biệt.

Fig 1. Tìm hiểu cách Florence-2 được huấn luyện.
Mô hình hỗ trợ cả các tác vụ dựa trên văn bản và dựa trên vùng. Các token vị trí đặc biệt được thêm vào từ vựng của mô hình cho các tác vụ liên quan đến các vùng cụ thể của hình ảnh. Các token này giúp mô hình hiểu các hình dạng khác nhau, chẳng hạn như hình chữ nhật bao quanh đối tượng (biểu diễn box), hình tứ giác (biểu diễn quad box) và hình đa giác (biểu diễn polygon). Mô hình được huấn luyện bằng phương pháp cross-entropy loss, giúp nó học bằng cách so sánh các dự đoán với câu trả lời đúng và điều chỉnh các tham số nội bộ của nó cho phù hợp.
Link to this sectionTạo tập dữ liệu FLD-5B#
Tập dữ liệu FLD-5B bao gồm các loại chú thích khác nhau: mô tả bằng văn bản, cặp vùng và văn bản, cùng các tổ hợp văn bản, cụm từ và vùng. Nó được tạo thông qua quy trình hai bước bao gồm data collection and annotation. Hình ảnh được lấy từ các tập dữ liệu phổ biến như ImageNet-22k, Object 365, Open Images, Conceptual Captions và LAION. Các chú thích trong tập dữ liệu FLD-5B chủ yếu là tổng hợp, nghĩa là chúng được tạo tự động thay vì dán nhãn thủ công.

Fig 2. Tạo tập dữ liệu FLD-5B.
Ban đầu, các mô hình chuyên biệt có khả năng thực hiện các tác vụ cụ thể như object detection hoặc segmentation đã tạo ra các chú thích này. Sau đó, một quy trình lọc và tăng cường được sử dụng để đảm bảo rằng các chú thích là chi tiết và chính xác. Sau khi loại bỏ nhiễu, tập dữ liệu đã trải qua quá trình tinh chỉnh lặp lại, nơi các đầu ra của Florence-2 được sử dụng để liên tục cập nhật và cải thiện các chú thích.
Link to this sectionTìm hiểu kiến trúc mô hình của Florence-2#
Kiến trúc mô hình của Florence-2 tuân theo phương pháp học sequence-to-sequence. Điều này có nghĩa là mô hình xử lý một chuỗi đầu vào (như một hình ảnh với prompt văn bản) và tạo ra một chuỗi đầu ra (như mô tả hoặc nhãn) theo từng bước. Trong khuôn khổ sequence-to-sequence, mỗi tác vụ được coi là một vấn đề dịch thuật: mô hình lấy hình ảnh đầu vào và prompt cụ thể theo tác vụ, sau đó tạo ra đầu ra tương ứng.

Fig 3. Kiến trúc mô hình ngôn ngữ hình ảnh của Florence-2.
Cốt lõi của kiến trúc mô hình là một transformer encoder-decoder đa phương thức, kết hợp một image encoder và một encoder-decoder đa phương thức. Image encoder, được gọi là DaViT (Data-efficient Vision Transformer), xử lý hình ảnh đầu vào bằng cách chuyển đổi chúng thành các visual token embedding - những biểu diễn nhỏ gọn của hình ảnh nắm bắt cả thông tin không gian (vị trí) và ngữ nghĩa (đối tượng là gì). Các visual token này sau đó được kết hợp với text embedding (biểu diễn của văn bản), cho phép mô hình hợp nhất dữ liệu văn bản và hình ảnh một cách liền mạch.
Link to this sectionSo sánh Florence-2 với các VLM khác#
Florence-2 nổi bật so với các mô hình ngôn ngữ hình ảnh khác nhờ khả năng zero-shot ấn tượng. Không giống như các mô hình như PaliGemma vốn dựa vào việc fine-tuning chuyên sâu để thích ứng với nhiều tác vụ, Florence-2 hoạt động hiệu quả ngay từ khi khởi chạy. Ngoài ra, Florence-2 có khả năng cạnh tranh với các mô hình lớn hơn như GPT-4V và Flamingo, vốn thường có nhiều tham số hơn nhưng không phải lúc nào cũng đạt hiệu suất bằng Florence-2. Ví dụ, Florence-2 đạt được kết quả zero-shot tốt hơn Kosmos-2, mặc dù Kosmos-2 có số lượng tham số gấp đôi.
Trong các bài kiểm tra chuẩn, Florence-2 đã cho thấy hiệu suất đáng chú ý trong các tác vụ như tạo chú thích COCO và hiểu biểu thức tham chiếu. Nó vượt qua các mô hình như PolyFormer và UNINEXT trong các tác vụ object detection và segmentation trên tập dữ liệu COCO. Đây là một lựa chọn cạnh tranh cao cho các ứng dụng thực tế nơi cả hiệu suất và hiệu quả tài nguyên đều quan trọng.
Link to this sectionCác ứng dụng của Florence-2#
Florence-2 có thể được sử dụng trong nhiều ngành công nghiệp khác nhau, chẳng hạn như giải trí, khả năng truy cập, giáo dục, v.v. Hãy cùng xem qua một vài ví dụ để hiểu rõ hơn.
Link to this sectionỨng dụng của image captioning#
Khi bạn đang ở trên một nền tảng phát trực tuyến và cố gắng quyết định xem gì, bạn có thể đọc tóm tắt về một bộ phim để giúp bạn lựa chọn. Điều gì sẽ xảy ra nếu nền tảng đó cũng có thể cung cấp mô tả chi tiết về áp phích phim? Florence-2 có thể làm điều đó thông qua image captioning, tạo ra văn bản mô tả cho hình ảnh. Florence-2 có thể tạo ra các mô tả chi tiết về áp phích phim, làm cho các nền tảng phát trực tuyến trở nên hòa nhập hơn với người dùng khiếm thị. Bằng cách phân tích các yếu tố hình ảnh của áp phích, chẳng hạn như nhân vật, cảnh quan và văn bản, Florence-2 có thể tạo ra các mô tả chi tiết truyền tải nội dung và tâm trạng của áp phích. Hình ảnh bên dưới cho thấy mức độ chi tiết mà Florence-2 có thể cung cấp trong mô tả của mình.

Fig 4. Một ví dụ về chú thích hình ảnh được tạo bởi Florence-2.
Dưới đây là một số ví dụ khác về nơi image captioning có thể hữu ích:
- Thương mại điện tử: Image captioning có thể cung cấp mô tả chi tiết về hình ảnh sản phẩm, giúp khách hàng hiểu rõ các tính năng và chi tiết sản phẩm hơn.
- Du lịch: Nó có thể cung cấp mô tả chi tiết về các địa danh và điểm tham quan trong hướng dẫn và ứng dụng du lịch.
- Giáo dục: Image captioning có thể dán nhãn và mô tả các hình ảnh và sơ đồ giáo dục, hỗ trợ việc giảng dạy và học tập.
- Bất động sản: Nó có thể cung cấp mô tả chi tiết về hình ảnh bất động sản, làm nổi bật các tính năng và tiện nghi cho người mua tiềm năng.
Link to this sectionSử dụng visual grounding khi nấu ăn#
Florence-2 cũng có thể được sử dụng để làm phong phú trải nghiệm ẩm thực. Ví dụ, một cuốn sách dạy nấu ăn trực tuyến có thể sử dụng Florence-2 để xác định trực quan và dán nhãn các phần của một hình ảnh công thức phức tạp. Visual grounding giúp liên kết các phần cụ thể của hình ảnh với văn bản mô tả tương ứng. Mỗi nguyên liệu và bước làm có thể được dán nhãn và giải thích chính xác, giúp người nấu ăn tại nhà dễ dàng theo dõi công thức và hiểu vai trò của từng thành phần trong món ăn.

Fig 5. Một ví dụ về visual grounding sử dụng Florence-2.
Link to this sectionOCR dựa trên vùng cho các tài liệu tài chính#
OCR với xử lý dựa trên vùng, tập trung vào việc trích xuất văn bản từ các khu vực cụ thể trong tài liệu, có thể hữu ích trong các lĩnh vực như kế toán. Các khu vực được chỉ định của tài liệu tài chính có thể được phân tích để tự động trích xuất thông tin quan trọng như chi tiết giao dịch, số tài khoản và ngày đến hạn. Bằng cách giảm nhu cầu nhập dữ liệu thủ công, nó giảm thiểu sai sót và tăng tốc thời gian xử lý. Các tổ chức tài chính có thể sử dụng nó để hợp lý hóa các tác vụ như xử lý hóa đơn, đối chiếu biên lai và thanh toán séc, dẫn đến giao dịch nhanh hơn và dịch vụ khách hàng tốt hơn.

Fig 6. Một ví dụ về trích xuất OCR dựa trên vùng bằng Florence-2.
Link to this sectionSegmentation dựa trên vùng trong các ứng dụng công nghiệp#
Segmentation dựa trên vùng, bao gồm việc chia hình ảnh thành các phần có nghĩa để phân tích tập trung và kiểm tra chi tiết, có thể thúc đẩy các ứng dụng công nghiệp nhằm cải thiện độ chính xác và hiệu quả trong các quy trình khác nhau. Bằng cách tập trung vào các khu vực cụ thể trong hình ảnh, công nghệ này cho phép kiểm tra và phân tích chi tiết các linh kiện và sản phẩm. Liên quan đến kiểm soát chất lượng, nó có thể xác định các khiếm khuyết hoặc sự không nhất quán trong vật liệu, chẳng hạn như vết nứt hoặc sai lệch, đảm bảo rằng chỉ những sản phẩm chất lượng cao nhất mới đến tay thị trường.

Fig 7. Một ví dụ về segmentation dựa trên vùng sử dụng Florence-2.
Nó cũng cải thiện các dây chuyền lắp ráp tự động bằng cách hướng dẫn cánh tay robotic đến các bộ phận cụ thể và tối ưu hóa việc đặt và lắp ráp các linh kiện. Tương tự, trong quản lý hàng tồn kho, nó giúp theo dõi và giám sát tình trạng cũng như vị trí của hàng hóa, dẫn đến logistics hiệu quả hơn và giảm thời gian ngừng hoạt động. Nhìn chung, segmentation dựa trên vùng giúp tăng độ chính xác và năng suất, mang lại khả năng tiết kiệm chi phí và chất lượng sản phẩm cao hơn trong môi trường công nghiệp.
Link to this sectionCác điểm chính cần lưu ý#
Chúng ta đang bắt đầu thấy một xu hướng nơi các mô hình AI trở nên nhẹ hơn nhưng vẫn duy trì hiệu suất cao. Florence-2 đánh dấu một bước tiến lớn đối với các mô hình ngôn ngữ hình ảnh. Nó có thể xử lý các tác vụ khác nhau như object detection, segmentation, image captioning và grounding với hiệu suất zero-shot ấn tượng. Mặc dù có kích thước nhỏ hơn, Florence-2 vẫn hiệu quả và đa chức năng, khiến nó cực kỳ hữu ích cho các ứng dụng trong nhiều ngành công nghiệp. Các mô hình như Florence-2 đang mở ra nhiều khả năng mới, mở rộng tiềm năng cho các đổi mới AI.
Khám phá thêm về AI bằng cách truy cập kho lưu trữ GitHub của chúng tôi và tham gia cộng đồng của chúng tôi. Xem các trang giải pháp của chúng tôi để đọc về các ứng dụng AI trong sản xuất và nông nghiệp. 🚀






