พรอมต์และวิธีการของระบบ PaliGemma

หน้านี้จะอธิบายการจัดรูปแบบพรอมต์และวิธีการของระบบสำหรับโมเดล PaliGemma ตัวแปรรูปแบบ Gemma เหล่านี้ใช้การจัดรูปแบบทั่วไปเดียวกับรูปแบบพื้นฐานของ Gemma และรองรับไวยากรณ์พิเศษสำหรับงานบางอย่างที่เกี่ยวข้องกับรูปภาพ

รูปแบบพรอมต์

โมเดล PaliGemma ใช้การจัดรูปแบบพรอมต์เดียวกับโมเดลพื้นฐาน Gemma ที่เป็นต้นแบบ อย่างไรก็ตาม โมเดล PaliGemma ยังรองรับไวยากรณ์งานพิเศษด้วย ซึ่งอธิบายไว้ในส่วนถัดไป ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดรูปแบบพรอมต์ Gemma ได้ที่พรอมต์ Gemma และวิธีการของระบบ

ลําดับข้อมูลรูปภาพและข้อความ

เมื่อแสดงพรอมต์โมเดล PaliGemma ด้วยข้อมูลข้อความและรูปภาพ คุณต้องระบุข้อมูลรูปภาพก่อนเสมอ แล้วจึงระบุข้อมูลพรอมต์ข้อความต่อจากนั้น โดยทั่วไปแล้ว การเปลี่ยนลำดับข้อมูลพรอมต์รูปภาพและข้อความ หรือการผสมข้อมูลรูปภาพและข้อความจะสร้างคำตอบที่ใช้งานไม่ได้

ไวยากรณ์ของพรอมต์งาน

โมเดล PaliGemma ได้รับการฝึกด้วยรูปแบบพรอมต์และไวยากรณ์เฉพาะสำหรับงานต่างๆ เช่น การระบุวัตถุและการใส่คำบรรยายแทนเสียงในรูปภาพ คุณสามารถใช้รูปแบบคำสั่งพรอมต์นี้เพื่อขอลักษณะการทำงานที่เฉพาะเจาะจงจากโมเดล PaliGemma ดังนี้

  • "cap {lang}\n": คำบรรยายสั้นๆ แบบดิบมาก (จาก WebLI-alt)
  • "caption {lang}\n": คำบรรยายสั้นๆ ที่ดูดีคล้าย COCO
  • "describe {lang}\n": คำบรรยายที่ยาวขึ้นเล็กน้อยและสื่อความหมายมากขึ้น
  • "ocr": การรู้จำอักขระด้วยภาพ
  • "answer {lang} {question}\n": การตอบคําถามเกี่ยวกับเนื้อหารูปภาพ
  • "question {lang} {answer}\n": การสร้างคำถามสําหรับคําตอบหนึ่งๆ
  • "detect {object} ; {object}\n": ค้นหาวัตถุที่ระบุในรูปภาพและแสดงผลกล่องขอบเขตของวัตถุเหล่านั้น
  • "segment {object}\n": ค้นหาพื้นที่ที่วัตถุครอบครองในรูปภาพเพื่อสร้างการแบ่งส่วนของรูปภาพสำหรับวัตถุนั้น

ตัวเลือก {lang} มีไว้สำหรับรหัสภาษา PaliGemma รองรับการจดจำภาษาต่างๆ 34 ภาษาสำหรับพรอมต์งานด้วยตัวเลือกนี้ คุณดูรายการภาษาที่รองรับได้ใน GitHub

ดูตัวอย่างโค้ดโดยละเอียดที่แสดงวิธีใช้ไวยากรณ์นี้ได้ในบทแนะนำสร้างเอาต์พุต PaliGemma ด้วย Keras

คำสั่งพรอมต์แบบเป็นกลุ่ม

คุณสามารถระบุคำสั่งพรอมต์ได้มากกว่า 1 รายการภายในพรอมต์เดียวเป็นชุดคำสั่ง คำสั่งพรอมต์แต่ละรายการต้องสิ้นสุดด้วยอักขระ \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)

วิธีการของระบบ

โมเดล PaliGemma ไม่รองรับคำสั่งระบบเพิ่มเติมนอกเหนือจากคำสั่งระบบ Gemma จากโมเดลพื้นฐานที่ใช้