การปรับแต่งด้วย Gemini API

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

หน้านี้ให้ภาพรวมเชิงแนวคิดเกี่ยวกับการปรับแต่งโมเดลข้อความที่อยู่เบื้องหลังบริการข้อความของ Gemini API เมื่อพร้อมเริ่มปรับแต่งแล้ว ให้ลองดูบทแนะนำการปรับแต่งแบบละเอียด หากต้องการดูข้อมูลเบื้องต้นทั่วไปเกี่ยวกับการปรับแต่ง LLM สำหรับ Use Case ที่เฉพาะเจาะจง โปรดดูหัวข้อLLM: การปรับแต่ง การปรับแต่ง และการสร้างพรอมต์ในหลักสูตรเร่งรัดเกี่ยวกับแมชชีนเลิร์นนิง

วิธีการทําการปรับแต่ง

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

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

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

เตรียมชุดข้อมูล

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

รูปแบบ

ตัวอย่างที่รวมอยู่ในชุดข้อมูลควรตรงกับการเข้าชมเวอร์ชันที่ใช้งานจริงที่คาดไว้ หากชุดข้อมูลมีการจัดรูปแบบ คีย์เวิร์ด วิธีการ หรือข้อมูลเฉพาะเจาะจง ข้อมูลเวอร์ชันที่ใช้งานจริงควรมีการจัดรูปแบบในลักษณะเดียวกันและมีวิธีการเดียวกัน

ตัวอย่างเช่น หากตัวอย่างในชุดข้อมูลมี "question:" และ "context:" การเข้าชมเวอร์ชันที่ใช้งานจริงก็ควรมีการจัดรูปแบบให้รวม "question:" และ "context:" ตามลําดับเดียวกับที่ปรากฏในตัวอย่างชุดข้อมูล หากคุณยกเว้นบริบท โมเดลจะไม่สามารถจดจำรูปแบบได้ แม้ว่าคำถามที่ตรงกันจะอยู่ในตัวอย่างชุดข้อมูลก็ตาม

อีกตัวอย่างหนึ่งคือข้อมูลการฝึก Python สําหรับแอปพลิเคชันที่สร้างขึ้นเพื่อแสดงตัวเลขถัดไปในลําดับ

training_data = [
  {"text_input": "1", "output": "2"},
  {"text_input": "3", "output": "4"},
  {"text_input": "-3", "output": "-2"},
  {"text_input": "twenty two", "output": "twenty three"},
  {"text_input": "two hundred", "output": "two hundred one"},
  {"text_input": "ninety nine", "output": "one hundred"},
  {"text_input": "8", "output": "9"},
  {"text_input": "-98", "output": "-97"},
  {"text_input": "1,000", "output": "1,001"},
  {"text_input": "10,100,000", "output": "10,100,001"},
  {"text_input": "thirteen", "output": "fourteen"},
  {"text_input": "eighty", "output": "eighty one"},
  {"text_input": "one", "output": "two"},
  {"text_input": "three", "output": "four"},
  {"text_input": "seven", "output": "eight"},
]

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

ข้อจำกัด

หมายเหตุ: การปรับแต่งชุดข้อมูลสำหรับ Gemini 1.5 Flash มีข้อจำกัดต่อไปนี้

  • ขนาดอินพุตสูงสุดต่อตัวอย่างคือ 40,000 อักขระ
  • ขนาดเอาต์พุตสูงสุดต่อตัวอย่างคือ 5,000 อักขระ

ขนาดข้อมูลการฝึก

คุณปรับแต่งโมเดลได้โดยใช้ตัวอย่างเพียง 20 รายการ โดยทั่วไปแล้ว ข้อมูลเพิ่มเติมจะช่วยปรับปรุงคุณภาพของคำตอบ คุณควรตั้งเป้าหมายให้มีตัวอย่าง 100-500 รายการ ทั้งนี้ขึ้นอยู่กับแอปพลิเคชัน ตารางต่อไปนี้แสดงขนาดชุดข้อมูลที่แนะนําสำหรับการปรับแต่งโมเดลข้อความแบบละเอียดสําหรับงานทั่วไปต่างๆ

งาน จํานวนตัวอย่างในชุดข้อมูล
การจัดประเภท 100+
การสรุป 100-500+
การค้นหาเอกสาร 100+

อัปโหลดชุดข้อมูลการปรับ

ระบบจะส่งข้อมูลในบรรทัดโดยใช้ API หรือผ่านไฟล์ที่อัปโหลดใน Google AI Studio

หากต้องการใช้ไลบรารีไคลเอ็นต์ ให้ระบุไฟล์ข้อมูลในการเรียกใช้ createTunedModel ไฟล์ต้องมีขนาดไม่เกิน 4 MB ดูการเริ่มต้นใช้งานแบบละเอียดด้วย Python เพื่อเริ่มต้นใช้งาน

หากต้องการเรียก REST API โดยใช้ cURL ให้ระบุตัวอย่างการฝึกในรูปแบบ JSON ให้กับอาร์กิวเมนต์ training_data ดูการเริ่มต้นใช้งานการปรับแต่งด้วย cURL เพื่อเริ่มต้นใช้งาน

การตั้งค่าการปรับแต่งขั้นสูง

