ทำลายกำแพงลำดับ: FFN Fusion ของ NVIDIA เพิ่มพลัง LLM

ความท้าทายด้านการคำนวณของ AI สมัยใหม่

แบบจำลองภาษาขนาดใหญ่ (Large language models - LLMs) เปรียบเสมือนเสาหลักของปัญญาประดิษฐ์ร่วมสมัย แสดงให้เห็นถึงความสามารถอันน่าทึ่งที่กำลังปรับเปลี่ยนโฉมอุตสาหกรรมและการค้นพบทางวิทยาศาสตร์ ความเชี่ยวชาญในการสร้างข้อความที่เหมือนมนุษย์ การขับเคลื่อนแชทบอทที่ซับซ้อน และแม้กระทั่งการช่วยเหลืองานวิจัยที่ซับซ้อน ทำให้ LLMs กลายเป็นเครื่องมือที่ขาดไม่ได้ หัวใจสำคัญของแบบจำลองอันทรงพลังเหล่านี้คือสถาปัตยกรรม transformer ซึ่งเป็นดีไซน์ที่มีลักษณะเฉพาะคือชั้น (layers) ที่สลับกันไปมา ข้อมูลนำเข้า (input data) ซึ่งถูกแบ่งออกเป็นโทเค็น (tokens) จะไหลผ่านลำดับของกลไก attention ซึ่งทำหน้าที่ให้น้ำหนักความสำคัญของโทเค็นต่างๆ ตามด้วยเครือข่าย feed-forward (FFNs) ซึ่งประมวลผลข้อมูลที่รวบรวมได้ การประมวลผลแบบเป็นลำดับชั้น (layered, sequential processing) นี้เป็นพื้นฐานสำคัญของวิธีการที่ transformer เรียนรู้และสร้างผลลัพธ์

อย่างไรก็ตาม สถาปัตยกรรมแบบนี้ แม้จะมีประสิทธิภาพ แต่ก็นำเสนอความท้าทายที่เพิ่มมากขึ้นเมื่อแบบจำลองมีขนาดและความซับซ้อนเพิ่มขึ้น ธรรมชาติของการประมวลผลแบบลำดับหมายความว่าโดยทั่วไปแล้วแต่ละชั้นจะต้องรอให้ชั้นก่อนหน้าคำนวณเสร็จสิ้นก่อนจึงจะเริ่มได้ การประมวลผลทีละขั้นตอนเช่นนี้สร้างคอขวด (bottleneck) โดยธรรมชาติ โดยเฉพาะอย่างยิ่งในช่วง inference ซึ่งเป็นขั้นตอนที่แบบจำลองที่ฝึกฝนแล้วถูกนำมาใช้จริงเพื่อสร้างการคาดการณ์หรือข้อความ เมื่อแบบจำลองอย่างเช่นที่ขับเคลื่อนผู้ช่วย AI ขั้นสูงมีพารามิเตอร์หลายแสนล้าน หรือแม้กระทั่งหลายล้านล้านพารามิเตอร์ ทรัพยากรการคำนวณและเวลาที่ต้องใช้สำหรับ inference ก็เพิ่มสูงขึ้นอย่างมาก ความต้องการที่เพิ่มสูงขึ้นนี้ส่งผลให้เกิด latency (ความล่าช้าในการตอบสนอง) ที่สำคัญ throughput (จำนวนคำขอที่จัดการได้ในช่วงเวลาหนึ่ง) ที่ลดลง และต้นทุนการดำเนินงานที่เพิ่มสูงขึ้น ซึ่งเป็นอุปสรรคต่อการนำไปใช้งานอย่างแพร่หลายและการประยุกต์ใช้ LLMs ที่ทรงพลังที่สุดแบบเรียลไทม์ ด้วยเหตุนี้ การเพิ่มประสิทธิภาพของ inference จึงกลายเป็นข้อกังวลสูงสุดในชุมชนวิจัย AI กระตุ้นให้เกิดการแสวงหากลยุทธ์เชิงนวัตกรรมที่สามารถปรับปรุงการคำนวณให้มีประสิทธิภาพยิ่งขึ้นโดยไม่ลดทอนประสิทธิภาพอันน่าทึ่งที่แบบจำลองเหล่านี้นำเสนอ ความท้าทายหลักอยู่ที่การลดข้อจำกัดที่เกิดจากการประมวลผลแบบลำดับ โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมแบบกระจาย (distributed environments) ที่การคำนวณครอบคลุม GPU หลายตัว ซึ่งเพิ่มค่าใช้จ่ายในการสื่อสาร (communication overhead) เข้าไปในเวลาประมวลผล

สำรวจภูมิทัศน์การเพิ่มประสิทธิภาพ: เครื่องมือที่มีอยู่และข้อจำกัด

