กําหนดจํานวนก้าวสําหรับการฝึกทํางานแต่ละครั้ง

ภาระงานการฝึกมี 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 ด้วยอัลกอริทึมการกวาดอัตราการเรียนรู้ อัลกอริทึมต่อไปนี้มีสมมติฐานว่าไม่เพียงแต่จะเหมาะกับชุดการฝึก "อย่างสมบูรณ์แบบ" เท่านั้น แต่ยังทําได้โดยการใช้กําหนดเวลาการเรียนรู้ที่สม่ําเสมอ

  1. ถ้าเป็นไปได้ที่จะเข้ากับชุดการฝึกทั้งหมดได้ดี ต้องมีการกําหนดค่า (มีค่า max_train_steps) จึงจะเหมาะกับชุดการฝึก ค้นหาการกําหนดค่าดังกล่าวและใช้ค่า max_train_steps เป็นจุดเริ่มต้น N
  2. ใช้การกวาดอัตราเรียนรู้อย่างต่อเนื่อง (กล่าวคือ ตารางค้นหาอัตราการเรียนรู้) โดยไม่มีการเพิ่มพูนข้อมูล และไม่ปรับข้อมูลตามปกติที่การทดลองใช้งานแต่ละครั้งจะเรียนรู้เป็นเวลา 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