การใช้โมเดลภาษาใหญ่เพื่อสร้างแอปพลิเคชัน AI เชิงสร้างสรรค์มาพร้อมกับความท้าทายใหม่ๆ ปัญหาหลักคือการรับประกันคุณภาพของการตอบกลับ (ความถูกต้องและความเกี่ยวข้อง) ในเนื้อหาที่โมเดลสร้างขึ้นตามคำขอของผู้ใช้ ในบทเรียนก่อนหน้านี้ เราได้พูดถึงเทคนิคต่างๆ เช่น การออกแบบพรอมต์และการสร้างผลลัพธ์แบบเสริมการดึงข้อมูล ที่พยายามแก้ปัญหาโดยการ แก้ไขอินพุตพรอมต์ ที่ส่งเข้าโมเดลเดิม
ในบทเรียนวันนี้ เราจะพูดถึงเทคนิคที่สาม คือ การปรับแต่ง (fine-tuning) ซึ่งพยายามแก้ไขความท้าทายนี้โดยการ ฝึกโมเดลใหม่ ด้วยข้อมูลเพิ่มเติม มาดูรายละเอียดกัน
บทเรียนนี้นำเสนอแนวคิดของการปรับแต่งสำหรับโมเดลภาษาที่ผ่านการฝึกมาแล้ว พร้อมทั้งสำรวจประโยชน์และความท้าทายของวิธีนี้ และให้คำแนะนำว่าเมื่อใดและอย่างไรควรใช้การปรับแต่งเพื่อปรับปรุงประสิทธิภาพของโมเดล AI เชิงสร้างสรรค์ของคุณ
เมื่อจบบทเรียนนี้ คุณควรสามารถตอบคำถามต่อไปนี้ได้:
- การปรับแต่งสำหรับโมเดลภาษา คืออะไร?
- เมื่อใด และทำไม การปรับแต่งจึงมีประโยชน์?
- ฉันจะปรับแต่งโมเดลที่ผ่านการฝึกมาแล้วได้อย่างไร?
- ข้อจำกัดของการปรับแต่งมีอะไรบ้าง?
พร้อมไหม? มาเริ่มกันเลย
อยากเห็นภาพรวมของสิ่งที่จะครอบคลุมก่อนลงลึกไหม? ดูไกด์ภาพประกอบนี้ซึ่งอธิบายเส้นทางการเรียนรู้สำหรับบทเรียนนี้ - ตั้งแต่การเรียนรู้แนวคิดหลักและแรงจูงใจในการปรับแต่ง ไปจนถึงเข้าใจกระบวนการและแนวทางปฏิบัติที่ดีที่สุดสำหรับการทำงานปรับแต่ง นี่เป็นหัวข้อที่น่าตื่นเต้นสำหรับการสำรวจ ดังนั้นอย่าลืมดูที่หน้าทรัพยากร Resources เพื่อเชื่อมโยงเพิ่มเติม สนับสนุนการเรียนรู้ด้วยตนเองของคุณ!
ตามคำจำกัดความ โมเดลภาษาใหญ่จะถูก ฝึกล่วงหน้า ด้วยข้อความจำนวนมากจากแหล่งที่หลากหลายรวมถึงอินเทอร์เน็ต ตามที่เราได้เรียนรู้ในบทก่อนหน้า เราต้องใช้เทคนิคอย่าง การออกแบบพรอมต์ และ การสร้างผลลัพธ์เสริมการดึงข้อมูล เพื่อปรับปรุงคุณภาพการตอบกลับของโมเดลต่อคำถามของผู้ใช้ ("พรอมต์")
เทคนิคการออกแบบพรอมต์ยอดนิยมคือการให้คำแนะนำกับโมเดลมากขึ้นในสิ่งที่คาดหวังในคำตอบ โดยการให้ คำแนะนำ (คำแนะนำอย่างชัดเจน) หรือ การให้ตัวอย่างบางส่วน (คำแนะนำแฝง) เทคนิคนี้เรียกว่า few-shot learning แต่มีข้อจำกัดสองประการ:
- ขีดจำกัดของโทเค็นของโมเดลอาจจำกัดจำนวนตัวอย่างที่คุณสามารถให้ได้ และลดประสิทธิภาพของวิธีนี้
- ค่าใช้จ่ายของโทเค็นโมเดลอาจทำให้เพิ่มตัวอย่างในแต่ละพรอมต์มีค่าใช้จ่ายสูงและจำกัดความยืดหยุ่น
การปรับแต่งเป็นแนวทางปฏิบัติทั่วไปในระบบแมชชีนเลิร์นนิงที่เรานำโมเดลที่ผ่านการฝึกล่วงหน้ามาฝึกซ้ำด้วยข้อมูลใหม่เพื่อปรับปรุงประสิทธิภาพในงานเฉพาะในบริบทของโมเดลภาษา เราสามารถปรับแต่งโมเดลที่ผ่านการฝึกล่วงหน้าด้วย ชุดตัวอย่างที่คัดสรรสำหรับงานหรือโดเมนเฉพาะ เพื่อสร้าง โมเดลเฉพาะทาง ที่อาจแม่นยำและเกี่ยวข้องมากขึ้นสำหรับงานหรือสาขานั้นๆ ผลพลอยได้จากการปรับแต่งคือช่วยลดจำนวนตัวอย่างที่ต้องใช้ในการเรียนรู้แบบ few-shot ลดการใช้โทเค็นและค่าใช้จ่ายที่เกี่ยวข้อง
ใน กรณีนี้ เมื่อเราพูดถึงการปรับแต่ง เราหมายถึงการปรับแต่งแบบ มีผู้สอน ที่การฝึกซ้ำทำโดยการ เพิ่มข้อมูลใหม่ ที่ไม่ได้อยู่ในชุดข้อมูลฝึกต้นฉบับ ซึ่งต่างจากการปรับแต่งแบบไม่มีผู้สอนที่โมเดลถูกฝึกใหม่จากข้อมูลเดิมแต่มีค่าพารามิเตอร์อื่น
สิ่งสำคัญที่ต้องจำคือ การปรับแต่งเป็นเทคนิคขั้นสูงที่ต้องการความเชี่ยวชาญระดับหนึ่งเพื่อให้ได้ผลลัพธ์ตามที่ต้องการ ถ้าทำผิดวิธีอาจไม่เกิดการปรับปรุงตามคาด และอาจทำให้ประสิทธิภาพโมเดลในโดเมนเป้าหมายลดลงด้วย
ดังนั้น ก่อนที่คุณจะเรียนรู้ "วิธี" ปรับแต่งโมเดลภาษา คุณควรรู้ "ทำไม" คุณควรเลือกเส้นทางนี้ และ "เมื่อใด" ที่เหมาะสมสำหรับการเริ่มปรับแต่ง เริ่มต้นด้วยการถามตัวเองดังนี้:
- กรณีใช้งาน: กรณีการใช้งานสำหรับการปรับแต่งคืออะไร? คุณต้องการปรับปรุงด้านใดของโมเดลที่ผ่านการฝึกในปัจจุบัน?
- ทางเลือก: คุณเคยลอง เทคนิคอื่นๆ เพื่อบรรลุผลลัพธ์ที่ต้องการหรือไม่? ใช้มันเพื่อสร้างฐานเปรียบเทียบ
- การออกแบบพรอมต์: ลองเทคนิคเช่น few-shot prompting กับตัวอย่างการตอบที่เกี่ยวข้อง ประเมินคุณภาพการตอบกลับ
- การสร้างผลลัพธ์เสริมการดึงข้อมูล: ลองเพิ่มพรอมต์ด้วยผลลัพธ์ที่ค้นพบโดยการค้นหาข้อมูลของคุณ ประเมินคุณภาพการตอบกลับ
- ค่าใช้จ่าย: คุณระบุค่าใช้จ่ายสำหรับการปรับแต่งหรือยัง?
- ความสามารถในการปรับแต่ง - โมเดลที่ฝึกล่วงหน้าพร้อมสำหรับการปรับแต่งหรือไม่?
- ความพยายาม - สำหรับการเตรียมข้อมูลฝึก, การประเมินและปรับปรุงโมเดล
- การคำนวณ - สำหรับการทำงานปรับแต่งและการปรับใช้โมเดลที่ปรับแต่งแล้ว
- ข้อมูล - การเข้าถึงตัวอย่างคุณภาพเพียงพอสำหรับผลกระทบของการปรับแต่ง
- ประโยชน์: คุณยืนยันประโยชน์ของการปรับแต่งหรือยัง?
- คุณภาพ - โมเดลที่ปรับแต่งดีกว่าฐานข้อมูลหรือไม่?
- ต้นทุน - ลดการใช้โทเค็นโดยการทำพรอมต์ให้ง่ายขึ้นไหม?
- ความสามารถในการขยาย - คุณสามารถนำโมเดลพื้นฐานไปใช้กับโดเมนใหม่ได้หรือไม่?
โดยการตอบคำถามเหล่านี้ คุณควรจะสามารถตัดสินใจได้ว่าการปรับแต่งเป็นวิธีที่เหมาะสมกับกรณีใช้งานของคุณหรือไม่ โดยทั่วไป วิธีนี้จะเหมาะสมก็ต่อเมื่อประโยชน์มีมากกว่าต้นทุน เมื่อตัดสินใจเดินหน้าต่อ ก็ถึงเวลาคิดว่า อย่างไร คุณจะปรับแต่งโมเดลที่ผ่านการฝึกล่วงหน้า
ต้องการข้อมูลเชิงลึกเพิ่มเติมในกระบวนการตัดสินใจหรือไม่? ดู To fine-tune or not to fine-tune
ในการปรับแต่งโมเดลที่ผ่านการฝึกมาแล้ว คุณจำเป็นต้องมี:
- โมเดลที่ผ่านการฝึกแล้วสำหรับการปรับแต่ง
- ชุดข้อมูลที่ใช้สำหรับการปรับแต่ง
- สภาพแวดล้อมสำหรับฝึกซ้ำเพื่อรันงานปรับแต่ง
- สภาพแวดล้อมสำหรับการโฮสต์เพื่อนำโมเดลที่ปรับแต่งแล้วไปใช้
Microsoft Foundry คือสถานที่ที่คุณปรับแต่ง เปิดใช้งาน และจัดการโมเดลเฉพาะบน Azure ในปัจจุบัน (รวมสิ่งที่เคยเป็น Azure OpenAI Studio และ Azure AI Studio ไว้ด้วยกัน) ก่อนเริ่มงาน ควรทำความเข้าใจตัวเลือกที่ Foundry ให้มาและแนวทางปฏิบัติที่ดีที่สุดที่แพลตฟอร์มแนะนำ Foundry ใช้ LoRA (low-rank adaptation) เพื่อการปรับแต่งโมเดลที่มีประสิทธิภาพ ซึ่งช่วยให้การฝึกซ้ำเร็วขึ้นและประหยัดกว่าการฝึกซ้ำทุกพารามิเตอร์
Foundry รองรับสามเทคนิคการปรับแต่ง เริ่มต้นที่ SFT - เหมาะกับสถานการณ์ที่หลากหลายที่สุด
| เทคนิค | มันทำอะไร | ใช้เมื่อไร |
|---|---|---|
| การปรับแต่งแบบมีผู้สอน (SFT) | ฝึกด้วยตัวอย่างคู่ขาเข้า/ขาออกเพื่อให้โมเดลเรียนรู้ผลิตคำตอบที่คุณต้องการ | เริ่มต้นสำหรับงานส่วนใหญ่: การเชี่ยวชาญโดเมน, ประสิทธิภาพงาน, สไตล์และโทนเสียง, การปฏิบัติตามคำสั่ง, และการปรับภาษา |
| การปรับแต่งโดยตรงด้วยการเพิ่มพฤติกรรมที่ชอบ (DPO) | เรียนรู้จากคู่คำตอบ ที่ชอบกับไม่ชอบ เพื่อตรงกับความชอบของมนุษย์ | ปรับปรุงคุณภาพคำตอบ, ความปลอดภัย และการจัดแนวเมื่อมีข้อมูลเปรียบเทียบ |
| การปรับแต่งด้วยการเสริมแรง (RFT) | ใช้สัญญาณรางวัลจาก ผู้ตรวจสอบ เพื่อเพิ่มประสิทธิภาพพฤติกรรมซับซ้อนโดยใช้การเรียนรู้เสริมแรง | โดเมนที่ต้องใช้เหตุผลเชิงวัตถุประสงค์และเข้มข้น (คณิตศาสตร์, เคมี, ฟิสิกส์) ที่มีคำตอบชัดเจน ต้องการความเชี่ยวชาญ ML สูงกว่า |
Foundry ให้คุณเลือกวิธีและสถานที่รันการฝึกได้:
- มาตรฐาน - ฝึกภายในภูมิภาคของทรัพยากรของคุณและรับรองให้อยู่ในภูมิภาคเดียวกัน ใช้เมื่อข้อมูลต้องอยู่ในภูมิภาคที่ระบุเท่านั้น
- ระดับโลก - ราคาถูกกว่าและรอคิวน้อยกว่าโดยใช้กำลังการผลิตนอกภูมิภาคของคุณ (ข้อมูลและพารามิเตอร์ถูกคัดลอกไปยังภูมิภาคการฝึก) เป็นค่าเริ่มต้นที่ดีเมื่อไม่ต้องการจำกัดการเก็บข้อมูลในภูมิภาค
- สำหรับนักพัฒนา - ราคาต่ำที่สุด ใช้กำลังการผลิตที่ว่างไม่มีการรับประกันความหน่วงเวลา/ SLA (งานอาจถูกแทรกแซงและทำต่อได้) เหมาะสำหรับการทดลอง
โมเดลที่ปรับแต่งได้รวมถึง OpenAI gpt-4o-mini, gpt-4o, gpt-4.1, gpt-4.1-mini, และ gpt-4.1-nano (SFT; ตระกูล 4o/4.1 ยังรองรับ DPO), โมเดลเหตุผล o4-mini และ gpt-5 (RFT), พร้อมทั้งโมเดลโอเพ่นซอร์ส เช่น Ministral-3B, Qwen-32B, Llama-3.3-70B-Instruct, และ gpt-oss-20b (SFT บน Foundry) ตรวจสอบรายการ โมเดลปรับแต่ง ล่าสุดเพื่อดูวิธีรองรับ, ภูมิภาคและความพร้อมใช้งานเสมอ
Foundry มีสองโหมด: serverless (ราคาตามการใช้งาน, ไม่มีการจัดการโควต้าการ์ดจอ, OpenAI และโมเดลที่เลือก) และ managed compute (ใช้ VM ของตัวเองผ่าน Azure Machine Learning เพื่อรองรับโมเดลหลากหลายที่สุด) ส่วนใหญ่ควรเริ่มด้วย serverless
- เริ่มจากฐาน วัดโมเดลฐานด้วยการออกแบบพรอมต์และ RAG ก่อน ปรับแต่งเพื่อพิสูจน์ประโยชน์
- เริ่มน้อย แล้วขยาย เริ่มจากตัวอย่างคุณภาพสูง 50-100 ตัวอย่างเพื่อยืนยันวิธี จากนั้นเพิ่มเป็น 500+ สำหรับใช้งานจริง เน้นคุณภาพมากกว่าปริมาณ - ตัดตัวอย่างคุณภาพต่ำออก
- จัดรูปแบบข้อมูลให้ถูกต้อง ไฟล์ฝึกและไฟล์ยืนยันต้องเป็น JSONL, UTF-8 พร้อม BOM, ขนาดไม่เกิน 512 MB, ใช้รูปแบบข้อความแชทเสร็จสมบูรณ์ และควรมีไฟล์ยืนยันเพื่อติดตามการ overfitting
- เก็บพรอมต์ระบบต้นทางไว้ที่การอนุมาน ใช้ข้อความระบบเดียวกันเมื่อเรียกโมเดลเหมือนกับในการฝึก
- ประเมินจุดเช็คพอยต์ - อย่าเพิ่งปรับใช้โดยไม่ดู Foundry เก็บจุดเช็คพอยต์ 3 รอบสุดท้ายไว้สำหรับปรับใช้ เลือกอันที่ทำนองทั่วไปดีที่สุดโดยดู
train_loss/valid_lossและความถูกต้องของโทเค็น - วัดค่าโทเค็นควบคู่กับคุณภาพ เมื่อต้องเปรียบเทียบโมเดลที่ปรับแต่งกับฐาน
- ปรับแต่งต่อเนื่องได้ คุณสามารถปรับแต่งโมเดลที่ปรับแต่งแล้วซ้ำอีกด้วยข้อมูลใหม่ (รองรับสำหรับโมเดล OpenAI)
- ระวังค่าใช้จ่ายโฮสต์ โมเดลเฉพาะที่ปรับแต่งแล้วคิดค่าบริการเป็นรายชั่วโมง และการถอดถอนโมเดลที่ไม่ใช้งานจะเกิดขึ้นหลัง 15 วัน - ทำความสะอาดสิ่งที่ไม่ต้องการ
ทำงานตามขั้นตอนเต็มใน Customize a model with fine-tuning และดูไกด์สำหรับ DPO และ RFT เมื่อพร้อมสำหรับเทคนิคอื่นๆ
ทรัพยากรต่อไปนี้ให้บทเรียนทีละขั้นตอนที่นำคุณผ่านตัวอย่างจริงบนโมเดลที่รองรับในปัจจุบัน ด้วยชุดข้อมูลที่คัดสรร เพื่อทำตาม คุณต้องมีบัญชีกับผู้ให้บริการที่เจาะจง รวมถึงการเข้าถึงโมเดลและชุดข้อมูลที่เกี่ยวข้อง
| ผู้ให้บริการ | บทเรียน | คำอธิบาย |
|---|---|---|
| OpenAI | วิธีปรับแต่งโมเดลแชท | เรียนรู้การปรับแต่งโมเดลแชทล่าสุดของ OpenAI สำหรับโดเมนเฉพาะ ("ผู้ช่วยทำสูตรอาหาร") โดยเตรียมข้อมูลฝึก รันงานปรับแต่ง และใช้โมเดลที่ปรับแต่งแล้วสำหรับการอนุมาน |
| Microsoft Foundry | ปรับแต่งโมเดลด้วย fine-tuning | เรียนรู้การปรับแต่งโมเดลที่รองรับปัจจุบัน เช่น gpt-4.1-mini บน Azure ด้วย Microsoft Foundry: เตรียม & อัปโหลดข้อมูลฝึกและข้อมูลยืนยัน รันงานปรับแต่ง จากนั้นปรับใช้ & ใช้โมเดลใหม่ |
| Hugging Face | การปรับแต่ง LLMs โดยใช้ Hugging Face | บล็อกโพสต์นี้จะสอนคุณเกี่ยวกับการปรับแต่ง open LLM (เช่น: CodeLlama 7B) โดยใช้ไลบรารี transformers & Transformer Reinforcement Learning (TRL) พร้อมกับชุดข้อมูลเปิด datasets บน Hugging Face. |
| 🤗 AutoTrain | การปรับแต่ง LLMs ด้วย AutoTrain | AutoTrain (หรือ AutoTrain Advanced) เป็นไลบรารี Python ที่พัฒนาโดย Hugging Face ที่ช่วยในการปรับแต่งสำหรับงานหลากหลายรวมถึงการปรับแต่ง LLM AutoTrain เป็นโซลูชันแบบไม่ต้องเขียนโค้ดและการปรับแต่งสามารถทำได้บนคลาวด์ของคุณเอง บน Hugging Face Spaces หรือในเครื่อง รองรับทั้ง GUI บนเว็บ, CLI และการฝึกอบรมผ่านไฟล์ config yaml. |
| 🦥 Unsloth | การปรับแต่ง LLMs ด้วย Unsloth | Unsloth เป็นเฟรมเวิร์กโอเพ่นซอร์สที่รองรับการปรับแต่ง LLM และการเรียนรู้เสริม (RL) Unsloth ช่วยอำนวยความสะดวกในการฝึกสอนในพื้นที่, การประเมินผล, และการปรับใช้ด้วย notebooks ที่พร้อมใช้งาน นอกจากนี้ยังรองรับการแปลงข้อความเป็นเสียง (TTS), โมเดล BERT และโมเดลมัลติโมดัล สำหรับเริ่มต้น อ่าน คู่มือการปรับแต่ง LLMs ทีละขั้นตอนของพวกเขา |
เลือกหนึ่งในบทเรียนด้านบนและทดลองเรียนดู เราอาจทำซ้ำเวอร์ชันของบทเรียนเหล่านี้ใน Jupyter Notebooks ในรีโปนี้เพื่อเป็นข้อมูลอ้างอิงเท่านั้น กรุณาใช้แหล่งข้อมูลต้นฉบับโดยตรงเพื่อรับเวอร์ชันล่าสุด.
หลังจากทำบทเรียนนี้เสร็จสิ้น ตรวจสอบ คอลเลกชันการเรียนรู้ Generative AI ของเราเพื่อต่อยอดความรู้ Generative AI ของคุณ!
ยินดีด้วย!! คุณได้ทำบทเรียนสุดท้ายจากชุดบทเรียน v2 ของหลักสูตรนี้เสร็จเรียบร้อยแล้ว! อย่าหยุดเรียนรู้และสร้างสรรค์ **ตรวจสอบหน้าของ ทรัพยากร สำหรับรายการข้อแนะนำเพิ่มเติมเกี่ยวกับหัวข้อนี้โดยเฉพาะ
ชุดบทเรียน v1 ของเราก็ได้รับการอัปเดตพร้อมงานและแนวคิดเพิ่มเติมเช่นกัน ดังนั้นใช้เวลาสักนาทีในการรีเฟรชความรู้ของคุณ - และกรุณา แชร์คำถามและข้อเสนอแนะของคุณ เพื่อช่วยเราในการปรับปรุงบทเรียนเหล่านี้สำหรับชุมชน
ปฏิเสธความรับผิดชอบ: เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator ขณะที่เราพยายามให้ความถูกต้อง โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาต้นทางควรถูกพิจารณาเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ แนะนำให้ใช้การแปลโดยมนุษย์มืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดที่เกิดขึ้นจากการใช้การแปลนี้