ในความพยายามอย่างต่อเนื่องที่จะทำให้ LLMs มีขนาดเล็กลงและเร็วขึ้น นักวิจัยได้พัฒนาชุดเครื่องมือเทคนิคการเพิ่มประสิทธิภาพขึ้นมา แต่ละวิธีนำเสนอหนทางสู่ประสิทธิภาพ แต่ก็มักจะมาพร้อมกับข้อแลกเปลี่ยนของตัวเอง ทำให้ไม่มีวิธีใดวิธีหนึ่งเป็นโซลูชันสากล การทำความเข้าใจข้อแลกเปลี่ยนเหล่านี้มีความสำคัญอย่างยิ่งต่อการตระหนักถึงความจำเป็นในการใช้วิธีการใหม่ๆ เช่น FFN Fusion

เทคนิคที่โดดเด่นอย่างหนึ่งคือ quantization ซึ่งเกี่ยวข้องกับการลดความแม่นยำของตัวเลขที่ใช้แทนค่าน้ำหนัก (weights) และค่ากระตุ้น (activations) ของแบบจำลอง แทนที่จะใช้เลขทศนิยมแบบ 32 บิตมาตรฐาน แบบจำลองอาจใช้การแทนค่าแบบ 16 บิต 8 บิต หรือแม้กระทั่งต่ำกว่านั้น ซึ่งจะช่วยลดขนาดหน่วยความจำ (memory footprint) ของแบบจำลองโดยตรง และสามารถเร่งความเร็วในการคำนวณได้อย่างมีนัยสำคัญ เนื่องจากการดำเนินการกับตัวเลขที่มีความแม่นยำต่ำกว่ามักจะเร็วกว่าและใช้พลังงานน้อยกว่า อย่างไรก็ตาม quantization ก็มีความเสี่ยง การลดความแม่นยำอาจทำให้ข้อมูลสูญหาย ซึ่งอาจลดทอนความแม่นยำของแบบจำลองได้ ความเสี่ยงนี้จะเด่นชัดมากขึ้นเมื่อใช้ความกว้างบิตที่ต่ำมาก ซึ่งต้องมีการนำไปใช้อย่างระมัดระวังและบางครั้งต้องฝึกฝนใหม่ (retraining) เพื่อลดการสูญเสียความแม่นยำ ความท้าทายอยู่ที่การหาจุดที่เหมาะสมที่สุดที่เพิ่มประสิทธิภาพสูงสุดในขณะที่รักษาการลดลงของประสิทธิภาพให้อยู่ในเกณฑ์ที่ยอมรับได้

กลยุทธ์ทั่วไปอีกอย่างคือ pruning เทคนิคนี้ทำงานบนหลักการที่ว่าพารามิเตอร์จำนวนมากภายในเครือข่ายประสาทเทียมขนาดใหญ่อาจซ้ำซ้อนหรือไม่ค่อยมีส่วนช่วยในผลลัพธ์สุดท้าย อัลกอริทึม pruning จะระบุและลบการเชื่อมต่อหรือเซลล์ประสาท (neurons) ที่มีความสำคัญน้อยเหล่านี้ออก ส่งผลให้ได้แบบจำลองที่เล็กลงและเบาบางลง (sparser model) เช่นเดียวกับ quantization การ pruning ช่วยลดความต้องการหน่วยความจำและภาระการคำนวณ อย่างไรก็ตาม การระบุอย่างแม่นยำว่าพารามิเตอร์ใดที่ ‘ปลอดภัย’ ที่จะลบออกนั้นซับซ้อน การ pruning ที่รุนแรงเกินไปอาจลบส่วนประกอบที่สำคัญออกไปโดยไม่ได้ตั้งใจ นำไปสู่การสูญเสียความแม่นยำอย่างมาก การปรับละเอียด (fine-tuning) แบบจำลองหลังจากการ pruning มักมีความจำเป็นเพื่อกู้คืนประสิทธิภาพ ซึ่งเพิ่มความซับซ้อนให้กับกระบวนการทำงาน การปรับเทียบอย่างระมัดระวังเป็นสิ่งจำเป็นเพื่อให้แน่ใจว่าแบบจำลองที่ถูก prune แล้วยังคงมีประสิทธิภาพ

