โมเดลและแพลตฟอร์ม AI

UltraFastBERT : การแนะนำโมเดลภาษาที่เร็วขึ้นแบบชี้กำลัง

mm
เพิ่ม Unite.AI ลงในแหล่งข้อมูลที่คุณต้องการบน Google

โมเดลภาษาและ AI ที่สร้างขึ้นซึ่งเป็นที่รู้จักในด้านความสามารถของพวกมัน เป็นหัวข้อที่ร้อนแรงในอุตสาหกรรม AI นักวิจัยทั่วโลกกำลังเพิ่มประสิทธิภาพและความสามารถของระบบเหล่านี้ ระบบเหล่านี้โดยทั่วไปเป็นโมเดลการเรียนรู้เชิงลึกที่ได้รับการฝึกอบรมบนข้อมูลที่มีฉลากอย่างกว้างขวาง โดยรวมถึงโครงข่ายประสาทที่มีการให้ความสนใจตนเองเพื่อประมวลผลข้อความเข้าและผลิตผลลัพธ์ที่เกี่ยวข้อง

โดยทั่วไปแล้ว ชั้นฟีดฟอร์เวิร์ดของโมเดลภาษาขนาดใหญ่จะเก็บพารามิเตอร์ส่วนใหญ่ของโมเดล การศึกษาบางอย่างแสดงให้เห็นว่าโมเดลเหล่านี้ใช้เพียงเศษเสี้ยวของนิวรอนที่มีอยู่สำหรับการคำนวณเอาต์พุตระหว่างการอนุมาน

บทความนี้แนะนำ UltraFastBERT ซึ่งเป็นเฟรมเวิร์กที่ใช้ BERT ที่ตรงกับความสามารถของโมเดล BERT ที่นำมาใช้ แต่ใช้นิวรอนเพียง 0.3% เท่านั้นระหว่างการอนุมาน โดยเฉพาะ 12 นิวรอนจากทั้งหมด 4095 นิวรอนในแต่ละชั้น เราจะสำรวจสถาปัตยกรรม การทำงาน และผลลัพธ์ของ UltraFastBERT มาเริ่มกันเลย

UltraFastBERT : การแนะนำโมเดลภาษาที่เร็วขึ้นแบบชี้กำลัง

โดยทั่วไปแล้ว โมเดลภาษาจะใช้ส่วนประกอบต่างๆ เพื่อให้สามารถสร้างเนื้อหาที่มีคุณภาพได้ รวมถึงชั้นฟีดฟอร์เวิร์ด ชั้นเรคคอร์เรนต์ ชั้นเอ็มเบ็ด และชั้นการให้ความสนใจตนเอง ส่วนประกอบเหล่านี้มีหน้าที่ในการเรียนรู้รูปแบบระหว่างการฝึกอบรม และสร้างเอาต์พุตที่แม่นยำตามข้อความเข้า

ในแก่นแท้ของ UltraFastBERT เป็นรูปแบบหนึ่งของ BERT ที่สร้างขึ้นโดยใช้แนวคิดที่ชั้นฟีดฟอร์เวิร์ดไม่ได้ใช้นิวรอน 100% ที่มีอยู่เพื่อสร้างเอาต์พุตสำหรับการเข้าระหว่างการอนุมาน ซึ่งนำไปสู่การเสียทรัพยากรที่เพิ่มความซับซ้อน เวลาในการคำนวณ และต้นทุนการคำนวณ

เมื่อพิจารณาจากชั้นฟีดฟอร์เวิร์ดที่รวดเร็ว (FFF) และชั้นฟีดฟอร์เวิร์ด (FF) แต่ละชั้นมีนิวรอนจำนวน n ความซับซ้อนของการผ่านไปข้างหน้าในชั้นฟีดฟอร์เวิร์ดคือ O(n) ในขณะที่ความซับซ้อนของการผ่านไปข้างหน้าในชั้นฟีดฟอร์เวิร์ดที่รวดเร็วก็คือ O(log2n) ความแตกต่างในความซับซ้อนเกิดจากการที่ในชั้นฟีดฟอร์เวิร์ดที่รวดเร็ว นิวรอนจะถูกจัดระเบียบเป็นต้นไม้แบบทวินามที่สมดุล และเมื่อได้รับข้อมูลเข้า ชั้นจะทำงานเฉพาะสาขาหนึ่งของต้นไม้ตามเงื่อนไข

