0
0
Lập trình
Admin Team
Admin Teamtechmely

Tìm Hiểu Chi Tiết về PaliGemma: Mô Hình Ngôn Ngữ-Thị Giác Mở của Google

Đăng vào 3 tuần trước

• 5 phút đọc

1. PaliGemma là gì?

PaliGemma là một mô hình ngôn ngữ thị giác (VLM) tiên tiến, được phát triển và ra mắt bởi Google, với khả năng thực hiện nhiều tác vụ cùng lúc. Khác với các VLM khác như GPT-4 của OpenAI, Google Gemini và Claude 3, VLM này vượt trội trong khả năng phát hiện và phân đoạn đối tượng. Được giới thiệu tại sự kiện Google I/O 2024, PaliGemma kết hợp hai mô hình nghiên cứu của Google: SigLIP (mô hình thị giác) và Gemma (mô hình ngôn ngữ lớn). Mô hình này gồm hai phần chính: một bộ giải mã Transformer cho ngôn ngữ và một bộ mã hóa Vision Transformer cho hình ảnh, cho phép nó tiếp nhận cả đầu vào văn bản và hình ảnh, từ đó sản sinh ra đầu ra văn bản.

PaliGemma được cấu thành từ các thành phần chính sau:

  • Mô hình thị giác SigLIP
  • Mô hình ngôn ngữ Gemma

Với khả năng tích hợp cả đầu vào hình ảnh và văn bản, PaliGemma thực hiện đa dạng các nhiệm vụ, bao gồm phát hiện và phân đoạn đối tượng, trả lời câu hỏi trực quan, tạo chú thích cho hình ảnh và video ngắn, cũng như đọc văn bản. Mô hình đã trải qua quá trình huấn luyện trên các tập dữ liệu nổi bật như WebLI, CC3M-35L, VQ²A-CC3M-35L/VQG-CC3M-35L, OpenImages và WIT.

Google thông báo rằng mô hình không được thiết kế để sử dụng trực tiếp, mà cần phải thực hiện huấn luyện lại (fine-tuning) cho các nhiệm vụ cụ thể với cấu trúc gợi ý tương tự. Điều này cho thấy hiệu suất cơ bản từ trọng số của mô hình chỉ đáp ứng đủ cho một số khía cạnh nhất định và yêu cầu fine-tuning để đạt hiệu suất tối ưu cho các nhiệm vụ chuyên biệt.

2. Kiến trúc của PaliGemma

PaliGemma được xây dựng dựa trên hai thành phần chính:

  • Bộ mã hóa hình ảnh SigLIP: Mô hình này được huấn luyện bằng cách so sánh đối chiếu (contrastively trained). SigLIP cạnh tranh với CLIP của OpenAI bằng cách sử dụng hàm mất mát sigmoid thay cho hàm mất mát softmax cross entropy mà CLIP đã áp dụng, giúp giảm chi phí tính toán.
  • Mô hình ngôn ngữ Gemma 2B: Đây là mô hình chỉ có bộ giải mã, kích thước nhỏ gọn, dùng để mã hóa văn bản đầu vào. Gemma có khả năng mã hóa 256.000 token, trong khi PaliGemma mở rộng từ vựng này, bao gồm:
    • 1024 token biểu diễn tọa độ trong không gian hình ảnh chuẩn hóa (ví dụ: loc0000, …, loc1023)
    • 128 token từ bộ mã hóa hình ảnh để phân đoạn ảnh.

3. Cách thức hoạt động của PaliGemma

PaliGemma vận dụng bộ giải mã dựa trên transformer của Gemma, với một số cải tiến hiện đại như:

  • Attention đa đầu/multi-query: Giúp mô hình tập trung vào nhiều phần khác nhau của đầu vào.
  • Hai loạiembedding vị trí: Giúp mô hình hiểu vị trí của các từ trong câu.
  • GeGLU thay cho ReLU.
  • Chuẩn hóa RMS (RMSNorm): Cải thiện tính ổn định trong quá trình huấn luyện.