แนวทางที่แตกต่างทางสถาปัตยกรรมมากขึ้นคือแบบจำลอง Mixture-of-Experts (MoE) แทนที่จะประมวลผลทุกอินพุตผ่านเครือข่ายทั้งหมด แบบจำลอง MoE ประกอบด้วยเครือข่ายย่อย ‘ผู้เชี่ยวชาญ’ (expert sub-networks) หลายเครือข่าย (โดยทั่วไปคือ FFNs) สำหรับแต่ละโทเค็นอินพุต กลไก gating จะเลือกชุดย่อยเล็กๆ ของผู้เชี่ยวชาญเหล่านี้แบบไดนามิกเพื่อทำการคำนวณ การคำนวณแบบมีเงื่อนไข (conditional computation) นี้หมายความว่ามีเพียงส่วนหนึ่งของพารามิเตอร์ทั้งหมดของแบบจำลองเท่านั้นที่ถูกเปิดใช้งานสำหรับอินพุตใดๆ ซึ่งนำไปสู่การประหยัดการคำนวณอย่างมีนัยสำคัญ โดยเฉพาะอย่างยิ่งในระหว่างการฝึกและการ inference บนแบบจำลองขนาดใหญ่มาก แบบจำลอง MoE สามารถขยายขนาดได้ถึงหลายล้านล้านพารามิเตอร์ในขณะที่ยังคงรักษาต้นทุนการคำนวณที่สมเหตุสมผล อย่างไรก็ตาม ประสิทธิภาพของมันขึ้นอยู่กับภาระงาน (workload) เป็นอย่างมาก มันทำงานได้ดีเยี่ยมในการจัดการกับขนาด batch ที่ใหญ่มาก ซึ่งรูปแบบการเปิดใช้งานแบบเลือก (selective activation pattern) นำไปสู่การใช้ฮาร์ดแวร์ที่ดี ที่ขนาด batch ที่เล็กกว่าหรือปานกลาง แบบจำลอง MoE อาจประสบปัญหาการใช้ทรัพยากรการคำนวณไม่เต็มที่ เนื่องจากฮาร์ดแวร์แบบขนานอาจไม่ถูกใช้งานอย่างต่อเนื่องโดยผู้เชี่ยวชาญที่เปิดใช้งานอย่างเบาบาง นอกจากนี้ การนำไปใช้และการทำ load-balancing ของแบบจำลอง MoE อาจซับซ้อนกว่าการปรับใช้สถาปัตยกรรม ‘dense’ มาตรฐาน

ในขณะที่ quantization, pruning และแบบจำลอง MoE แสดงถึงความก้าวหน้าอันมีค่าในการเพิ่มประสิทธิภาพ LLM ข้อจำกัดโดยธรรมชาติของพวกมันเน้นย้ำถึงความจำเป็นในกลยุทธ์ทางเลือกหรือกลยุทธ์เสริม การแสวงหายังคงดำเนินต่อไปสำหรับวิธีการที่สามารถให้การปรับปรุงประสิทธิภาพในวงกว้างในสถานการณ์ต่างๆ โดยควรมีการประนีประนอมน้อยลงต่อความแม่นยำหรือความซับซ้อนในการนำไปใช้ โดยเฉพาะอย่างยิ่งสำหรับสถาปัตยกรรมแบบจำลอง dense ที่ยังคงได้รับความนิยมเนื่องจากความเรียบง่ายในการฝึกและการปรับใช้

FFN Fusion: คิดใหม่เรื่องการทำงานแบบขนานใน Transformers

ท่ามกลางภูมิทัศน์ของเทคนิคการเพิ่มประสิทธิภาพนี้ นักวิจัยที่ NVIDIA ได้นำเสนอแนวทางใหม่ที่น่าสนใจเรียกว่า FFN Fusion เทคนิคนี้เผชิญหน้าโดยตรงกับคอขวดแบบลำดับที่มีอยู่ในสถาปัตยกรรม transformer ไม่ใช่โดยการเปลี่ยนแปลงพารามิเตอร์หรือการเปิดใช้งานส่วนต่างๆ แบบเลือก แต่โดยการคิดใหม่โดยพื้นฐานเกี่ยวกับวิธีการที่ลำดับของการคำนวณสามารถทำให้เป็นแบบขนานได้ นวัตกรรมนี้เกิดจากการสังเกตที่สำคัญเกี่ยวกับพฤติกรรมของ FFN layers ภายในแบบจำลอง transformer ที่ลึก

โดยใช้เครื่องมือวินิจฉัยชื่อ Puzzle นักวิจัยได้วิเคราะห์การทำงานภายในของแบบจำลองขนาดใหญ่ เมื่อพวกเขาทดลองลบ attention layers ออก พวกเขาสังเกตเห็นว่าแบบจำลองมักจะยังคงรักษาลำดับที่ยาวน่าประหลาดใจของ FFN layers ที่ต่อเนื่องกัน ที่สำคัญกว่านั้น การวิเคราะห์เผยให้เห็นว่าการคำนวณที่ดำเนินการโดย FFNs ที่อยู่ติดกันเหล่านี้มักแสดงให้เห็นถึงการพึ่งพากันน้อยที่สุด (minimal interdependency) โดยพื้นฐานแล้ว ผลลัพธ์ของ FFN หนึ่งในลำดับมักไม่ได้เปลี่ยนแปลงทิศทางหรือข้อมูลหลักที่จำเป็นโดย FFN ที่ตามมาทันทีอย่างมาก สิ่งนี้ชี้ให้เห็นว่า FFNs เหล่านี้ ซึ่งตามปกติแล้วจะถูกดำเนินการทีละตัว อาจมีศักยภาพในการดำเนินการพร้อมกันแบบขนาน โดยไม่รบกวนการทำงานโดยรวมของแบบจำลองอย่างมีนัยสำคัญ

