1. การปรับแต่ง (Fine-tuning)
1.1 นิยามและข้อดีของการปรับแต่งโมเดล
การปรับแต่ง (Fine-tuning) เป็นแนวคิดในการเรียนรู้ลึก (deep learning) ซึ่งหมายถึงกระบวนการที่ดำเนินการฝึกฝนโมเดลที่ได้รับการฝึกในขั้นต้นเพื่อทำการปรับเปลี่ยนให้เหมาะสมกับงานหรือชุดข้อมูลเฉพาะ ๆ โมเดลที่ได้รับการฝึกก่อนหน้านี้ได้รับการฝึกด้วยข้อมูลจำนวนมากและได้เรียนรู้ลักษณะเฉพาะ ๆ ผ่านการปรับแต่ง ผลลัพธ์ของโมเดลสามารถถูกปรับปรุงได้อีกเพิ่มเติมขึ้นโดยใช้พื้นฐานนี้
ข้อดีของการปรับแต่งเมื่อเปรียบเทียบกับการฝึกโมเดลตั้งแต่ต้นที่สำคัญประกอบด้วย:
- ประหยัดเวลาและทรัพยากร: การปรับแต่งช่วยลดเวลาและทรัพยากรทางคอมพิวเตอร์ที่ต้องใช้ในการฝึกโมเดลตั้งแต่ต้น โดยเฉพาะอย่างยิ่งสำหรับโมเดลขนาดใหญ่และงานที่ซับซ้อน
- ประสิทธิภาพของข้อมูล: การปรับแต่งมักต้องการข้อมูลที่ได้รับคำอธิบายเพียงน้อยเพื่อให้ได้ผลลัพธ์ที่ดี โดยเฉพาะอย่างยิ่งในงานที่ข้อมูลน้อย
- การเรียนรู้โอน: โมเดลที่ได้รับการฝึกตั้งแต่ต้นได้เรียนรู้จากข้อมูลที่หลากหลาย และการปรับแต่งสามารถโอนความรู้นี้ไปสู่งานเฉพาะต่าง ๆ ทำให้สามารถปรับปรุงความสามารถในการโอนความรู้ได้
- ปรับปรุงประสิทธิภาพ: การปรับแต่งช่วยให้โมเดลปรับตัวได้ดีขึ้นตามความต้องการงานเฉพาะ ๆ ช่วยในการปรับปรุงคุณภาพของโมเดลและลดอัตราความผิดพลาดลง
ตัวอย่างเช่น โดยใช้ OpenAI's API ผู้ใช้สามารถปรับแต่งโมเดล GPT เพื่อทำให้ได้ออกมาเป็นผลลัพธ์ที่มีคุณภาพสูงขึ้นพร้อมประหยัดค่าใช้จ่ายที่เกิดจากข้อความยาวและลดความหน่วงลดลงได้
1.2 กรณีการปรับใช้ในทางปฏิบัติ
การปรับแต่งได้รับการพิสูจน์ว่ามีประสิทธิภาพอย่างมากในสถานการณ์ทางวิชาการที่หลากหลาย เช่น:
- การตั้งรูปแบบและรูปแบบ: ผ่านการปรับแต่งตอบของแชทบอทสามารถถูกปรับให้เหมาะสมกับรูปแบบหรือรูปแบบเฉพาะ เช่น เป็นเกืด ขำหรือสอดคล้องกับภาษาของอุตสาหกรรมเฉพาะ
- การเพิ่มความเชื่อถือได้: ในการใช้งานที่มีผลต่อความเชื่อถือ เช่นในการปรึกษาทางการแพทย์หรือคำแนะนำทางกฎหมาย การปรับแต่งสามารถลดความเข้าใจผิดหรือคำตอบที่ไม่แม่นยำทำให้ความเชื่อถือได้ดีขึ้นทั้งหมด
- การจัดการภายในคำพูน: บางงานต้องการการประมวลผลข้อมูลที่ซับซ้อน การปรับแต่งสามารถช่วยให้โมเดลเข้าใจสถานการณ์ที่ซับซ้อนเหล่านี้ได้ดีและให้คำตอบที่แม่นยำ
- การปรับปรุงประสิทธิภาพสำหรับงานเฉพาะ: สำหรับงานที่ยากที่จะอธิบายผ่านข้อความเดียว ๆ เช่น การแปลงสไตล์ในการสร้างข้อความหรือการสร้างข้อมูลข้อความในหัวข้อที่เฉพาะตัว การปรับแต่งสามารถปรับปรุงประสิทธิภาพของโมเดลอย่างมีนัยย่อยลงได้อย่างมีนัยย่อย
ผ่านกรณีการใช้งานเหล่านี้ เราสามารถเห็นได้ว่าการปรับแต่งช่วยให้โมเดลปรับตัวได้ดีในสถานการณ์ที่เฉพาะ ๆ ให้บริการที่แม่นยำและเป็นพิเลิกขนาด
2. เมื่อใช้การปรับแต่งเมื่อไหร่
2.1 การวิเคราะห์ความต้องการของงาน
การปรับแต่งเป็นกลยุทธ์ที่นำมาใช้เมื่อได้หาสิ่งที่ทำให้โมเดลทั่วไปที่มีอยู่ไม่สามารถตอบสนองต่อความต้องการเฉพาะหน้ามีคุณสมบัติต่อไปนี้:
- ความต้องการเฉพาะทางสไตล์ อารมณ์ รูปแบบหรือด้านดีลองอื่น ๆ
- ต้องการปรับปรุงความเชื่อถือได้ในการสร้างผลลัพธ์ตามที่ต้องการ
- การเข้าถึงสิ่งที่เฉพาะหน้าและละเอียดในแต่ละกรณี
- ทักษะหรืองานที่ยากที่จะระบุอย่างชัดเจนในข้อสั่ง
ขั้นตอนในการกำหนดความต้องการของงานส่วนมากประกอบด้วย:
- พยายาม "สร้างข้อความโดยการพัฒนาระบบ" ปรับเปลี่ยนวิธีในการมองข้อมูลที่ได้รับเพื่อทำให้ได้ผลลัพธ์ที่ดีที่สุด
- วิเคราะห์ความมีประสิทธิภาพของโมเดลที่มีอยู่เพื่อกำหนดว่าจำเป็นต้องปรับแต่งหรือไม่
- หากต้องการตัดสินใจที่จะทำการปรับแต่ง จัดเตรียมชุดข้อมูลที่เกี่ยวข้องเพื่อให้สามารถฝึกได้ต่อไป
2.2 การเปรียบเทียบระหว่างการปรับแต่งและการพัฒนาระบบ
การปรับแต่งและการพัฒนาระบบโปรแกรม (prompt engineering) คือกลยุทธ์สองอย่างที่แตกต่างกันในการปรับปรุงประสิทธิภาพของโมเดล การพัฒนาระบบโปรแกรมหมายถึงการนำทางโมเดลให้สร้างการตอบสนองที่คาดหวังได้ด้วยข้อความที่ออกแบบอย่างประณีตโดยไม่ต้องปรับเปลี่ยนโมเดลเอง มันเป็นขั้นตอนแรกในการซัพพอร์ตการปรับปรุงประสิทธิภาพเนื่องจากมีการตอบรับที่รวดเร็วและไม่ต้องการข้อมูลการฝึก
อย่างไรก็ตาม ในบางกรณีแม้จะมีการออกแบบข้อความอย่างระมัดระวัง โมเดลอาจยังพยายามอย่างยิ่งใช้งานจริงในขณะที่การปรับแต่งกลายเป็นการเลือกที่จำเป็นเพื่อเพิ่มประสิทธิภาพของโมเดล โดยการให้ตัวอย่างจำนวนมากให้โมเดลเรียนรู้จากการปรับแต่งสามารถทำให้ได้ผลลัพธ์ที่ดีกว่าในงานต่าง ๆ เมื่อเปรียบเทียบกับการพัฒนาระบบโปรแกรมเพียงอย่างเดียว
3. โมเดลที่สนับสนุนการปรับแต่ง (Fine-tuning)
OpenAI มีช่วงของโมเดลที่สนับสนุนการปรับแต่ง ซึ่งรวมถึง gpt-3.5-turbo-1106
(แนะนำ), gpt-3.5-turbo-0613
, babbage-002
, davinci-002
, และ gpt-4-0613
ที่สามารถถูกสร้างขึ้นให้มีการปรับแต่งเพิ่มเติมเพื่อให้เหมาะสำหรับความต้องการของผู้ใช้แต่ละราย
การปรับแต่งเข้ากันได้ไม่เพียงแค่กับชุดข้อมูลใหม่ แต่ผู้ใช้ยังสามารถที่จะทำการปรับแต่งต่อไปบนโมเดลที่เคยถูกปรับแต่งไว้ก่อนหน้าแล้ว ซึ่งเป็นประโยชน์อย่างยิ่งเมื่อมีข้อมูลมากขึ้นและต้องการที่จะปรับปรุงโมเดลมากขึ้นโดยไม่ต้องทำการฝึกฝนใหม่
สำหรับผู้ใช้ทั่วไป, gpt-3.5-turbo
เป็นตัวเลือกที่นิยมเนื่องจากผลลัพธ์ที่น่าพอใจและความสะดวกในการใช้งาน โดยที่ OpenAI อาจทำการอัปเดตและขยายช่วงของโมเดลที่สนับสนุนการปรับแต่งต่อไปเพื่อเสนอและรองรับความต้องการของผู้ใช้เฉพาะเรื่องเป็นที่สมาชิก
4. เตรียมข้อมูลสำหรับการฝึกฝน
4.1 รูปแบบของชุดข้อมูล
เพื่อที่จะทำการปรับแต่งได้ คุณต้องเตรียมชุดข้อมูลที่เป็นไปตามรูปแบบที่ระบุไว้นี้ โดยทั่วไปแล้ว, ชุดข้อมูลนี้จะประกอบไปด้วยชุดของข้อมูลนำเข้าและผลลัพธ์ที่คาดหวัง การปรับแต่งของ OpenAI รองรับรูปแบบข้อมูลหลักสองแบบคือ โมเดลการสนทนา และคู่คำถาม-คำตอบง่ายๆ
รูปแบบของชุดข้อมูลสำหรับ โมเดลการสนทนา นี้มักถูกใช้งานสำหรับ gpt-3.5-turbo
โมเดล ทุกตัวอย่างจะถูกจัดเรียงในรูปแบบของการสนทนา ที่แต่ละข้อมูลจะมีบทบาท, เนื้อหา และชื่อเพิ่มเติมได้ โครงสร้างข้อมูลตัวอย่างเช่นนี้
{
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "How's the weather today?"},
{"role": "assistant", "content": "The weather today is clear and suitable for going out."}
]
}
แต่ละกรณีจะต้องถูกจัดรูปแบบเป็นไฟล์ที่มีรูปแบบ JSON Lines (.jsonl) โดยที่แต่ละบรรทัดจะแทนตัวอย่างการฝึกฝน ตัวอย่างเช่น
{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "What's the capital of France?"}, {"role": "assistant", "content": "Paris, as if everyone doesn't know that already."}]}
{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "Who wrote 'Romeo and Juliet'?"}, {"role": "assistant", "content": "Oh, just some guy named William Shakespeare. Ever heard of him?"}]}
{"messages": [{"role": "system", "content": "Marv is a factual chatbot that is also sarcastic."}, {"role": "user", "content": "How far is the Moon from Earth?"}, {"role": "assistant", "content": "Around 384,400 kilometers. Give or take a few, like that really matters."}]}
ข้อมูลของคู่คำถาม-คำตอบง่ายๆ นั้นเหมาะสำหรับโมเดลเช่น babbage-002
และ davinci-002
รูปแบบเรียบง่าย ประกอบด้วยคู่ของ prompt
และ completion
ตัวอย่างเช่น
{
"prompt": "How's the weather today?",
"completion": "The weather today is clear and suitable for going out."
}
เช่นกัน, แต่ละตัวอย่างการฝึกฝนจะเรียงลำดับบนหนึ่งบรรทัด ตัวอย่างเช่น
{"prompt": "<ข้อความตั้งต้น>", "completion": "<ข้อความที่เกิดขึ้นที่ดีที่สุด>"}
{"prompt": "<ข้อความตั้งต้น>", "completion": "<ข้อความที่เกิดขึ้นที่ดีที่สุด>"}
{"prompt": "<ข้อความตั้งต้น>", "completion": "<ข้อความที่เกิดขึ้นที่ดีที่สุด>"}
เมื่อสร้างข้อมูลการปรับแต่ง ควรพิจารณาถึงคำแนะนำหรือโจทย์ที่ให้มาอย่างรอบคอบเพื่อให้แน่ใจว่ามีความสอดคล้องกันระหว่างตัวอย่างการฝึกฝนและครอบคลุมฉากใช้งานที่คาดหวังเท่าที่เป็นไปได้
4.2 การแบ่งข้อมูลสำหรับการฝึกฝนและทดสอบ
หลังจากที่เตรียมชุดข้อมูลสำหรับการปรับแต่งแล้ว สิ่งสำคัญที่สุดคือการแบ่งชุดข้อมูลเป็นส่วนของการฝึกฝนและการทดสอบอย่างเหมาะสม โดยทั่วไปแล้ว, ชุดข้อมูลจะถูกแบ่งเป็นสองส่วนโดยการใช้ส่วนมากไปสำหรับการฝึกฝนโมเดล (โดยทั่วไปจะใช้ 70% ถึง 90%) และส่วนที่เหลือจะไว้สำหรับการทดสอบ (10% ถึง 30%) การแบ่งนี้จะช่วยในการตรวจสอบประสิทธิภาพของโมเดลเมื่อมีข้อมูลที่ไม่เคยเห็นมาก่อน และประเมินประสิทธิภาพของมันอย่างเคร่งครัด
แบ่งชุดข้อมูลสามารถทำด้วยการแบ่งโดยใช้มือหรือเขียนโค้ดเพื่อที่จะแบ่ง, ซึ่งจะถูกอธิบายในส่วนต่อไปเกี่ยวกับวิธีการประเมินประสิทธิภาพของโมเดลโดยใช้ชุดข้อมูลการทดสอบที่เพราะการแบ่งเป็นส่วนๆ
5.1. เลือกโมเดล Pre-trained ที่เหมาะสม
ก่อนที่จะเริ่มกระบวนการ fine-tuning การเลือกโมเดล pre-trained ที่ถูกต้องมีความสำคัญอย่างยิ่งเพื่อให้แน่ใจว่างานทำงานจะประสบความสำเร็จ นี่คือสิ่งที่ควรพิจารณาในการเลือกโมเดล pre-trained ที่เหมาะสม:
-
ประเภทของงาน: โดยขึ้นอยู่กับลักษณะของงานของคุณ เช่น เข้าใจภาษา สร้างผลลัพธ์ หรือตอบคำถามที่เฉพาะสาขา ให้เลือกโมเดลที่เหมาะสมที่สุดสำหรับงานเหล่านั้น ตัวอย่างเช่น โมเดล
gpt-3.5-turbo
เหมาะสำหรับสถานการณ์ต่าง ๆ เนื่องจากสมดุลการทำงานและความง่ายต่อการใช้งาน -
ปริมาณข้อมูล: หากคุณมีข้อมูลการฝึกอบรมที่น้อยมาก คุณอาจต้องการเลือกโมเดลขนาดเล็ก เช่น
babbage-002
เนื่องจากมีความต้องการข้อมูลสำหรับการปรับพารามิเตอร์น้อยกว่า -
ความต้องการในด้านประสิทธิภาพ: สำหรับสถานการณ์ที่ต้องการการประมวลผลงานที่ซับซ้อนและละเอียดมาก ควรพิจารณาเลือกโมเดลที่มีประสิทธิภาพสูงเช่น
davinci-002
-
คิดถึงความคุ้มค่า: โมเดลที่แตกต่างกันมีความต้องการในด้านการคำนวณและการจัดเก็บที่แตกต่างกัน โดยทั่วไปโมเดลที่ใหญ่กว่าจะต้องเสียค่าใช้จ่ายมากขึ้น ควรดำเนินการเทียบเท่าตามงบประมาณและความต้องการในด้านประสิทธิภาพ
-
คุณลักษณะการทดลอง: โมเดล
gpt-4-0613
อยู่ในขั้นทดลองใหม่ขณะนี้ หากคุณต้องการลองเทคโนโลยีล่าสุด ๆ และมีความทนทานกับอินเตอร์เฟซการทดลอง ควรพิจารณาในการสมัครเข้าถึง
5.2. กระบวนการ Fine-tuning
กระบวนการ fine-tuning ประกอบด้วยขั้นตอนหลาย ๆ ขั้นเช่นเตรียมข้อมูล อัปโหลดไฟล์ สร้างงานการฝึก และติดตามความคืบหน้า นี่คือรายละเอียดของแต่ละขั้นตอน:
5.2.1. เตรียมข้อมูล
เตรียมข้อมูลการฝึกและทดสอบอย่างเพียงพอตามงานที่เป้าหมาย และให้แน่ใจว่ารูปแบบข้อมูลตรงตามกำหนด เช่น รูปแบบ JSON Lines (.jsonl) โปรดอ้างอิงข้อมูลเพิ่มเติมในบทก่อนหน้า
5.2.2. อัปโหลดข้อมูล
อัปโหลดไฟล์ข้อมูลการฝึกผ่าน Files API ของ OpenAI โดยระบุว่าจุดประสงค์ของไฟล์เป็น fine-tune
เช่นดังต่อไปนี้:
curl https://api.openai.com/v1/files \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-F purpose="fine-tune" \
-F file="@mydata.jsonl"
หลังจากการอัปโหลดเรียบร้อย คุณจะได้รับ ID ของไฟล์ที่ใช้ในงานการฝึกที่เหลือต่อไป
5.2.3. สร้างงานการฝึก
เริ่มงาน fine-tuning โดยใช้ OpenAI's SDK หรือเครื่องมือ CLI โดยระบุพารามิเตอร์และโมเดลที่ต้องการ เช่น:
from openai import OpenAI
client = OpenAI()
client.fine_tuning.jobs.create(
training_file="file-abc123",
model="gpt-3.5-turbo"
)
พารามิเตอร์ training_file
ระบุ ID ของไฟล์ข้อมูลการฝึก และพารามิเตอร์ model
ระบุโมเดลที่จะใช้ในการฝึก
5.2.4. ติดตามความคืบหน้าของงานการฝึก
ต่อไปนี้เป็นตัวอย่างของการคิวรี่ผลการฝึกโดยใช้ Python:
from openai import OpenAI
client = OpenAI()
client.fine_tuning.jobs.list(limit=10)
client.fine_tuning.jobs.retrieve("ftjob-abc123")
client.fine_tuning.jobs.cancel("ftjob-abc123")
client.fine_tuning.jobs.list_events(fine_tuning_job_id="ftjob-abc123", limit=10)
client.models.delete("ft:gpt-3.5-turbo:acemeco:suffix:abc123")
6. การปรับค่าพารามิเตอร์ขณะกระบวนการ Fine-tuning
6.1 การเข้าใจและการปรับ Hyperparameters
Hyperparameters คือพารามิเตอร์ที่ตั้งค่าก่อนการฝึกโมเดล และมักจะไม่สามารถเรียนรู้ได้จากข้อมูล นี่คือ hyperparameters ที่สำคัญบางอย่าง:
-
จำนวน Epochs (n_epochs): ซึ่งกำหนดว่าโมเดลจะทำการวนซ้ำผ่านชุดข้อมูลทั้งหมดกี่ครั้ง การใช้ epochs มากเกินไปอาจทำให้โมเดลมีโอเวอร์ฟิตติ้ง ในขณะที่ใช้น้อยเกินไปอาจทำให้โมเดลเรียนรู้ไม่เพียงพอ
-
อัตราการเรียน (learning_rate_multiplier): อัตราการเรียนกำหนดถึงความสัมพันธ์ของการอัพเดทน้ำหนักของโมเดลในแต่ละรอบ อัตราการเรียนที่สูงเกินไปอาจทำให้กระบวนการเรียนเสียสมดุล ในขณะที่อัตราที่ต่ำเกินไปอาจทำให้กระบวนการเรียนช้าลง
-
ขนาด Batch (batch_size): ขนาด batch กำหนดว่าจะพิจารณาตัวอย่างการฝึกเท่าไหร่ในแต่ละครั้ง ขนาด batch ที่ใหญ่ช่วยให้กระบวนการฝึกมีความมั่นคง แต่สามารถทำให้มีแรงกดดันที่ใช้หน่วยความจำ
การปรับ hyperparameters โดยทั่วไปจะต้องทำการทดลองซ้ำ ๆ เพื่อค้นหาผสานการ์พารามิเตอร์ที่เหมาะสมที่สุด
ตัวอย่างการเริ่มต้นงาน fine-tuning ด้วย hyperparameters:
from openai import OpenAI
client = OpenAI()
client.fine_tuning.jobs.create(
training_file="file-abc123",
model="gpt-3.5-turbo",
hyperparameters={
"n_epochs":2
}
)
พารามิเตอร์ hyperparameters ถูกใช้เพื่อตั้งค่า hyperparameters
6.2 การวนซ้ำและวิธีการปรับปรุงโมเดล
หลังจาก fine-tuning เบื้องต้น อาจจำเป็นต้องวนซ้ำเพื่อปรับปรุงประสิทธิภาพของโมเดลเพิ่มเติม นี่คือวิธีการวนซ้ำบางวิธี:
-
เพิ่มข้อมูล: หากโมเดลทำงานไม่ดีกับประเภทข้อมูลบางประเภท ลองเพิ่มตัวอย่างข้อมูลบางประเภทเพิ่มเติม
-
พิจารณาคุณภาพของข้อมูล: ตรวจสอบว่าข้อมูลการฝึกมีข้อมูลไม่ถูกต้องหรือแปลก ๆ ข้อมูลที่มีปัญหาคุณภาพนี้อาจจะทำให้โมเดลทำงานไม่ดี
-
สมดุลข้อมูล: ตรวจสอบว่าข้อมูลการฝึกมีความหลากหลายและสมดุลในหมวดหมู่และลักษณะต่าง ๆ
-
ปรับ Hyperparameters: เช่นเดียวกับที่กล่าวไว้ก่อนหน้านี้ การปรับจำนวน epochs, อัตราการเรียน และขนาด batch อาจมีผลมากต่อประสิทธิภาพของโมเดล
ผ่านวิธีการเหล่านี้ คุณสามารถปรับปรุงโมเดลที่ fine-tuned ของคุณเพื่อให้ได้ผลลัพธ์ที่ดีที่สุด
7. การประเมินและการใช้งานโมเดลที่ fine-tuned
7.1 การประเมินโมเดลที่ fine-tuned
เมื่อเราทำการ fine-tuning ของโมเดลเสร็จสิ้นแล้ว การประเมินผลการทำงานของโมเดลที่ fine-tuned เป็นสิ่งสำคัญ นี่คือวิธีการประเมินมาตรฐานบางวิธี:
-
เปรียบเทียบตัวอย่าง: ใช้ตัวอย่างทดสอบที่เตรียมไว้เพื่อเรียกโมเดลเบสและโมเดลที่ fine-tuned โดยแยกกัน จากนั้นเปรียบเทียบผลลัพธ์เพื่อประเมินประสิทธิภาพของโมเดลที่ fine-tuned
-
ค่าวัดทางสถิติ: ติดตามค่าวัดเช่น ค่าสูญเสียและความแม่นยำระหว่างกระบวนการ fine-tuning ค่าสูญเสียควรลดลงขณะฝึก ในขณะที่ความแม่นยำควรเพิ่มขึ้น
-
การทดสอบ A/B: ออกแบบการทดลอง แบ่งการถ่ายทอดการเคลื่อนไหว และเรียกวิ่งทั้งโมเดลเบสและโมเดลที่ fine-tuned พร้อมกันเพื่อสังเกตผลการทำงานในสภาพแวดล้อมจริง
-
ข้อเสนอแนะจากผู้ใช้: รวบรวมคำตอบจากผู้ใช้ที่ใช้โมเดลโดยเฉพาะสำหรับงานประมวลผลภาษาธรรมชาติ ที่ความพึงพอใจของผู้ใช้เป็นตัววัดสำคัญของประสิทธิภาพของโมเดล
7.2 วิธีการใช้งานโมเดลที่ fine-tuned
การใช้งานโมเดลที่ fine-tuned มีความง่ายมาก คุณเพียงแค่ส่งชื่อของโมเดลที่ fine-tuned ในการเรียกใช้ API เท่านั้น นี่คือตัวอย่างโค้ดในการใช้งานโมเดลที่ fine-tuned:
ตัวอย่างภาษา Python
from openai import OpenAI
client = OpenAI(api_key='Your API Key')
response = client.chat.completions.create(
model="ชื่อโมเดล",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message)
ที่นี่ เปลี่ยน "ชื่อโมเดล" เป็นชื่อเฉพาะของโมเดลที่ fine-tuned ของคุณ เช่น "ft:ชื่อโมเดล:องค์กรของคุณ:ชื่อการปรับปรุงโมเดล:รหัสของคุณ"
บทที่ 7: แนวทางที่ดีที่สุดสำหรับการปรับปรุงคุณภาพ
ในขั้นตอนของการปรับปรุงคุณภาพ เราสามารถทำตามแนวทางที่ดีที่สุดเพื่อปรับปรุงประสิทธิภาพของโมเดลได้ดังนี้:
-
คุณภาพของข้อมูล: ให้แน่ใจว่าข้อมูลการฝึกอย่างสูงและหลากหลายเพื่อหลีกเลี่ยงประสิทธิภาพของโมเดลที่ไม่ดีเนื่องจากข้อมูลที่ไม่แม่นเนื่องหรือข้อมูลเดียว
-
การกระจายของข้อมูล: ข้อมูลการฝึกควรครอบคลุมสถานการณ์ของข้อมูลที่เป็นไปได้เพื่อให้แน่ใจว่าโมเดลทำงานอย่างมีประสิทธิภาพในสถานการณ์จริง
-
การจัดการรายการส่วน: เพิ่มข้อมูลการฝึกเป็นบางขั้นและดูผลการฝึกเป็นระยะหลังจากการเพิ่มข้อมูลอย่างมากในคราวเดียว
-
การปรับแต่งพารามิเตอร์: ปรับเปลี่ยนพารามิเตอร์เช่น อัตราการเรียนรู้ ขนาดของชุดข้อมูล และจำนวนการฝึกโมเดลโดยพิจารณาจากประสิทธิภาพของโมเดล
-
การปรับปรุงโดยต่อเนื่อง: ปรับปรุงโมเดลที่ได้ผลแต่ไม่ใช่กระบวนการครั้งเดียว การปรับปรุงการฝึกโมเดลและโมเดลเป็นครั้งคราวสามารถทำให้โมเดลมีประสิทธิภาพอย่างสมบูรณ์
ปัญหาที่พบบ่อยและวิธีการแก้ไข:
-
คำถาม: ทำอย่างไรถ้าโมเดลที่ปรับปรุงคุณภาพไม่ได้ผลตามที่คาดหวัง?
- คำตอบ: ตรวจสอบอย่างรอบคอบและปรับปรุงคุณภาพและความหลากหลายของข้อมูลการฝึกและปรับเปลี่ยนกลยุทธ์การฝึกโดยพิจารณาจากผลการประเมิน
-
คำถาม: จะจัดการกับประสิทธิภาพของโมเดลที่ไม่ดีในสถานการณ์ที่เฉพาะเจาะจงอย่างไร?
- คำตอบ: เพิ่มตัวอย่างการฝึกสำหรับสถานการณ์นั้นเพื่อเสริมความสามารถในการประมวลผลของโมเดลในสถานการณ์เฉพาะเจาะจงนั้น
-
คำถาม: จะควบคุมต้นทุนในระหว่างกระบวนการปรับปรุงคุณภาพได้อย่างไร?
- คำตอบ: ประมาณการจำนวนโทเคนล่วงหน้าและประเมินต้นทุนของโมเดลที่แตกต่างกัน
โดยผสานคำแนะนำและเครื่องมือเหล่านี้คุณจะสามารถสร้างประสิทธิภาพสูงสุดของการปรับปรุงคุณภาพของโมเดลของคุณและทำให้กระบวนการปรับปรุงคุณภาพตรงกับคาดหวังและความต้องการของคุณได้ที่สุด