เมื่อสร้างงานการปรับ คุณระบุการตั้งค่าขั้นสูงต่อไปนี้ได้

  • Epoch: การฝึกแบบเต็มรอบชุดข้อมูลการฝึกทั้งหมดเพื่อให้ระบบประมวลผลตัวอย่างแต่ละรายการ 1 ครั้ง
  • ขนาดกลุ่ม: ชุดตัวอย่างที่ใช้ในรอบการฝึก 1 รอบ ขณะที batch size จะกําหนดจํานวนตัวอย่างในชุด
  • อัตราการเรียนรู้: จํานวนทศนิยมที่บอกอัลกอริทึมว่าจะปรับพารามิเตอร์ของโมเดลในการวนซ้ำแต่ละครั้งมากน้อยเพียงใด เช่น อัตราการเรียนรู้ 0.3 จะปรับน้ำหนักและค่ากําหนดให้มีประสิทธิภาพมากกว่าอัตราการเรียนรู้ 0.1 ถึง 3 เท่า อัตราการเรียนรู้สูงและต่ำมีข้อดีข้อเสียที่แตกต่างกันไป และควรปรับตามกรณีการใช้งาน
  • ตัวคูณอัตราการเรียนรู้: ตัวคูณอัตราจะแก้ไขอัตราการเรียนรู้เดิมของโมเดล ค่า 1 ใช้อัตราการเรียนรู้เดิมของรูปแบบ ค่าที่มากกว่า 1 จะเพิ่มอัตราการเรียนรู้ และค่าระหว่าง 1 กับ 0 จะลดอัตราการเรียนรู้

ตารางต่อไปนี้แสดงการกําหนดค่าที่แนะนําสําหรับการปรับแต่งรูปแบบพื้นฐาน

ไฮเปอร์พารามิเตอร์ ค่าเริ่มต้น การปรับที่แนะนำ
Epoch 5

หากการสูญเสียเริ่มคงที่ก่อน 5 ยุค ให้ใช้ค่าที่น้อยลง

หากการสูญเสียลดลงและดูเหมือนว่าจะคงที่ ให้ใช้ค่าที่สูงขึ้น

ขนาดกลุ่ม 4
อัตราการเรียนรู้ 0.001 ใช้ค่าที่น้อยลงสำหรับชุดข้อมูลขนาดเล็ก

เส้นโค้ง Loss จะแสดงว่าการคาดการณ์ของโมเดลเบี่ยงเบนไปจากการคาดการณ์ที่เหมาะเจาะในตัวอย่างการฝึกมากน้อยเพียงใดหลังจากแต่ละ Epoch คุณควรหยุดการฝึกเมื่อถึงจุดต่ำสุดของเส้นโค้งก่อนที่เส้นโค้งจะคงที่ ตัวอย่างเช่น กราฟด้านล่างแสดงเส้นโค้งการสูญเสียที่คงที่ประมาณ 4-6 ยุค ซึ่งหมายความว่าคุณสามารถตั้งค่าพารามิเตอร์ Epoch เป็น 4 และยังคงได้รับประสิทธิภาพเดิม

แผนภูมิเส้นแสดงเส้นโค้งการสูญเสียของโมเดล เส้นจะเพิ่มขึ้นระหว่างยุคสมัยที่ 1 กับ 2 จากนั้นลดลงอย่างรวดเร็วเกือบเป็น 0 และคงที่หลังจาก 3 ยุคสมัย

ตรวจสอบสถานะงานการปรับ

คุณสามารถตรวจสอบสถานะงานการปรับแต่งใน Google AI Studio ได้ที่แท็บคลังภาพ หรือใช้พร็อพเพอร์ตี้ metadata ของโมเดลที่ปรับแต่งใน Gemini API

แก้ไขข้อผิดพลาด

ส่วนนี้มีเคล็ดลับเกี่ยวกับวิธีแก้ไขข้อผิดพลาดที่คุณอาจพบขณะสร้างรูปแบบที่ปรับแต่ง

การตรวจสอบสิทธิ์

การปรับโดยใช้ API และไลบรารีไคลเอ็นต์ต้องมีการตรวจสอบสิทธิ์ คุณสามารถตั้งค่าการตรวจสอบสิทธิ์โดยใช้คีย์ API (แนะนำ) หรือใช้ข้อมูลเข้าสู่ระบบ OAuth ดูเอกสารประกอบเกี่ยวกับการตั้งค่าคีย์ API ได้ที่หัวข้อตั้งค่าคีย์ API

หากเห็นข้อผิดพลาด 'PermissionDenied: 403 Request had insufficient authentication scopes' คุณอาจต้องตั้งค่าการตรวจสอบสิทธิ์ผู้ใช้โดยใช้ข้อมูลเข้าสู่ระบบ OAuth หากต้องการกำหนดค่าข้อมูลเข้าสู่ระบบ OAuth สำหรับ Python โปรดไปที่บทแนะนำการตั้งค่า OAuth

โมเดลที่ยกเลิกแล้ว

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

ข้อจํากัดของโมเดลที่ปรับแต่ง

หมายเหตุ: โมเดลที่ปรับแต่งมีข้อจำกัดต่อไปนี้

  • ขีดจํากัดของข้อมูลที่ป้อนของรุ่น Gemini 1.5 Flash ที่ปรับแต่งแล้วคือ 40,000 อักขระ
  • โมเดลที่ปรับแต่งแล้วไม่รองรับโหมด JSON
  • โมเดลที่ปรับแต่งแล้วไม่รองรับคำสั่งของระบบ
  • รองรับเฉพาะการป้อนข้อความ

ขั้นตอนถัดไป

เริ่มต้นใช้งานบทแนะนำการปรับแต่ง