ข้อมูลเชิงลึกนี้ก่อตัวเป็นรากฐานของ FFN Fusion แนวคิดหลักนั้นเรียบง่ายแต่ทรงพลัง: ระบุลำดับของ FFN layers ที่ต่อเนื่องกันซึ่งมีการพึ่งพาทางการคำนวณต่ำ และรวมพวกมันเข้าเป็น FFN layer เดียวที่กว้างขึ้น ซึ่งทำการคำนวณที่เทียบเท่ากันแบบขนาน แทนที่จะเป็นห่วงโซ่เช่น Input -> FFN1 -> FFN2 -> FFN3 -> Output โครงสร้างที่รวมกัน (fused structure) จะกลายเป็น Input -> Fused_FFN (เทียบเท่ากับ FFN1+FFN2+FFN3 แบบขนาน) -> Output การแปลงสถาปัตยกรรมนี้ช่วยลดความลึกตามลำดับ (sequential depth) ของเครือข่ายได้อย่างมีประสิทธิภาพ โดยแทนที่หลายขั้นตอนด้วยขั้นตอนการคำนวณเดียวที่กว้างขึ้น โดยการกำหนดเป้าหมายไปที่ลำดับ FFN ที่มีการพึ่งพาต่ำเหล่านี้ FFN Fusion มีเป้าหมายเพื่อลด latency และต้นทุนการคำนวณในขณะที่ยังคงรักษาพลังในการแทนค่า (representational power) และความแม่นยำของแบบจำลองไว้ การพัฒนา Ultra-253B-Base จาก Llama-3.1-405B-Instruct ทำหน้าที่เป็นเครื่องพิสูจน์ที่สำคัญถึงศักยภาพของเทคนิคนี้

การเล่นแร่แปรธาตุทางสถาปัตยกรรม: FFN Fusion ทำงานอย่างไร

ความมหัศจรรย์เบื้องหลัง FFN Fusion อยู่ที่การจัดการโครงสร้างทางคณิตศาสตร์พื้นฐานของเครือข่าย feed-forward อย่างชาญฉลาด มันไม่ใช่แค่การรัน layers ที่มีอยู่เคียงข้างกันเท่านั้น แต่ยังเกี่ยวข้องกับการสร้าง layer ใหม่ที่เป็นหนึ่งเดียว ซึ่งจำลองพฤติกรรมโดยรวมของลำดับดั้งเดิม แต่ทำพร้อมกัน

พิจารณาลำดับของ FFN layers k ชั้นที่ต่อเนื่องกัน ใน transformer มาตรฐาน อินพุต x จะผ่าน FFN1 ผลลัพธ์ของมันจะกลายเป็นอินพุตสำหรับ FFN2 และต่อไปเรื่อยๆ จนถึง FFNk แต่ละขั้นตอนขึ้นอยู่กับการเสร็จสิ้นของขั้นตอนก่อนหน้าอย่างชัดเจน FFN Fusion ทำลายห่วงโซ่การพึ่งพานี้ ในทางคณิตศาสตร์ FFN โดยทั่วไปเกี่ยวข้องกับการแปลงเชิงเส้น (linear transformations) สองครั้งพร้อมกับฟังก์ชันกระตุ้นที่ไม่ใช่เชิงเส้น (non-linear activation function) (เช่น GeLU หรือ SwiGLU) อยู่ระหว่างกลาง: FFN(x) = W_out * Activation(W_in * x) FFN Fusion ใช้ประโยชน์จากข้อเท็จจริงที่ว่าการแปลงเชิงเส้นมักจะสามารถรวมกันได้

กระบวนการ fusion ทำงานโดย การต่อเมทริกซ์น้ำหนัก (concatenating the weights) ของ FFN layers แต่ละชั้น โดยเฉพาะอย่างยิ่ง เมทริกซ์น้ำหนักอินพุต (W_in) ของ FFNs ที่ต่อเนื่องกันจะถูกรวมเข้าด้วยกัน (เช่น แบบ block-diagonal) เป็นเมทริกซ์น้ำหนักอินพุตเดียวที่ใหญ่ขึ้นสำหรับ layer ที่รวมกัน ในทำนองเดียวกัน เมทริกซ์น้ำหนักเอาต์พุต (W_out) จะถูกต่อกันเพื่อสร้างเมทริกซ์น้ำหนักเอาต์พุตเดียวที่กว้างขึ้น ฟังก์ชันกระตุ้นจะถูกนำไปใช้แบบ element-wise ภายในโครงสร้างที่ใหญ่ขึ้นนี้ การสร้างนี้ทำให้มั่นใจได้ว่า FFN ที่รวมกันจะทำงานกับอินพุตดั้งเดิม x พร้อมกันผ่านเส้นทางคู่ขนานที่สอดคล้องกับ FFNs ดั้งเดิม ผลลัพธ์จากเส้นทางคู่ขนานเหล่านี้จะถูกรวมเข้าด้วยกันโดยปริยายโดยโครงสร้างของเมทริกซ์น้ำหนักเอาต์พุตที่ต่อกัน

