ข้ามไปยังเนื้อหาหลัก

โมเดลที่ผ่านการ Fine-Tune

แนวคิด: Fine-tune โมเดลแบบ open-weight (Llama, Mistral, Gemma) บนข้อความคู่ขนาน (parallel text) สำหรับคู่ภาษาเป้าหมายของคุณ วิธีนี้มีศักยภาพด้านคุณภาพสูงสุด แต่ต้องการข้อมูลคู่ขนานซึ่งอาจหายาก และกฎเกี่ยวกับการปนเปื้อนของข้อมูลประเมินผลมีความเข้มงวดมาก

:::info นี่คือ cookbook ไม่ใช่การ implement ที่สมบูรณ์ คู่มือนี้อธิบายแนวทาง ข้อกำหนดด้านข้อมูล และข้อควรระวัง โครงสร้างพื้นฐานสำหรับการฝึกจริงอยู่นอกขอบเขตของ harness :::

เมื่อใดควรใช้วิธีนี้

  • คุณมีสิทธิ์เข้าถึง คลังข้อมูลคู่ขนาน (parallel corpus) (หลายร้อยถึงหลายพันคู่ประโยค) ที่ เป็นอิสระอย่างสมบูรณ์ จากชุดข้อมูลประเมินผล
  • คุณมี GPU สำหรับการฝึก (ฮาร์ดแวร์ในเครื่อง, cloud, หรือคลัสเตอร์คอมพิวเตอร์ของมหาวิทยาลัย)
  • คุณต้องการ ศักยภาพด้านคุณภาพสูงสุด สำหรับคู่ภาษาเฉพาะ และพร้อมลงทุนในการฝึก
  • แนวทางอื่น (coached prompting, few-shot) ถึงจุดอิ่มตัวด้านคุณภาพแล้ว

วิธีการทำงาน

  1. รวบรวมข้อมูลคู่ขนาน — คู่ประโยคต้นฉบับ-แปลจากแหล่งอิสระ (ตำราเรียน, คลังชุมชน, บันทึก Hansard, ตำราศาสนา, สื่อการศึกษา)
  2. เตรียมรูปแบบข้อมูลสำหรับฝึก — รูปแบบ instruction-tuning (system prompt + input + expected output)
  3. Fine-tune — LoRA/QLoRA บนโมเดลพื้นฐาน (การ quantization แบบ 4-bit ทำให้ทำได้บน GPU สำหรับผู้บริโภคทั่วไป)
  4. ประเมินผลด้วย harness — รันโมเดลที่ผ่านการ fine-tune ผ่าน eval harness
  5. ปรับปรุงซ้ำ — ปรับข้อมูลฝึก, hyperparameters, การเลือกโมเดลพื้นฐาน

ข้อกำหนดด้านข้อมูล

ขนาด Corpusสิ่งที่คาดหวังได้
50–200 คู่การปรับปรุงเล็กน้อยเมื่อเทียบกับ zero-shot; อาจเกิด overfit
200–1,000 คู่การปรับปรุงด้านสไตล์และคำศัพท์เฉพาะที่เห็นได้ชัด
1,000–5,000 คู่การพัฒนาคุณภาพอย่างมีนัยสำคัญสำหรับคู่ภาษาเฉพาะ
5,000+ คู่ใกล้เคียงศักยภาพสูงสุดของโมเดลพื้นฐาน

:::danger การปนเปื้อนของข้อมูลประเมินผล = การตัดสิทธิ์ ข้อมูลฝึกของคุณ ต้องไม่ ซ้อนทับกับชุดข้อมูลประเมินผล ไม่ว่าจะเป็นประโยค, รายการคำศัพท์, หรือการถอดความเนื้อหาเดียวกัน harness จะทำ fingerprint ผลลัพธ์ของคุณ และสามารถตรวจจับการซ้อนทับทางสถิติได้ หากไม่แน่ใจว่าแหล่งข้อมูลเป็นอิสระหรือไม่ ให้เลือกตัดออกไว้ก่อน ดู กฎของ Leaderboard :::

โครงร่าง: LoRA Fine-Tuning

# Conceptual skeleton — adapt to your framework (HuggingFace, Axolotl, etc.)

# 1. Format your parallel data as instruction pairs
training_data = [
{"instruction": "Translate to Plains Cree (SRO)",
"input": "The children are playing",
"output": "awâsisak mêtawêwak"},
# ... hundreds more
]

# 2. Fine-tune with LoRA (4-bit for consumer GPUs)
# Base model: meta-llama/Llama-3.1-8B, google/gemma-2-9b, etc.
# Rank: 16–64, Alpha: 32–128, Epochs: 3–5

# 3. Export and serve via the harness TranslationMethod protocol

แหล่งค้นหาข้อมูลคู่ขนาน

  • คลังชุมชน — สื่อการศึกษา, เอกสารราชการ, สิ่งพิมพ์สองภาษา
  • Nunavut Hansard — คู่ภาษาอังกฤษ-Inuktitut จำนวน 1.3 ล้านคู่ที่จัดเรียงแล้ว (NRC Canada)
  • การแปลพระคัมภีร์ — มีให้สำหรับภาษาที่มีทรัพยากรน้อยหลายภาษา แต่เฉพาะโดเมน
  • ตำราเรียน — มักเป็นสองภาษาสำหรับบริบทการเรียนภาษา
  • สร้างข้อมูลเอง — ดู คู่มือการสร้าง Corpus

ข้อดีและข้อเสีย

✅ ศักยภาพด้านคุณภาพสูงสุด❌ ต้องการข้อมูลคู่ขนาน (หายากสำหรับ LRL)
✅ โมเดลเรียนรู้รูปแบบเฉพาะของภาษา❌ ค่าใช้จ่าย GPU (แม้ LoRA จะช่วยลดได้)
✅ สามารถทำได้ดีกว่าแนวทาง prompted❌ ความเสี่ยง overfit กับชุดข้อมูลขนาดเล็ก
✅ ค่าใช้จ่ายฝึกครั้งเดียว จากนั้น inference ราคาถูก❌ กฎการปนเปื้อนของข้อมูลประเมินผลที่เข้มงวด

ใช้ร่วมกับได้ดี

  • การสร้าง Corpus — สร้างข้อมูลฝึกที่คุณต้องการ
  • Back-Translation — ขยาย parallel corpus ของคุณแบบสังเคราะห์
  • FST-Gated Pipeline — โมเดลที่ผ่านการ fine-tune + การตรวจสอบทางสัณฐานวิทยา
  • Coached LLM Prompting — การ coaching บนโมเดลพื้นฐานที่ผ่านการ fine-tune

ดูเพิ่มเติม