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

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

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

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

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

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

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

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

  • "cap {lang}\n": คำบรรยายแทนเสียงแบบสั้นแบบดิบมาก (PT รองรับเท่านั้น)
  • "caption {lang}\n": คำบรรยายแทนเสียงของ Shorts
  • "describe {lang}\n": คำบรรยายที่ยาวขึ้นเล็กน้อยและสื่อความหมายมากขึ้น (PT รองรับเท่านั้น)
  • "ocr": การรู้จำอักขระด้วยภาพ (PT รองรับเท่านั้น)
  • "answer {lang} {question}\n": การตอบคําถามเกี่ยวกับเนื้อหารูปภาพ
  • "question {lang} {answer}\n": การสร้างคำถามสำหรับคำตอบหนึ่งๆ (PT รองรับเท่านั้น)
  • "detect {object} ; {object}\n": ค้นหาวัตถุที่ระบุในรูปภาพและแสดงกล่องขอบเขตของวัตถุเหล่านั้น
  • "segment {object} ; {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 จากโมเดลพื้นฐานที่ใช้