พื้นฐานทางทฤษฎียืนยันว่าโครงสร้างที่รวมกันนี้สามารถรักษาความสามารถในการแทนค่า (representational capacity) ได้เช่นเดียวกับลำดับดั้งเดิมของ FFNs หากการพึ่งพาระหว่าง layers ดั้งเดิมนั้นต่ำจริงๆ กุญแจสำคัญคือการระบุว่าลำดับ ใด เหมาะสมสำหรับการ fusion เพื่อทำสิ่งนี้อย่างเป็นระบบ นักวิจัยของ NVIDIA ได้ใช้เทคนิค การวิเคราะห์การพึ่งพา (dependency analysis) พวกเขาวัด ระยะทางโคไซน์ (cosine distance) ระหว่างสถานะซ่อนเร้น (hidden states) ของเอาต์พุตของ FFN layers ที่ต่อเนื่องกันสำหรับชุดโทเค็นอินพุตตัวแทน ระยะทางโคไซน์ที่เล็กบ่งชี้ว่าเวกเตอร์เอาต์พุตของ FFN หนึ่งชี้ไปในทิศทางที่คล้ายกันมากกับเวกเตอร์เอาต์พุตของ FFN ถัดไปในลำดับ ความคล้ายคลึงนี้บ่งบอกถึงการพึ่งพาเชิงฟังก์ชันต่ำ – FFN ที่สองไม่ได้เปลี่ยนแปลงการแทนค่าข้อมูลที่สร้างขึ้นโดย FFN แรกอย่างมาก ลำดับของ FFNs ที่แสดงระยะทางโคไซน์ต่ำอย่างสม่ำเสมอในทุก layers ถูกระบุว่าเป็นตัวเลือกหลักสำหรับการ fusion เนื่องจากการรวมพวกมันมีโอกาสน้อยที่จะรบกวนการแทนค่าที่เรียนรู้ของแบบจำลองและประสิทธิภาพโดยรวม แนวทางที่ขับเคลื่อนด้วยข้อมูลนี้ช่วยให้สามารถประยุกต์ใช้ FFN Fusion ได้อย่างตรงเป้าหมายกับส่วนต่างๆ ของแบบจำลองที่จะมีประสิทธิภาพสูงสุดและรบกวนน้อยที่สุด

จากยักษ์ใหญ่สู่ลมกรด: การแปลงโฉม Ultra-253B-Base

พลังในทางปฏิบัติของ FFN Fusion ได้รับการสาธิตอย่างชัดเจนผ่านการประยุกต์ใช้กับหนึ่งในแบบจำลองที่เปิดเผยต่อสาธารณะที่ใหญ่ที่สุดในขณะนั้น คือ Llama-3.1-405B-Instruct แบบจำลองนี้ซึ่งมีพารามิเตอร์ 405 พันล้านพารามิเตอร์ แสดงถึงภาระการคำนวณที่สำคัญสำหรับ inference นักวิจัยได้เริ่มกระบวนการปรับปรุงสถาปัตยกรรม โดยผสมผสาน FFN Fusion เข้ากับการ pruning เชิงกลยุทธ์ เพื่อสร้างแบบจำลองใหม่ที่มีประสิทธิภาพมากขึ้นชื่อว่า Ultra-253B-Base

กระบวนการแปลงโฉมประกอบด้วยหลายขั้นตอน:

  1. การวิเคราะห์ (Analysis): โดยใช้เครื่องมือวิเคราะห์การพึ่งพา (วัดระยะทางโคไซน์) นักวิจัยได้ระบุลำดับของ FFN layers ที่ต่อเนื่องกันภายในสถาปัตยกรรม Llama-405B ซึ่งแสดงการพึ่งพาระหว่าง layer ต่ำ
  2. การรวม (Fusion): ลำดับ FFN ที่ระบุเหล่านี้จะถูกรวมเข้าเป็น FFN layers เดียวที่กว้างขึ้นตามที่อธิบายไว้ก่อนหน้านี้ (การต่อเมทริกซ์น้ำหนัก) ซึ่งช่วยลดจำนวนขั้นตอนตามลำดับในเครือข่ายโดยตรง
  3. การตัดแต่ง (Pruning): พร้อมกันหรือหลังจากนั้น พารามิเตอร์ที่ถือว่ามีความสำคัญน้อยกว่า (อาจระบุได้จากเทคนิคการ pruning มาตรฐาน หรือได้รับข้อมูลจากกระบวนการ fusion) จะถูกลบออกจากแบบจำลอง

แนวทางผสมผสานนี้ส่งผลให้เกิด Ultra-253B-Base ซึ่งเป็นแบบจำลองที่มี 253 พันล้านพารามิเตอร์ นี่คือการลดลงอย่างมาก – พารามิเตอร์น้อยลงกว่า 37% เมื่อเทียบกับแบบจำลอง 405B ดั้งเดิม การเปลี่ยนแปลงทางสถาปัตยกรรมที่ทำได้ผ่านการ fusion เป็นกุญแจสำคัญในการทำให้สามารถลดขนาดลงได้อย่างมีนัยสำคัญในขณะที่มุ่งหวังที่จะรักษาประสิทธิภาพไว้ เป้าหมายไม่ใช่แค่แบบจำลองที่เล็กลง แต่เป็นแบบจำลองที่เร็วขึ้นและประหยัดการคำนวณมากขึ้นโดยพื้นฐาน ต้องขอบคุณการทำงานแบบขนานที่เพิ่มขึ้นซึ่งปลดล็อคโดย FFN Fusion กรณีศึกษานี้ทำหน้าที่เป็นเครื่องพิสูจน์แนวคิดที่สำคัญ แสดงให้เห็นว่าแบบจำลองขนาดใหญ่สามารถปรับโครงสร้างใหม่ได้อย่างมากเพื่อประสิทธิภาพ

การวัดผลประโยชน์: ประสิทธิภาพ ความเร็ว และการประหยัดทรัพยากร

การทดสอบที่แท้จริงของเทคนิคการเพิ่มประสิทธิภาพใดๆ อยู่ที่ผลกระทบที่วัดผลได้ สำหรับ Ultra-253B-Base ผลลัพธ์ที่ได้จากการใช้ FFN Fusion และ pruning กับ Llama-405B base นั้นน่าสนใจ แสดงให้เห็นถึงการปรับปรุงที่สำคัญในหลายมิติโดยไม่มีการประนีประนอมด้านความสามารถอย่างมาก

ความเร็วและต้นทุน Inference: ประโยชน์ที่โดดเด่นที่สุดคือประสิทธิภาพของ inference เมื่อเทียบกับแบบจำลอง 405B พารามิเตอร์ดั้งเดิม Ultra-253B-Base ทำได้:

  • การปรับปรุง latency ของ inference 1.71 เท่า ซึ่งหมายความว่าแบบจำลองสามารถสร้างการตอบสนองได้เร็วขึ้นอย่างมีนัยสำคัญ ซึ่งสำคัญอย่างยิ่งสำหรับการใช้งานแบบเรียลไทม์
  • การลดต้นทุนการคำนวณต่อโทเค็น 35 เท่า เมื่อวัดที่ขนาด batch 32 การลดลงอย่างมากของการดำเนินการคำนวณ (FLOPs) ต่อโทเค็นนี้แปลโดยตรงเป็นการใช้พลังงานที่ลดลงและความต้องการฮาร์ดแวร์ที่ลดลงสำหรับการให้บริการแบบจำลอง

เกณฑ์มาตรฐานประสิทธิภาพของแบบจำลอง (Model Performance Benchmarks): ที่สำคัญ การปรับปรุงประสิทธิภาพเหล่านี้ไม่ได้มาพร้อมกับการสูญเสียความฉลาดหรือความสามารถของแบบจำลอง Ultra-253B-Base ได้รับการประเมินอย่างเข้มงวดบนชุดเกณฑ์มาตรฐาน LLM มาตรฐาน ได้คะแนนที่สามารถแข่งขันได้สูง และในบางกรณีก็สูงกว่าแบบจำลองดั้งเดิมที่ใหญ่กว่ามาก:

  • MMLU (Massive Multitask Language Understanding): 85.17%
  • MMLU-Pro (เวอร์ชันที่ท้าทายยิ่งขึ้น): 72.25%
  • Arena Hard (การประเมินความชอบของมนุษย์ต่อคำสั่งที่ยาก): 84.92%
  • HumanEval (ความสามารถในการสร้างโค้ด): 86.58%
  • MT-Bench (คุณภาพการสนทนาหลายรอบ): 9.19

คะแนนเหล่านี้บ่งชี้ว่าแบบจำลองที่รวมและ prune แล้วยังคงรักษาระดับความเข้าใจ การให้เหตุผล ความสามารถในการเขียนโค้ด และคุณภาพการสนทนาที่สูงมาก เทียบเท่ากับรุ่นก่อนที่มี 405B พารามิเตอร์ แม้ว่าจะมีเพียง 253 พันล้านพารามิเตอร์ก็ตาม

ประสิทธิภาพหน่วยความจำ (Memory Efficiency): นอกเหนือจากความเร็วและต้นทุนในการคำนวณแล้ว FFN Fusion ยังช่วยประหยัดหน่วยความจำอีกด้วย การเปลี่ยนแปลงทางสถาปัตยกรรม ซึ่งอาจรวมกับการเพิ่มประสิทธิภาพอื่นๆ ที่เกิดขึ้นได้จากการ fusion นำไปสู่ การลดขนาดของ key-value (KV) cache ลง 2 เท่า ที่จำเป็นในระหว่าง inference KV cache จัดเก็บค่ากระตุ้นระดับกลาง (attention keys และ values) และสามารถใช้หน่วยความจำ GPU จำนวนมาก โดยเฉพาะอย่างยิ่งสำหรับลำดับอินพุตที่ยาว การลดความต้องการนี้ลงครึ่งหนึ่งทำให้สามารถรันแบบจำลองบนฮาร์ดแวร์ที่ใช้หน่วยความจำน้อยลง หรือประมวลผลบริบท (context) ที่ยาวขึ้นภายในข้อจำกัดหน่วยความจำเดียวกันได้

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

การรักษาองค์ความรู้: บทบาทสำคัญของการฝึกและการปรับละเอียด

