Lời nhắc PaliGemma và hướng dẫn hệ thống

Trang này mô tả định dạng lời nhắc và hướng dẫn hệ thống cho các mô hình PaliGemma. Các biến thể mô hình Gemma này sử dụng định dạng chung giống như các mô hình nền tảng Gemma, đồng thời cũng hỗ trợ cú pháp đặc biệt cho các tác vụ cụ thể liên quan đến hình ảnh.

Định dạng lời nhắc

Các mô hình PaliGemma sử dụng định dạng lời nhắc giống như các mô hình cơ sở Gemma mà chúng dựa trên. Tuy nhiên, các mô hình PaliGemma cũng hỗ trợ một ngữ pháp tác vụ đặc biệt, được mô tả trong phần tiếp theo. Để biết thêm thông tin về cách định dạng câu lệnh của Gemma, hãy xem phần Câu lệnh của Gemma và hướng dẫn về hệ thống.

Thứ tự dữ liệu hình ảnh và văn bản

Khi nhắc các mô hình PaliGemma bằng dữ liệu văn bản và hình ảnh, bạn phải luôn cung cấp dữ liệu hình ảnh trước tiên, sau đó là dữ liệu nhắc bằng văn bản. Việc đảo ngược thứ tự dữ liệu lời nhắc bằng hình ảnh và văn bản hoặc kết hợp dữ liệu hình ảnh và văn bản thường sẽ tạo ra các phản hồi không thể sử dụng.

Cú pháp tác vụ lời nhắc

Các mô hình PaliGemma được huấn luyện bằng các mẫu và cú pháp cụ thể của câu lệnh cho các nhiệm vụ như nhận dạng đối tượng và chú thích hình ảnh. Bạn có thể sử dụng cú pháp tác vụ lời nhắc này để yêu cầu hành vi cụ thể từ các mô hình PaliGemma, như sau:

  • "cap {lang}\n": Chú thích ngắn rất thô (từ WebLI-alt)
  • "caption {lang}\n": Chú thích ngắn đẹp mắt, giống như COCO
  • "describe {lang}\n": Nội dung chú thích dài hơn một chút và mô tả rõ ràng hơn
  • "ocr": Nhận dạng ký tự quang học
  • "answer {lang} {question}\n": Trả lời câu hỏi về nội dung hình ảnh
  • "question {lang} {answer}\n": Tạo câu hỏi cho một câu trả lời nhất định
  • "detect {object} ; {object}\n": Xác định vị trí các đối tượng được liệt kê trong hình ảnh và trả về hộp giới hạn cho các đối tượng đó
  • "segment {object}\n": Xác định khu vực mà đối tượng chiếm trong hình ảnh để tạo phân đoạn hình ảnh cho đối tượng đó

Các tuỳ chọn {lang} là dành cho mã ngôn ngữ. PaliGemma hỗ trợ nhận dạng ngôn ngữ cho 34 ngôn ngữ khác nhau cho lời nhắc nhiệm vụ bằng tuỳ chọn này. Bạn có thể tìm thấy danh sách ngôn ngữ được hỗ trợ trên GitHub.

Để biết ví dụ chi tiết về cách sử dụng cú pháp này, hãy xem hướng dẫn Tạo đầu ra PaliGemma bằng Keras.

Lệnh nhắc theo lô

Bạn có thể cung cấp nhiều lệnh nhắc trong một lời nhắc dưới dạng một lô hướng dẫn. Mỗi lệnh lời nhắc phải kết thúc bằng ký tự \n. Ví dụ sau đây minh hoạ cách định cấu trúc văn bản lời nhắc để cung cấp nhiều hướng dẫn.

prompts = [
    'answer en where is the cow standing?\n',
    'answer en what color is the cow?\n',
    'describe en\n',
    'detect cow\n',
    'segment cow\n',
]
images = [cow_image, cow_image, cow_image, cow_image, cow_image]
outputs = paligemma.generate(
    inputs={
        "images": images,
        "prompts": prompts,
    }
)
for output in outputs:
    print(output)

Hướng dẫn về hệ thống

Các mô hình PaliGemma không hỗ trợ bất kỳ hướng dẫn hệ thống bổ sung nào ngoài hướng dẫn hệ thống Gemma từ các mô hình nền tảng mà chúng dựa trên.