Quy trình hoạt động của PaliGemma bao gồm:

  1. Đầu vào: PaliGemma nhận đầu vào là một hoặc nhiều hình ảnh cùng một đoạn văn bản.
  2. Xử lý hình ảnh: Hình ảnh được mã hóa thành các mã thông báo (tokens) bởi bộ mã hóa SigLIP.
  3. Xử lý văn bản: Đoạn văn bản (prefix) được chuyển đổi thành các tokens bởi bộ mã hóa Gemma.
  4. Kết hợp: Mã thông báo văn bản và mã thông báo hình ảnh được nối lại với nhau, với mã thông báo văn bản ở phía trước.
  5. Giải mã: Tất cả các mã thông báo được đưa vào bộ giải mã Gemma để tạo ra văn bản đầu ra theo kiểu tự hồi quy.

4. Quy trình huấn luyện của PaliGemma

Quá trình huấn luyện gồm nhiều giai đoạn:

  1. Huấn luyện đơn mô hình (Uni-Modal Pre-Training): Sử dụng các mô hình SigLIP và Gemma đã được huấn luyện trước.
  2. Huấn luyện đa mô hình (Multi-Modal Pre-Training): Mô hình PaliGemma được huấn luyện trên dữ liệu kết hợp giữa hình ảnh và văn bản với độ phân giải hình ảnh 224x224 và văn bản dài 128 token.
  3. Huấn luyện độ phân giải cao (High-Resolution Pre-Training): Tập trung vào hình ảnh có độ phân giải cao hơn (448x448 và 896x896) và văn bản dài hơn (512 token).
  4. Đánh giá hiệu suất bằng fine-tuning: Mô hình được điều chỉnh để phù hợp với các nhiệm vụ cụ thể.

5. Hướng dẫn Fine-Tuning PaliGemma

5.1 Định dạng dữ liệu

Để thực hiện fine-tuning PaliGemma, bạn cần chuyển đổi các tập chú thích vào định dạng tệp JSON Lines (.jsonl) với mỗi dòng chứa một đối tượng JSON, bao gồm:

  • Image: đường dẫn tới ảnh.
  • Prefix: đoạn văn bản thiết lập ngữ cảnh cho mô hình.
  • Suffix: đoạn văn bản thể hiện phản hồi mong muốn từ mô hình.

5.2 Datasets cho chú thích hình ảnh

5.2.1 Tạo chú thích hình ảnh

  • Prefix: là đoạn văn mô tả thiết lập nhiệm vụ tạo chú thích. VD: "caption" có thể là prefix cho chú thích tiếng Anh.
  • Suffix: chứa chú thích chính xác mong muốn từ mô hình.

5.2.2 Giải đáp câu hỏi hình ảnh (VQA)

  • Prefix: chứa câu hỏi về hình ảnh, xác định nhiệm vụ trả lời câu hỏi.
  • Suffix: câu trả lời đúng cho câu hỏi dựa trên hình ảnh.

5.3 Tập dữ liệu phát hiện đối tượng

Khi huấn luyện cho dự đoán vị trí đối tượng, prefix chuẩn sẽ có dạng là "detect |CLASS|". Suffix sẽ bao gồm các توken vị trí cùng với tên lớp đối tượng cần phát hiện.

5.4 Tập dữ liệu phân đoạn

Trong tác vụ phân đoạn, mô hình sẽ học từ các token phân đoạn cho riêng từng đối tượng. Đặc biệt, cần chú ý đến các mã thông báo bounding box và các mã thông báo phân đoạn.

Với các vấn đề đặt ra trong huấn luyện và quy trình fine-tuning PaliGemma, người dùng được khuyến nghị theo dõi tài liệu chính thức và tham khảo dễ dàng qua notebook huấn luyện cung cấp.

Thông qua PaliGemma, Google tiếp tục khẳng định vị thế của mình trong lĩnh vực trí tuệ nhân tạo, mở ra nhiều khả năng ứng dụng thú vị trong tương lai.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào