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

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

หน้านี้จะแสดงภาพรวมเชิงแนวคิดของการปรับแต่งรูปแบบข้อความเบื้องหลัง บริการข้อความของ Gemini API เมื่อพร้อมที่จะเริ่มปรับแต่ง ให้ลอง บทแนะนำการปรับแต่ง หากคุณต้องการ การแนะนำทั่วไปขึ้นในการปรับแต่ง LLM สำหรับกรณีการใช้งานที่เฉพาะเจาะจง โปรดดู ออก 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 เพื่อเริ่มต้นใช้งาน

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

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

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

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

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

ไฮเปอร์พารามิเตอร์ ค่าเริ่มต้น การปรับที่แนะนำ
ช่วงเวลาสำคัญในอดีต 5

หากการสูญเสียเริ่มต้นเป็นที่ราบสูงก่อน 5 Epoch ให้ใช้ค่าที่น้อยกว่า

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

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

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

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

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

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

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

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

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

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

หากต้องการกำหนดค่าข้อมูลเข้าสู่ระบบ OAuth สำหรับ Python โปรดดู บทแนะนำการตั้งค่า OAuth

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

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

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

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

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

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

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