ภาระงานการฝึกมี 2 ประเภท ได้แก่
- ขอบเขตในการประมวลผล
- ขอบเขตการคํานวณ
เซสชันการประมวลผลที่คํานวณจะจํากัดด้วยระยะเวลาที่คุณจะใช้ในการฝึกได้ ไม่ใช่ขึ้นอยู่กับจํานวนข้อมูลการฝึกหรือปัจจัยอื่นๆ หรือพูดอีกอย่างก็คือ เวลาในการฝึกอบรม "เหมาะสมที่สุด" จะเป็น "ตราบเท่าที่คุณมีเงิน" ถ้าคุณสามารถฝึกได้นานขึ้นหรือมีประสิทธิภาพมากขึ้น การฝึกที่ควรจะหายไป (เมื่อมีการปรับแต่งอย่างเหมาะสม การสูญเสีย การตรวจสอบก็อาจหายไปด้วย)
การเร่งความเร็วในการทํางานของการฝึกที่สัมพันธ์กับการประมวลผลจะเท่ากับการพัฒนาการฝึกอบรม แต่การที่ภาระงานมีขีดจํากัดในการประมวลผลไม่ได้ทําให้การฝึกเร็วขึ้นหรือเร็วขึ้นเป็นวิธีเดียวในการปรับปรุงผลลัพธ์
เมื่อการฝึกไม่ได้ผูกอยู่กับที่ การคํานวณคุณสามารถฝึกได้นานเท่าที่ต้องการ อย่างไรก็ตาม การฝึกโมเดลนานขึ้นอาจไม่ช่วยอะไรมากหรืออาจทําให้มีการใช้งานมากเกินไป เมื่อไม่มีการฝึก ขอบเขตในการประมวลผล
- คุณสามารถฝึกฝนเพื่อสูญเสียการฝึกในระดับต่ํามาก ไปจนถึงการฝึกเพิ่มเติมอาจช่วยลดการสูญเสียการฝึกอบรมเล็กน้อย แต่ไม่ได้ลดการสูญเสียการตรวจสอบอย่างมีความหมาย
- คุณสามารถปรับแต่งได้ง่ายขึ้น โดยเฉพาะอย่างยิ่งเมื่อปรับกําหนดเวลาการเรียนรู้ให้ลดลง เนื่องจากช่วงเวลาดังกล่าวมีการโต้ตอบที่ชัดเจนเป็นพิเศษกับงบประมาณการฝึกอบรม ในทางตรงกันข้าม การสูญเสียการฝึกในการฝึกเกี่ยวกับงานประมวลผลน้อยอาจต้องจัดตารางการเรียนรู้ในอัตราลดลง
ไม่ว่าภาระงานที่ระบุจะมีขอบเขตในการประมวลผลหรือไม่ วิธีที่เพิ่มความแปรปรวนของการไล่ระดับสี (ในกลุ่มต่างๆ) มักจะทําให้ความคืบหน้าในการฝึกล่าช้า ดังนั้นจึงอาจเพิ่มขั้นตอนการฝึกที่จําเป็นเพื่อให้สูญเสียการตรวจสอบที่เจาะจง ข้อใดต่อไปนี้อาจทําให้เกิด การผันแปรในการไล่ระดับสีสูง
- การใช้กลุ่มที่มีขนาดเล็กลง
- การเพิ่ม Augmented Data
- การเพิ่มการปรับข้อมูลบางประเภท (เช่น การปรับเปลี่ยนข้อมูลเป็นประจํา
เลือกระยะเวลาการฝึกเมื่อไม่มีการประมวลผลการฝึก
เป้าหมายของคุณ: ฝึกให้นานพอให้รูปแบบได้ผลลัพธ์ที่ดีที่สุด โดยไม่ต้องเสียเวลากับขั้นตอนการฝึกอบรม
เป้าหมายหลักของคุณคือการฝึกให้นานพอที่จะทําให้โมเดลไปถึงผลลัพธ์ที่ดีที่สุดโดยไม่ต้องเสียขั้นตอนการฝึกอบรมที่ไม่จําเป็น หากไม่แน่ใจ ให้ทําการฝึกอบรมควบคู่กันไปนานขึ้น เมตริกการประเมิน (เช่น ความแม่นยํา ความอ่อนไหว AUC หรือ F1) ไม่ควรลดลงเมื่อฝึกนานขึ้น สมมติว่าคุณใช้การเลือกจุดตรวจสอบย้อนหลังและคุณใช้จุดตรวจสอบบ่อยพอ
ห้ามปรับแต่งหมายเลข max_train_steps
ในการศึกษา แต่ให้เลือกค่าและใช้
ค่าเดียวกันสําหรับการทดลองทั้งหมด จากการทดลองเหล่านี้ ให้พล็อตขั้นตอนการฝึกอบรมที่ย้อนไปถึงจุดตรวจสอบที่เลือกเพื่อปรับแต่งตัวเลือกของ max_train_steps
ตัวอย่างเช่น ถ้าขั้นตอนที่ดีที่สุดอยู่ระหว่าง 10% แรกของการฝึกอบรม จํานวนสูงสุดของขั้นตอนจะสูงเกินไป
หรือหากขั้นตอนที่ดีที่สุดอยู่ในช่วง 25% ของการฝึกอบรมล่าสุด คุณอาจได้ประโยชน์จากการฝึกอบรมนานขึ้นและกําหนดช่วงเวลาลดลง
จํานวนขั้นตอนการฝึกอบรมที่เหมาะสมอาจเปลี่ยนแปลงเมื่อสถาปัตยกรรมหรือข้อมูลมีการเปลี่ยนแปลง (เช่น เพิ่มการเพิ่มข้อมูล)
ส่วนถัดไปจะอธิบายถึงวิธีเลือกค่าแรกเริ่มสําหรับ max_train_steps
โดยอิงตามขั้นตอนที่จําเป็นในการ "เหมาะสมที่สุด"
ของชุดการฝึกที่ใช้อัตราการเรียนรู้คงที่
คุณอาจลดmax_train_steps
ได้หากกระบวนการฝึกมีการปรับปรุงบางอย่าง เช่น การใช้เครื่องมือเพิ่มประสิทธิภาพที่ได้รับการปรับแต่งหรือตารางอัตราการเรียนรู้ที่ได้รับการปรับแต่งมาอย่างดี
อัลกอริทึมสําหรับการเลือกผู้สมัครเริ่มต้นสําหรับ max_train_steps โดยใช้การกวาดอัตราเรียนรู้
คุณสามารถเลือกผู้สมัครเริ่มต้นให้ max_train_steps
ด้วยอัลกอริทึมการกวาดอัตราการเรียนรู้ อัลกอริทึมต่อไปนี้มีสมมติฐานว่าไม่เพียงแต่จะเหมาะกับชุดการฝึก "อย่างสมบูรณ์แบบ" เท่านั้น แต่ยังทําได้โดยการใช้กําหนดเวลาการเรียนรู้ที่สม่ําเสมอ
- ถ้าเป็นไปได้ที่จะเข้ากับชุดการฝึกทั้งหมดได้ดี
ต้องมีการกําหนดค่า (มีค่า
max_train_steps
) จึงจะเหมาะกับชุดการฝึก ค้นหาการกําหนดค่าดังกล่าวและใช้ค่าmax_train_steps
เป็นจุดเริ่มต้นN
- ใช้การกวาดอัตราเรียนรู้อย่างต่อเนื่อง (กล่าวคือ ตารางค้นหาอัตราการเรียนรู้) โดยไม่มีการเพิ่มพูนข้อมูล และไม่ปรับข้อมูลตามปกติที่การทดลองใช้งานแต่ละครั้งจะเรียนรู้เป็นเวลา
N
ขั้นตอน จํานวนขั้นตอนที่ต้องทําเพื่อทดลองใช้อัตราการเรียนรู้แบบรวดเร็วที่สุดเพื่อให้ได้ประสิทธิภาพการฝึกอบรมที่สมบูรณ์แบบควรเป็นการคาดคะเนเบื้องต้นสําหรับmax_train_steps
หมายเหตุ: พื้นที่ที่ค้นหาได้ไม่ถูกต้องอาจนําไปสู่การหลอกลวงได้
ตัวอย่างเช่น หากอัตราการเรียนรู้ทั้งหมดในการศึกษามีขนาดเล็กเกินไป คุณอาจสรุปได้ว่าค่า max_train_steps
ที่จําเป็นมากเป็นสิ่งที่ไม่ถูกต้อง
อย่างน้อยที่สุด ให้ตรวจสอบว่าอัตราการเรียนรู้ที่เหมาะสมในการศึกษาไม่ได้อยู่ที่ขอบเขตของพื้นที่การค้นหา
กําหนดระยะเวลาการฝึกเมื่อคํานวณค่าขอบเขตการทํางาน
ในบางกรณี ความสูญเสียในการฝึกอบรมจะพัฒนาไปอย่างไม่สิ้นสุด ดังนั้นความอดทนและทรัพยากรในการคํานวณจึงกลายเป็นปัจจัยจํากัด แต่คุณควรฝึกฝนต่อไปตราบเท่าที่คุณ สามารถจ่ายได้ ไม่จำเป็นเสมอไป ลองพิจารณาสิ่งเหล่านี้
- คุณอาจปรับแต่งอย่างมีประสิทธิภาพมากขึ้นได้ด้วยการเรียกใช้การทดสอบที่สั้นกว่าจํานวนมากขึ้น สงวน "ความยาวการผลิต" ที่ยาวที่สุดสําหรับโมเดลที่คุณต้องการเปิดตัว
- เมื่อเวลาในการทดลองใกล้ถึงขีดจํากัดความอดทนของคุณ การทดสอบจึงมีความเกี่ยวข้องกับผู้สมัครการเปิดตัวที่อาจเป็นไปได้มากขึ้น แต่คุณสามารถทําการทดสอบได้น้อยลง
- คุณอาจตอบคําถามมากมายในขณะที่ฝึกอบรมประมาณ 10% ของความยาวทั้งหมด อย่างไรก็ตาม บทสรุปของคุณ ณ เวลาสูงสุดนี้อาจใช้ไม่ได้กับการทดสอบที่ 20% ของความยาวการผลิต โปรดนับเพียง 100%
การปรับแก้การเล่นหลายครั้งตามรอบที่เพิ่มขึ้นและมีขีดจํากัดการฝึก แต่ละครั้งเป็นวิธีการที่สมเหตุสมผล คุณใส่กี่รอบก็ได้ แต่ปกติแล้วรอบที่ 1-3 จะเป็นรอบที่ฝึกได้จริง โดยเฉพาะอย่างยิ่ง พยายามทําความเข้าใจปัญหาให้มากที่สุดเท่าที่จะเป็นไปได้โดยใช้การทดลอง ซึ่งให้เวลาในการดําเนินการที่เร็วมาก โดยนําสิ่งต่อไปนี้ออก
- ปรับแต่งอย่างละเอียด
- ความเกี่ยวข้องกับการเรียกใช้ขั้นสุดท้ายที่ยาวนานที่สุด
เมื่อมีการกําหนดระยะเวลาทดลองใช้ที่กําหนดได้สร้างข้อมูลเชิงลึกที่เป็นประโยชน์ ให้เพิ่มเวลาการฝึกและปรับแต่งต่อไป ให้ตรวจสอบข้อสรุปจากการทํางานที่สั้นลงตามที่จําเป็น ในเบื้องต้น เราขอแนะนําให้มีการปรับแต่ง 2 รอบดังนี้
- รอบที่ 1: ระยะเวลาสั้นลงเพื่อค้นหาพารามิเตอร์และไฮเปอร์พารามิเตอร์ของรูปแบบที่เหมาะสม
- รอบที่ 2: ระยะเวลาที่สั้นมากจะทํางานบนไฮเปอร์พารามิเตอร์ที่ดีเพื่อให้ได้โมเดลสุดท้าย
คําถามที่ใหญ่ที่สุดในรอบ 1 ถึงรอบ 2 คือ:
คุณจะปรับกําหนดเวลาลดลงอย่างไรในการเรียนรู้
ข้อผิดพลาดที่พบบ่อยข้อหนึ่งเมื่อปรับตารางเวลาการเรียนรู้ในแต่ละรอบก็คือใช้ขั้นตอนการฝึกอบรมเพิ่มเติมทั้งหมดกับอัตราการเรียนรู้ที่เล็กเกินไป
รอบที่ 1: จัดการฝึกอบรมสั้นๆ หลายครั้ง
แต่เราไม่สามารถรับประกันได้ว่าไฮเปอร์พารามิเตอร์ที่ดีซึ่งพบในการฝึกสั้นๆ ไม่สมบูรณ์ ยังเป็นทางเลือกที่ดีเมื่อเพิ่มระยะเวลาการฝึก อย่างไรก็ตาม สําหรับไฮเปอร์พารามิเตอร์ ตัวเลือกที่ดีมักมีสหสัมพันธ์มากพอที่รอบที่ 1 จะมีประโยชน์ ค่าไฮเปอร์พารามิเตอร์ใดที่พบในการเรียกใช้การเรียกใช้ที่สั้นกว่าประสบความสําเร็จในการเรียกใช้การฝึกที่นานขึ้น เราไม่ทราบ เราจําเป็นต้องศึกษาเพิ่มเติม แต่เมื่อพิจารณาจากสิ่งที่เราทราบจนถึงตอนนี้ นี่คือข้อกังขาของเราในการลดโอกาสในการโอน
- มีแนวโน้มที่จะโอนมาก ความไม่เสถียรของการฝึกแต่เนิ่นๆ สามารถแก้ไขได้
ในการปรับแต่งรอบแรกโดยใช้ขั้นตอนการฝึกอบรมที่น้อยกว่า
ไฮเปอร์พารามิเตอร์ต่อไปนี้มีแนวโน้มว่าจะโอนได้สูงสุด
- ระยะเวลาอุ่นเครื่อง
- การเริ่มต้น
- มีแนวโน้มจะโอน ชัยชนะอันยิ่งใหญ่ในสถาปัตยกรรมแบบจําลองมักจะถ่ายทอดออกมา แต่ตัวอย่างของตัวอย่างจํานวนมากอาจเป็นไปได้
- อาจทําการโอน ไฮเปอร์พารามิเตอร์ต่อไปนี้อาจมีการโอน
- อัลกอริทึมและพารามิเตอร์การเพิ่มประสิทธิภาพจะโอนอย่าง "หลวม"
- การเพิ่มข้อมูล
- ทั่วไป หากไม่สามารถจัดชุดการฝึกได้พอดี รูปแบบอาจอยู่ในระบอบที่การเกิดรูปแบบปกติอาจไม่ช่วยได้มากนัก
- ไม่น่าจะโอนได้ ตารางอัตราเรียนรู้ไม่น่าจะโอนได้สมบูรณ์แบบ การฝึกโมเดลภาษาขนาดใหญ่ที่เหมาะสมสําหรับคอมพิวเตอร์ชี้ให้เห็นว่าแม้จะเกิดการโอนย้ายข้อมูลแบบกําหนดเวลาลดลงก็ตาม แต่เราไม่เชื่อว่ากรณีนี้จะเป็นจริง ตัวอย่างเช่น การปรับแต่งตารางลดลงทีละน้อยเกี่ยวกับขั้นตอนการฝึกอบรม จากนั้นขยายเป็นปริมาณมากจะทําให้การฝึกอบรมส่วนใหญ่เกิดขึ้นได้ด้วยขั้นตอนที่เล็กเกินไป เป็นไปได้ว่าคุณอาจทํา "ได้ดีพอ" กับตารางเวลาส่วนใหญ่ในขีดจํากัดงบประมาณการฝึกแบบสุดโต่ง แต่คุณน่าจะเห็นประสิทธิภาพที่ดีขึ้นอย่างเห็นได้ชัดหากมีการปรับแต่ง การทําความเข้าใจการให้น้ําหนักพิเศษระยะสั้นใน Stochastic การเพิ่มประสิทธิภาพเมตา อธิบายถึงอันตรายของการพยายามเลือกอัตราการเรียนรู้อย่างไม่มีสาระ
รอบที่ 2: วิ่งน้อยลงแต่มีระยะเวลานานขึ้น
เรียกใช้การกําหนดค่าไฮเปอร์พารามิเตอร์ที่ดีที่สุดจากรอบที่ 1
ข้อกําหนด: 🤖 ใช้ขั้นตอนเพิ่มเติมเพื่อขยายระยะเวลาการฝึกอบรม
มีอัตราการเรียนรู้สูง เช่น หากคุณใช้กําหนดเวลาแบบเชิงเส้น ให้รักษาระยะเวลาของการลดลงให้คงที่ในรอบที่ 1 และขยายระยะเวลาของค่าคงที่ lr
ในช่วงเริ่มต้น สําหรับค่าโคไซน์ ให้เก็บฐาน lr
จากรอบที่ 1 และขยาย max_train_steps
ตามที่อธิบายไว้ใน
การฝึกโมเดลภาษาขนาดใหญ่แบบเหมาะสมสําหรับการประมวลผล
การฝึกอบรมเพิ่มเติมอาจเหมาะกับทีมที่มีสิ่งต่อไปนี้
- การสร้างแบบจําลองสําหรับผู้บรรลุนิติภาวะ
- การปรับแต่งไปป์ไลน์
- การฝึกอบรมด้านการถ่ายทําที่ยาวและมีราคาแพงมาก
อย่างไรก็ตาม การฝึกอบรมเพิ่มเติมมักไม่ก่อให้เกิดผลใดๆ
เราได้อธิบายวิธีโอนจากรอบที่ 1 ถึงรอบที่ 2 แล้ว หากคุณไม่สนใจเรื่องการวิเคราะห์และหากการใช้ประโยชน์จากทรัพยากรการประมวลผลอย่างมีประสิทธิภาพเป็นความกังวลของคุณ เราขอแนะนําให้เพิ่มระยะเวลาการฝึกอบรมเป็นทวีคูณ (และเวลาในการทําการศึกษา) ผ่านการปรับแต่งหลายรอบ
- ในแต่ละรอบ ให้ตรวจสอบอย่างเป็นระบบว่าการเลือกของคุณจะให้ผลลัพธ์ที่ดีต่อไป
- ใส่แนวคิดใหม่ๆ ผ่านไปป์ไลน์ที่ค่อยๆ เลิกใช้แนวคิดนี้ โดยใช้การทดสอบที่ทํางานต่อเนื่องมากขึ้นเรื่อยๆ จากขั้นตอนที่ 1 ไปยังขั้นตอนที่ i+1