เพื่อสรุป UltraFastBERT เป็นเฟรมเวิร์กที่ใช้ BERT ที่ให้ผลลัพธ์ที่เทียบเท่ากับโมเดล BERT ที่นำมาใช้ ซึ่ง

  1. ใช้นิวรอนเพียง 0.3% เท่านั้นระหว่างการอนุมาน และใช้นิวรอนเพียง 12 นิวรอนจากทั้งหมด 4095 นิวรอนในแต่ละชั้น
  2. ให้ประสิทธิภาพที่แข็งแกร่งเทียบเท่ากับโมเดล BERT ที่นำมาใช้ โดยการนำยุทธวิธีการปรับให้เหมาะสมบนงานที่มีไกล่เกลี่ย
  3. ให้การนำไปใช้แบบพื้นเมืองของ CMM หรือการคูณเมทริกซ์แบบมีเงื่อนไข ซึ่งเป็นพื้นฐานของชั้นฟีดฟอร์เวิร์ดที่รวดเร็ว และนำไปสู่การเร่งความเร็ว 78 เท่าเมื่อเทียบกับการคูณเมทริกซ์แบบหนาแน่นที่ได้รับการปรับให้เหมาะสม

ชั้นฟีดฟอร์เวิร์ดของโครงข่ายประสาท

ชั้นฟีดฟอร์เวิร์ดของโครงข่ายประสาทเป็นหนึ่งในโครงข่ายประสาทเทียมที่ตรงไปตรงมาที่สุด ซึ่งเคลื่อนข้อมูลไปข้างหน้าจากโหนดเข้าไปยังโหนดออกผ่านโหนดซ่อนเร้น

โครงข่ายประสาทเทียมชั้นฟีดฟอร์เวิร์ดประกอบด้วยสามส่วนหลัก ได้แก่ ชั้นเข้า ชั้นซ่อนเร้น และชั้นออก แต่ละชั้นประกอบด้วยหน่วยที่เรียกว่านิวรอน และแต่ละชั้นเชื่อมต่อกับชั้นอื่นผ่านน้ำหนัก

การเคลื่อนไปข้างหน้าในชั้นฟีดฟอร์เวิร์ดประกอบด้วยสองขั้นตอนหลัก ได้แก่ ขั้นฟีดฟอร์เวิร์ดและขั้นแบ็คโปรปาเกชัน

ขั้นฟีดฟอร์เวิร์ด

ในขั้นฟีดฟอร์เวิร์ด ข้อมูลเข้าจะถูกป้อนเข้าไปในชั้น และเคลื่อนไปข้างหน้า ชั้นซ่อนเร้นจะคำนวณผลรวมที่มีน้ำหนักของข้อมูลเข้า และนำผลรวมผ่านฟังก์ชันการกระตุ้นเพื่อแนะนำการไม่เชื่อง线ในแบบจำลอง

ขั้นแบ็คโปรปาเกชัน

หลังจากที่แบบจำลองทำการคาดการณ์แล้ว จะคำนวณข้อผิดพลาดระหว่างเอาต์พุตที่สร้างขึ้นและเอาต์พุตที่คาดหวัง ข้อผิดพลาดจะถูกส่งกลับไปข้างหลังผ่านชั้น และชั้นจะใช้อัลกอริทึมการปรับให้เหมาะสมแบบการลื่นไถลของเกรเดียนต์ในการปรับน้ำหนักเพื่อลดข้อผิดพลาด

UltraFastBERT : สถาปัตยกรรมและวิธีการทำงาน