การปรับเปลี่ยนสถาปัตยกรรมของแบบจำลองภาษาขนาดใหญ่ที่ผ่านการฝึกฝนมาแล้วอย่าง Llama-405B ผ่านเทคนิคต่างๆ เช่น FFN Fusion และ pruning ย่อมส่งผลกระทบต่อความสมดุลอันละเอียดอ่อนของพารามิเตอร์ที่เรียนรู้มา แม้ว่าความเท่าเทียมกันทางคณิตศาสตร์จะมีเป้าหมายเพื่อรักษาฟังก์ชันการทำงานในระดับท้องถิ่น แต่พฤติกรรมโดยรวมของเครือข่ายอาจเปลี่ยนแปลงไป เพื่อให้แน่ใจว่าแบบจำลอง Ultra-253B-Base ที่ได้นั้นไม่เพียงแต่มีประสิทธิภาพมากขึ้น แต่ยังคงรักษาประสิทธิภาพระดับสูงไว้ได้ กระบวนการฝึกหลังการปรับเปลี่ยนที่วางแผนไว้อย่างรอบคอบจึงเป็นสิ่งจำเป็น

กระบวนการนี้ประกอบด้วยสองระยะหลัก:

  1. การกลั่นองค์ความรู้ (Knowledge Distillation): ขั้นตอนแรกคือการถ่ายทอดความรู้จากแบบจำลองดั้งเดิมที่ใหญ่กว่า (หรือแบบจำลองครูที่เหมาะสม) กลับเข้าไปในสถาปัตยกรรมที่แก้ไขแล้ว ซึ่งทำได้ผ่านการกลั่น โดยที่แบบจำลอง Ultra-253B-Base ได้รับการฝึกฝนให้เลียนแบบผลลัพธ์หรือการแทนค่าภายในของแบบจำลองครู ระยะนี้ใช้ชุดข้อมูลจำนวนมาก โดยเฉพาะ 54 พันล้านโทเค็น ประมวลผลด้วย หน้าต่างบริบท 8k (8k context window) การกลั่นช่วยให้แบบจำลองที่รวมและ prune แล้วสามารถจับความแตกต่างและความสามารถที่อาจถูกรบกวนเล็กน้อยในระหว่างการเปลี่ยนแปลงทางสถาปัตยกรรมกลับคืนมาได้

  2. การปรับละเอียดแบบแบ่งระยะ (Staged Fine-Tuning): หลังจากการกลั่น แบบจำลองได้ผ่านขั้นตอนการปรับละเอียดหลายระยะที่ออกแบบมาโดยเฉพาะเพื่อปรับให้เข้ากับการจัดการความยาวบริบทที่ยาวขึ้นเรื่อยๆ นี่เป็นสิ่งสำคัญสำหรับ LLMs สมัยใหม่ ซึ่งมักคาดว่าจะประมวลผลและสร้างข้อความตามอินพุตที่กว้างขวาง การปรับละเอียดดำเนินการเป็นระยะ:

    • การปรับละเอียดที่ หน้าต่างบริบท 16k (16k context window)
    • การปรับละเอียดเพิ่มเติมที่ หน้าต่างบริบท 32k (32k context window)
    • ขั้นตอนการปรับละเอียดสุดท้ายที่ หน้าต่างบริบท 128k (128k context window)

แนวทางแบบแบ่งระยะนี้ช่วยให้แบบจำลองค่อยๆ ปรับพารามิเตอร์ รวมถึง FFN layers ที่รวมกันขึ้นใหม่และกลไก KV cache ที่ปรับให้เหมาะสม เพื่อจัดการการพึ่งพาและการไหลของข้อมูลอย่างมีประสิทธิภาพตลอดลำดับที่ยาวมาก แต่ละระยะสร้างขึ้นจากระยะก่อนหน้า ทำให้มั่นใจได้ถึงความเสถียรและประสิทธิภาพที่แข็งแกร่งในขนาดบริบทต่างๆ

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

ขอบฟ้าที่กว้างขึ้น: ความสามารถในการนำไปใช้ทั่วไปและทิศทางในอนาคต

การแปลงโฉม Llama-405B เป็น Ultra-253B-Base ที่ประสบความสำเร็จเป็นหลักฐานที่ชัดเจนสำหรับศักยภาพของ FFN Fusion แต่คุณค่าที่แท้จริงของมันอยู่ที่ความสามารถในการนำไปประยุกต์ใช้ในวงกว้างและข้อมูลเชิงลึกที่นำเสนอสำหรับการออกแบบ LLM ในอนาคต งานวิจัยแสดงให้เห็นว่านี่ไม่ใช่เพียงกลอุบายที่ใช้ได้ครั้งเดียวซึ่งใช้ได้กับแบบจำลองขนาดใหญ่เท่านั้น

