17 คะแนน โดย GN⁺ 2024-12-20 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ModernBERT เป็นโมเดลแบบ encoder-only รุ่นใหม่ที่นำเทคโนโลยีล่าสุดมาใช้ และปรับปรุงทั้งความเร็วและความแม่นยำเมื่อเทียบกับ BERT และโมเดลรุ่นถัดมา
  • รองรับบริบทยาวถึง 8192 โทเค็น และฝึกด้วยข้อมูลโค้ดรวมอยู่ด้วย
  • ใช้งานได้ในหลายด้าน โดยเหมาะเป็นพิเศษสำหรับการค้นหาโค้ดขนาดใหญ่และฟีเจอร์ IDE แบบใหม่

บทนำ

  • BERT เปิดตัวในปี 2018 และยังคงถูกใช้อย่างแพร่หลายจนถึงปัจจุบัน โดยเหมาะอย่างยิ่งกับงานค้นหา การจัดประเภท และการดึงเอนทิตี
  • ModernBERT เป็นโมเดลทดแทน BERT ที่ปรับปรุงแบบ Pareto ทั้งด้านความเร็วและความแม่นยำ
  • ความสามารถรองรับบริบทยาวและการรวมข้อมูลโค้ดช่วยเปิดทางสู่งานประยุกต์รูปแบบใหม่

โมเดลแบบ decoder-only

  • โมเดลแบบ decoder-only เช่น GPT, Llama และ Claude เป็นโมเดลเชิงกำเนิดที่สามารถสร้างเนื้อหาคล้ายมนุษย์ได้
  • อย่างไรก็ตาม โมเดลเหล่านี้มีขนาดใหญ่ ช้า และมีค่าใช้จ่ายสูง
  • โมเดลแบบ encoder-only ใช้งานได้จริง มีประสิทธิภาพ และเหมาะกับงานจำนวนมาก

โมเดลแบบ encoder-only

  • โมเดลแบบ encoder-only แปลงอินพุตให้เป็นการแทนค่าในรูปเวกเตอร์ตัวเลข
  • โมเดลแบบ decoder-only มองไม่เห็นโทเค็นในอนาคต แต่โมเดลแบบ encoder-only สามารถมองโทเค็นได้แบบสองทิศทาง จึงมีประสิทธิภาพกว่า
  • โมเดลแบบ encoder-only ถูกใช้ในงานประยุกต์หลากหลาย โดยมีความสำคัญอย่างยิ่งใน RAG pipeline และระบบแนะนำ

ภาพรวมประสิทธิภาพ

  • ModernBERT แสดงความแม่นยำสูงในงานหลากหลายประเภท และเร็วกว่า DeBERTaV3 พร้อมใช้หน่วยความจำน้อยกว่า
  • ในการอนุมานกับบริบทยาว เร็วกว่าโมเดลคุณภาพสูงอื่น ๆ ได้สูงสุด 3 เท่า
  • ในการค้นหาโค้ด ModernBERT ให้ประสิทธิภาพโดดเด่นเป็นพิเศษ และเปิดโอกาสให้พัฒนาแอปพลิเคชันรูปแบบใหม่ได้

ประสิทธิภาพเชิงการใช้งาน

  • ModernBERT ให้ความสำคัญกับการใช้งานจริง และทำงานได้รวดเร็วกับอินพุตหลายความยาว
  • เมื่อรับอินพุตบริบทยาว จะเร็วกว่าโมเดลอื่น 2-3 เท่า
  • สามารถใช้ batch size ที่ใหญ่กว่าได้ จึงใช้งานได้อย่างมีประสิทธิภาพแม้บน GPU ขนาดเล็ก

ความทันสมัยของ ModernBERT

  • ModernBERT ปรับปรุงโมเดล encoder ด้วยการนำวิศวกรรมสมัยใหม่ล่าสุดมาใช้
  • ใช้สถาปัตยกรรม Transformer++ เพื่อยกระดับประสิทธิภาพ
  • ให้ความสำคัญกับประสิทธิภาพและขนาด/แหล่งที่มาของข้อมูลในยุคปัจจุบัน

Transformer แบบใหม่

  • ModernBERT ใช้สถาปัตยกรรม Transformer++ เพื่อยกระดับประสิทธิภาพ
  • ใช้ RoPE เพื่อปรับปรุง positional encoding และใช้เลเยอร์ GeGLU มาแทนเลเยอร์ MLP
  • ตัด bias term ที่ไม่จำเป็นออกเพื่อเพิ่มประสิทธิภาพการใช้พารามิเตอร์

อัปเกรด Honda Civic สำหรับสนามแข่ง

  • ModernBERT ให้ความสำคัญกับความเร็ว และสามารถใช้งานได้อย่างมีประสิทธิภาพในหลายรูปแบบงาน
  • ใช้ประโยชน์จากการเพิ่มความเร็วของ Flash Attention 2 เพื่อยกระดับประสิทธิภาพ
  • ลดการสูญเปล่าด้านการคำนวณผ่าน Alternating Attention, Unpadding และ Sequence Packing

ข้อควรคำนึงด้านฮาร์ดแวร์

  • ModernBERT ให้ความสำคัญกับการออกแบบให้สอดคล้องกับฮาร์ดแวร์ เพื่อให้ได้ประสิทธิภาพสูงสุดบน GPU หลากหลายประเภท
  • โมเดลถูกออกแบบโดยคำนึงถึงโครงสร้างแบบลึกและแคบ รวมถึงประสิทธิภาพด้านฮาร์ดแวร์