เฟรมเวิร์ก UltraFastBERT ถูกสร้างขึ้นโดยใช้สถาปัตยกรรม CrammedBERT และใช้ส่วนประกอบทั้งหมดของ CrammedBERT ยกเว้นลักษณะของชั้นกลาง

การแทรกแซง

การแทรกแซงเป็นส่วนสำคัญของชั้นฟีดฟอร์เวิร์ดที่รวดเร็ว และชั้นเหล่านี้เป็นส่วนสำคัญของโมเดลภาษาขนาดใหญ่ ซึ่งรู้จักกันในด้านศักยภาพการเร่งความเร็วที่น่าประทับใจ

อัลกอริทึมและความเข้ากันได้

เฟรมเวิร์ก UltraFastBERT ใช้อัลกอริทึมพิเศษสำหรับการแทรกแซงชั้นฟีดฟอร์เวิร์ดที่รวดเร็ว และอัลกอริทึมจะแสดงไว้ในรูปด้านล่าง

ที่นี่ B แทนขนาดของแบตช์ H แทนความกว้างของชั้นเข้า และ M แทนคอลัมน์

UltraFastBERT : ประสิทธิภาพและผลลัพธ์

เราจะพูดถึงประสิทธิภาพของเฟรมเวิร์ก UltraFastBERT สำหรับการปรับให้เหมาะสมและการแทรกแซงเพื่อวิเคราะห์ว่าเฟรมเวิร์กนี้มีประสิทธิภาพเทียบเท่ากับโมเดลภาษาที่นำมาใช้หรือไม่

ผลลัพธ์การปรับให้เหมาะสม

ตารางต่อไปนี้แสดงถึงประสิทธิภาพของโมเดลต่างๆ บนชุดข้อมูลทดสอบ GLUE-dev

เมื่อดูจากตารางแล้ว จะเห็นว่าเฟรมเวิร์ก UltraFastBERT ที่ได้รับการฝึกอบรมบน GPU A6000 เป็นเวลา 24 ชั่วโมง สามารถรักษาความสามารถในการคาดการณ์บนงานที่มีไกล่เกลี่ย GLUE ได้ถึง 96% เมื่อเทียบกับเฟรมเวิร์ก BERT เดิม

ผลลัพธ์การแทรกแซง

ในขั้นตอนนี้ เราจะเปรียบเทียบประสิทธิภาพของชั้นฟีดฟอร์เวิร์ดและชั้นฟีดฟอร์เวิร์ดที่รวดเร็วบนการแทรกแซง

ความคิดสุดท้าย

ในบทความนี้ เราได้พูดถึง UltraFastBERT ซึ่งเป็นรูปแบบหนึ่งของ BERT ที่สร้างขึ้นโดยใช้แนวคิดที่ชั้นฟีดฟอร์เวิร์ดไม่ได้ใช้นิวรอน 100% ที่มีอยู่เพื่อสร้างเอาต์พุตสำหรับการเข้าระหว่างการอนุมาน ซึ่งนำไปสู่การเสียทรัพยากรที่เพิ่มความซับซ้อน เวลาในการคำนวณ และต้นทุนการคำนวณ

ด้วยการนำไปใช้ของ UltraFastBERT ซึ่งใช้นิวรอนเพียง 0.3% เท่านั้นระหว่างการอนุมาน และสามารถให้ประสิทธิภาพที่แข็งแกร่งเทียบเท่ากับโมเดล BERT ที่นำมาใช้ และสามารถให้การเร่งความเร็ว 78 เท่าเมื่อเทียบกับการอนุมาน

Kunal Kejriwal เป็นวิศวกรแบ็กเอนด์ที่เชี่ยวชาญด้าน Python, PostgreSQL, Redis และโครงสร้างพื้นฐานคลาวด์บน GCP และ AWS. ด้วยประสบการณ์สามปีในการสร้างและขยายระบบการผลิต เขาเขียนเกี่ยวกับโครงสร้างพื้นฐาน AI, ระบบกระจาย, และสถาปัตยกรรมที่อยู่เบื้องหลังการปรับใช้งานแมชชีนเลิร์นนิง