การตรวจสอบความถูกต้องในหลากหลายขนาด (Validation Across Scales): นักวิจัยของ NVIDIA ได้ทดสอบวิธีการ FFN Fusion อย่างชัดเจนกับแบบจำลองขนาดต่างๆ พวกเขาประสบความสำเร็จในการใช้เทคนิคนี้กับ แบบจำลอง 70B พารามิเตอร์ โดยได้รับประโยชน์ด้านประสิทธิภาพที่คล้ายคลึงกันเมื่อเทียบกับแบบจำลองดั้งเดิม พวกเขายังรายงานการตรวจสอบความถูกต้องในระดับ 49B ซึ่งตอกย้ำแนวคิดที่ว่าความเป็นอิสระของ FFN และศักยภาพในการ fusion ไม่ใช่ลักษณะเฉพาะของแบบจำลองที่ใหญ่ที่สุดเท่านั้น แต่อาจเป็นคุณสมบัติทั่วไปของสถาปัตยกรรม transformer ซึ่งอาจเด่นชัดมากขึ้นในขนาดที่ใหญ่ขึ้นซึ่งลำดับ FFN ที่ลึกกว่าเกิดขึ้นตามธรรมชาติ สิ่งนี้ชี้ให้เห็นว่า FFN Fusion อาจกลายเป็นเครื่องมือมาตรฐานในคลังแสงการเพิ่มประสิทธิภาพ LLM ซึ่งสามารถนำไปใช้กับแบบจำลองได้หลากหลายขนาด

FFN เทียบกับการรวมทั้งบล็อก (FFN vs. Full Block Fusion): งานวิจัยยังให้ความกระจ่างเกี่ยวกับบทบาทเฉพาะของ FFN layers เมื่อเทียบกับ attention layers ภายในบล็อก transformer ในขณะที่ FFN layers ที่ต่อเนื่องกันมักแสดงการพึ่งพาต่ำ ทำให้เหมาะสำหรับการ fusion แต่ความพยายามที่จะทำให้บล็อก transformer ทั้งหมด (รวมทั้ง attention และ FFN layers) เป็นแบบขนานนั้นพิสูจน์แล้วว่าท้าทายกว่า การวิเคราะห์บ่งชี้ถึง การพึ่งพากันที่แข็งแกร่งกว่าซึ่งเกี่ยวข้องกับกลไก attention การรวมบล็อกทั้งหมดพร้อมกันส่งผลให้ประสิทธิภาพลดลงอย่างมีนัยสำคัญ ซึ่งชี้ให้เห็นว่า attention layers มีบทบาทที่สำคัญกว่าและขึ้นอยู่กับลำดับมากกว่าในการรวมข้อมูลข้ามโทเค็น การค้นพบนี้ช่วยกำหนดขอบเขตของการทำให้เป็นแบบขนานที่มีประสิทธิภาพ – ลำดับ FFN เป็นพื้นที่ที่อุดมสมบูรณ์ ในขณะที่กลไก attention อาจต้องใช้กลยุทธ์การเพิ่มประสิทธิภาพที่แตกต่างกัน

นัยยะสำหรับสถาปัตยกรรม LLM (Implications for LLM Architecture): FFN Fusion นำเสนอมากกว่าแค่เทคนิคการเพิ่มประสิทธิภาพหลังการพัฒนา แต่ยังให้ข้อมูลเชิงลึกอันมีค่าสำหรับการออกแบบ LLMs ในอนาคต การค้นพบว่าลำดับของ FFNs มักจะสามารถถือเป็นหน่วยที่สามารถทำให้เป็นแบบขนานได้ ท้าทายสมมติฐานแบบลำดับอย่างเคร่งครัดที่มักเป็นรากฐานของการออกแบบ transformer สิ่งนี้อาจเป็นแรงบันดาลใจให้เกิดสถาปัตยกรรมใหม่ๆ ที่เป็นมิตรกับการทำงานแบบขนานมากขึ้นโดยเนื้อแท้ตั้งแต่เริ่มต้น แบบจำลองในอนาคตอาจได้รับการออกแบบด้วยโครงสร้าง FFN ที่มีจุดประสงค์อย่างชัดเจนสำหรับการ fusion หรือการดำเนินการแบบขนาน ซึ่งอาจนำไปสู่การออกแบบร่วมกันระหว่างฮาร์ดแวร์และซอฟต์แวร์ (hardware-software co-design) โดยที่สถาปัตยกรรม GPU ได้รับการปรับให้เหมาะสมยิ่งขึ้นเพื่อใช้ประโยชน์จากการทำงานแบบขนานประเภทนี้ วิธีการที่เป็นระบบโดยใช้ระยะทางโคไซน์เพื่อวัดปริมาณการพึ่งพาระหว่าง layer ยังเป็นเครื่องมือวิเคราะห์ที่มีค่าสำหรับการทำความเข้าใจและออกแบบโครงสร้างเครือข่ายประสาทเทียมใหม่ โดยการแสดงให้เห็นว่าการเพิ่มประสิทธิภาพอย่างมีนัยสำคัญเป็นไปได้ผ่านการออกแบบสถาปัตยกรรมใหม่อย่างรอบคอบโดยมุ่งเน้นไปที่การทำให้ส่วนประกอบที่มีอยู่เป็นแบบขนาน FFN Fusion ปูทางไปสู่การพัฒนา LLMs ที่ทั้งทรงพลังและยั่งยืนทางคอมพิวเตอร์มากขึ้น มันเน้นย้ำถึงเส้นทางสู่การลดความต้องการทรัพยากรที่เพิ่มสูงขึ้นของ AI ที่ล้ำสมัย