การฝึก

  • ModernBERT ฝึกด้วยข้อมูลจากหลายแหล่ง โดยใช้โทเค็นรวม 2 ล้านล้านโทเค็น
  • ผ่านกระบวนการฝึก 3 ขั้นตอน เพื่อให้ได้ประสิทธิภาพยอดเยี่ยมในงานหลายประเภท
  • ในช่วงเริ่มต้นของการฝึก ใช้ batch size warmup เพื่อเพิ่มความเร็ว

บทสรุป

  • ModernBERT ปรับปรุงประสิทธิภาพของโมเดลแบบ encoder-only ด้วยการใช้เทคโนโลยีล่าสุด
  • ให้ประสิทธิภาพที่แข็งแกร่งในงานหลากหลาย และมีอัตราส่วนขนาดต่อประสิทธิภาพที่น่าสนใจ
  • คาดหวังการนำไปใช้อย่างสร้างสรรค์จากชุมชน และกำลังจัดการประกวดสำหรับเดโมอยู่ในขณะนี้

1 ความคิดเห็น

 
GN⁺ 2024-12-20
ความคิดเห็นบน Hacker News
  • Jeremy จาก Answer.AI คาดหวังว่าการเปิดตัวโมเดลใหม่นี้อาจกลายเป็นรากฐานของสตาร์ทอัปและโปรเจ็กต์หลากหลายแบบ
    • สิ่งที่กล่าวถึงในบล็อกโพสต์เป็นเพียงยอดของภูเขาน้ำแข็งเท่านั้น และยังมีโอกาสมากมายในการปรับจูนโมเดลอย่างละเอียดได้ในหลายรูปแบบ
  • โมเดลแบบ encoder-only มียอดดาวน์โหลดมากกว่า 1 พันล้านครั้งต่อเดือน ซึ่งมากกว่าโมเดลแบบ decoder-only ถึงสามเท่า
    • ส่วนหนึ่งเป็นเพราะผู้ใช้ decoder ไม่ได้ใช้ Hugging Face แต่ใช้การเรียก API แทน และอีกส่วนหนึ่งเป็นเพราะ encoder คือฮีโร่เบื้องหลังของแอปพลิเคชัน ML จริงจังส่วนใหญ่
    • หากต้องการทำ ranking, recommendation, RAG และงานลักษณะคล้ายกัน ก็จำเป็นต้องใช้ encoder และโดยทั่วไปจะใช้โมเดลตระกูล BERT, RoBERTa, ALBERT
  • เมื่อไม่กี่ปีก่อน ตอนที่ใช้โมเดล BERT กับงานอย่างการสรุปความ มันให้ความรู้สึกราวกับปาฏิหาริย์
    • ตั้งใจจะรอจนกว่า Ollama จะเพิ่มมันเข้าไปในไลบรารี และความเร็วที่ดีขึ้นของ LLM ในช่วงหลังมานี้ก็น่าประทับใจมาก
    • Apple รองรับโมเดล BERT ใน SDK สำหรับนักพัฒนามาโดยตลอด และก็น่าสงสัยว่าจะอัปเดตด้วยเทคโนโลยีใหม่นี้ได้เร็วแค่ไหน
  • หลังจากอ่านงานวิจัยแล้ว รู้สึกประทับใจกับการเพิ่ม local attention layer
    • เคยทดลองกับคลังของ Lucidrains มาหลายปี และแปลกใจที่แนวทางนี้ไม่ได้พัฒนาไปไกลกว่านี้
    • ความเร็วในการอนุมานยอดเยี่ยมมาก และมีการปรับปรุงหลายอย่าง เช่น การตัด NSP ออก การเพิ่ม masking รวมถึง RoPE และคอนเท็กซ์ที่ยาวขึ้น
    • อยากสร้าง "ModernTinyBERT" แต่เลเยอร์ต่าง ๆ พันกันซับซ้อนจนทำได้ยาก
  • สงสัยว่าในปัจจุบันโมเดล BERT ถูกใช้งานอยู่ที่ไหนบ้าง
    • เข้าใจว่ามันเป็นทางเลือกที่ดีกว่า LLM สำหรับบางงานเฉพาะ และสามารถเข้าใจบริบทได้ดีกว่าในแบบสองทิศทาง
    • แต่ LLM เองก็ทรงพลังมากเช่นกัน จนอาจทำให้ความแตกต่างมีน้อย
  • สงสัยว่าสามารถนำโมเดลนี้ไปปรับจูนอย่างละเอียดด้วย SentenceTransformers ได้หรือไม่
    • มี ColBERT รวมอยู่ใน benchmark และสงสัยว่า answerai-colbert-small-v2 จะออกมาเร็ว ๆ นี้หรือไม่
  • สงสัยว่ามีใครเห็นการประเมิน RAG ของ ModernBERT บ้างหรือยัง
  • ทีมของ Answer.ai ทำผลงานได้ดีมากในวันนี้ และมีการชื่นชม Jeremy กับทีมว่าเยี่ยมมาก
  • สงสัยว่าโมเดลนี้รองรับเฉพาะภาษาอังกฤษหรือไม่ และมีแผนจะเผยแพร่โมเดลพหุภาษา หรือโมเดลภาษาเดียวสำหรับภาษาอื่น ๆ หรือไม่
  • น่าเสียดายที่ไม่ได้ตั้งชื่อโมเดลว่า ERNIE ทั้งที่เป็นโอกาสที่พลาดไป