อัลกอริทึม L-Mul ใหม่อ้างว่าช่วยลดการใช้พลังงานของ AI ได้ 95%
(tomshardware.com)- มีรายงานว่า BitEnergy AI อ้างว่าหากเปลี่ยน การคูณเลขทศนิยมลอยตัว (FPM) ซึ่งเป็นการคำนวณหลักของการประมวลผล AI ให้เป็นการบวกจำนวนเต็ม จะสามารถลดการใช้พลังงานได้สูงสุด 95%
- Linear-Complexity Multiplication (L-Mul) มีเป้าหมายในการให้ผลลัพธ์ใกล้เคียงกับ FPM ด้วยการคำนวณที่เรียบง่ายกว่า พร้อมคงทั้งความถูกต้องและความแม่นยำไว้
- แม้จะมีศักยภาพสูงในการเพิ่มประสิทธิภาพด้านพลังงาน แต่ฮาร์ดแวร์กระแสหลักในปัจจุบันอย่าง Blackwell GPU ของ Nvidia ไม่ได้ถูกออกแบบมาโดยมีอัลกอริทึมนี้เป็นพื้นฐานในการทำงาน
- บริษัทที่ลงทุนกับฮาร์ดแวร์ AI ไปแล้วตั้งแต่หลายล้านถึงหลายพันล้านดอลลาร์ ยากจะหลีกเลี่ยงภาระในการนำระบบใหม่มาใช้ แม้ประสิทธิภาพของ L-Mul จะได้รับการพิสูจน์แล้วก็ตาม
- ท่ามกลางสถานการณ์ที่ความต้องการพลังงานของศูนย์ข้อมูล AI กำลังกดดันทั้งโครงข่ายไฟฟ้าและเป้าหมายด้านสภาพภูมิอากาศ L-Mul อาจถูกมองว่าเป็นแนวทางที่มุ่งทั้งการขยายประสิทธิภาพและการลดการใช้พลังงานไปพร้อมกัน
L-Mul ที่เปลี่ยน FPM ให้เป็นการบวกจำนวนเต็ม
- BitEnergy AI เป็นบริษัทที่เชี่ยวชาญด้านเทคโนโลยี AI inference และได้พัฒนาวิธีแทนที่ FPM ในการประมวลผล AI ด้วย การบวกจำนวนเต็ม
- วิธีใหม่นี้มีชื่อว่า Linear-Complexity Multiplication (L-Mul)
- L-Mul อ้างว่าสามารถให้ผลลัพธ์ใกล้เคียงกับ FPM ด้วยอัลกอริทึมที่เรียบง่ายกว่า และยังคง ความถูกต้อง และ ความแม่นยำ ระดับสูงของ FPM ได้
- ตามข้อมูลของ TechXplore วิธีนี้อาจลดการใช้พลังงานของระบบ AI ได้ สูงสุด 95%
ความเข้ากันได้ของฮาร์ดแวร์ที่ขัดขวางการนำไปใช้
- L-Mul เป็นวิธีประมวลผลแบบใหม่ ทำให้ฮาร์ดแวร์ยอดนิยมในตลาดปัจจุบันไม่ได้ถูกออกแบบมาให้รองรับโดยตรง
- Blackwell GPU รุ่นถัดไปของ Nvidia ก็ถูกยกเป็นตัวอย่างของฮาร์ดแวร์ที่ไม่ได้ออกแบบโดยตั้งสมมติฐานว่าจะรันอัลกอริทึมนี้
- ต่อให้อัลกอริทึมของ BitEnergy AI ให้ประสิทธิภาพได้ในระดับเดียวกับ FPM การใช้งานจริงก็ยังต้องการระบบที่สามารถรันมันได้
- สำหรับบริษัทที่ลงทุนกับฮาร์ดแวร์ AI ไปแล้วตั้งแต่หลายล้านถึงหลายพันล้านดอลลาร์ ความจำเป็นต้องใช้ระบบใหม่อาจกลายเป็นภาระหนัก
- หากผู้ผลิตชิป AI สร้าง ASIC ที่ปรับให้เหมาะกับอัลกอริทึมนี้ได้ ความเป็นไปได้ในการลดพลังงานลง 95% อาจดึงดูดความสนใจจากบริษัทเทคโนโลยีรายใหญ่
แรงกดดันจากความต้องการพลังงานของ AI
- พลังงาน กำลังกลายเป็นข้อจำกัดสำคัญในการพัฒนา AI
- มีการระบุว่าเฉพาะ GPU สำหรับดาต้าเซ็นเตอร์ที่ขายไปเมื่อปีก่อน ก็ใช้พลังงานรวมมากกว่าที่ มากกว่า 1 ล้านครัวเรือน ใช้ตลอด 1 ปี
- Google มีเป้าหมายด้านสภาพภูมิอากาศที่ต้องถอยหลังเพราะความต้องการพลังงานของ AI และปริมาณการปล่อยก๊าซเรือนกระจกเพิ่มขึ้น 48% เมื่อเทียบกับปี 2019
- อดีต CEO ของ Google เคยเสนอแนวทางให้ลดระดับเป้าหมายด้านสภาพภูมิอากาศลง และอนุญาตให้ผลิตไฟฟ้าเพิ่มขึ้น เพื่อใช้ AI ขั้นสูงแก้ปัญหาโลกร้อน
สิ่งที่การเพิ่มประสิทธิภาพพลังงานอาจเปลี่ยนแปลงได้
- หากการประมวลผล AI มีประสิทธิภาพด้านพลังงานมากขึ้น ก็อาจลดภาระต่อสิ่งแวดล้อมได้โดยยังคงรักษาเทคโนโลยี AI ขั้นสูงไว้
- หากการใช้พลังงานลดลง 95% ภาระที่ศูนย์ข้อมูลขนาดใหญ่สร้างให้กับโครงข่ายไฟฟ้าระดับประเทศก็จะลดลงด้วย
- เมื่อภาระของโครงข่ายไฟฟ้าลดลง ความจำเป็นในการสร้างโรงไฟฟ้าเพิ่มจำนวนมากเพื่อเร่งขยายโครงสร้างพื้นฐาน AI ในอนาคตก็อาจลดลง
สมดุลระหว่างการขยายประสิทธิภาพและประสิทธิผล
- ชิป AI รุ่นใหม่ได้รับความสนใจจากการมอบสมรรถนะการประมวลผลที่สูงขึ้นในทุกเจเนอเรชัน
- แต่ความก้าวหน้าที่แท้จริงจะเกิดขึ้นได้ก็ต่อเมื่อโปรเซสเซอร์มีพลังมากขึ้นพร้อมกับ มีประสิทธิภาพ มากขึ้นด้วย
- หาก L-Mul ทำงานได้ตามที่อ้าง ก็อาจคาดหวังได้ทั้งการขยายสมรรถนะของ AI และการเพิ่มประสิทธิภาพด้านพลังงานไปพร้อมกัน
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
https://arxiv.org/abs/2410.00907
ตามบทคัดย่อของงานวิจัย การคำนวณส่วนใหญ่ในโครงข่ายประสาทขนาดใหญ่ใช้ไปกับการคูณเทนเซอร์แบบทศนิยมลอยตัว โดย L-Mul ประมาณการคูณทศนิยมลอยตัวด้วยการบวกจำนวนเต็ม ทำให้ได้ความแม่นยำสูงกว่าด้วยทรัพยากรคำนวณน้อยกว่าเมื่อเทียบกับทศนิยมลอยตัว 8 บิต
งานนี้อ้างว่าเมื่อนำไปใช้กับฮาร์ดแวร์ประมวลผลเทนเซอร์ จะลดพลังงานของการคูณเทนเซอร์แบบทศนิยมลอยตัวรายองค์ประกอบได้สูงสุด 95% และลดพลังงานของ inner product ได้ 80% อีกทั้งประเมินว่า L-Mul ที่ใช้ mantissa 3–4 บิตให้ผลใกล้เคียงหรือดีกว่า float8 e4m3/e5m2 และใช้กับ attention ใน Transformer ได้โดยแทบไม่มีการสูญเสีย
น่าจะมีคนสนใจมากทีเดียว
มีอันนี้ https://news.ycombinator.com/item?id=41784591 และก่อนหน้านั้นก็เคยมีอีก สำหรับคนที่อยู่ลึกในสาขานี้ ไอเดียนี้อาจเป็นเรื่องค่อนข้างชัดเจนก็ได้
โดยสัญชาตญาณแล้ว การใช้ ทศนิยมลอยตัว เพื่อสุดท้ายจะตัดสินใจใกล้เคียงแบบบูลีนดูเหมือนสิ้นเปลือง แต่เข้าใจว่าจำเป็นต้องทำแบบนั้นเพื่อสร้างอัลกอริทึมที่ดิฟเฟอเรนเชียตได้
มันเร็วมากและให้ความแม่นยำใกล้เคียงการคูณทศนิยมลอยตัว ถ้าต้องการทั้งการคูณที่เร็วและการประมวลผลขนาน อาจต้องใช้บล็อก DSP แบบนี้เป็นส่วนหนึ่งของ Tensor/GPU
เป็นการประมาณที่ค่อนข้างหยาบ ตัวอย่างเช่น 1.75 * 2.5 == 3 แต่ดูเหมือนจะดีขึ้นเมื่อเลขเข้าใกล้ 0
ลองนำไป implement สำหรับ AVX512 ใน tinyBLAS ของ llamafile แล้วใช้กับ Llama-3.2-3B-Instruct.F16.gguf ผลลัพธ์ออกมาเสีย น่าจะต้องฝึกและออกแบบโมเดลตั้งแต่ต้นให้ใช้การประมาณการคูณนี้ หรือปรับจูนให้ใช้เฉพาะบางเลเยอร์หรือบาง operation ถึงจะทำงานได้ถูกต้อง
ถึงอย่างนั้นความเร็วก็ถือว่าใช้ได้ บน Threadripper ช่วง prefill ลดจาก 850 โทเคน/วินาทีเหลือ 200 โทเคน/วินาที แต่ความเร็วทำนายยังเท่าเดิมที่ 34 โทเคน/วินาที ถ้ามีใครเผยแพร่โครงสร้าง LLM และ weight ที่ใช้อัลกอริทึมนี้บน Hugging Face ก็น่าจะรันได้ค่อนข้างเร็ว แม้ไม่มีฮาร์ดแวร์เฉพาะทาง
ตามงานวิจัย 1.75 == (1+0.75)*2^0 และ 2.5 == (1+0.25)*2^1 ดังนั้นผลลัพธ์คือ (1+0.75+0.25+2^-4)*2^1 == 4.125 ส่วนผลลัพธ์ที่ถูกต้องคือ 4.375
ข้อกล่าวอ้างที่ไม่ธรรมดาต้องการหลักฐานที่ไม่ธรรมดา
อาจเป็นไปได้ก็ได้ แต่ในสาขานี้มีคนฉลาดจากหลายกลุ่มทำงานกันหนักมาเป็นเวลานานแล้ว ดังนั้นข้อกล่าวอ้างว่าลดต้นทุนพลังงานได้ 95% ที่ประสิทธิภาพเท่าเดิมจึงจัดว่าไม่ธรรมดา แน่นอนว่าเมื่อน้ำลดก็คงได้รู้กัน
การปรับปรุง 95% หมายถึงเฉพาะ operation การคูณเท่านั้น โดยปกติ inference มีสัดส่วนเรื่องหน่วยความจำมากกว่าการคำนวณอยู่แล้ว ดังนั้นประโยชน์จริงน่าจะน้อยกว่านั้นมาก
สื่อสารมวลชนด้านเทคโนโลยี หรือจริง ๆ แล้วแทบทุกสื่อสารมวลชน ต้องโฟกัสที่คลิกและรายได้เพื่อความอยู่รอด จึงคาดหวัง grounded news ได้ยาก
ต้อง retrain และ fine-tune เยอะ และถ้าไม่มีฮาร์ดแวร์ขนานขนาดใหญ่อยู่แล้วก็มีต้นทุนสูง ไม่อย่างนั้นก็ต้องสร้าง ASIC/FPGA ซึ่งมีความเสี่ยงด้านการลงทุนสูง
เดาแบบคร่าว ๆ โมเดลความละเอียดต่ำอย่าง llama-2 อาจจะพอไหว เพราะ llama-2 ถูก quantize ได้โดยไม่มีปัญหาใหญ่ แต่โมเดลความละเอียดสูงอย่าง llama-3 น่าจะไม่ง่ายหากไม่มีการ retrain ขนาดใหญ่
https://github.com/microsoft/BitNet
ก็มีคนที่ปรับปรุงประสิทธิภาพของ operation คณิตศาสตร์ระดับต่ำเช่นกัน และนี่ใกล้เคียงกับผลลัพธ์ของงานเหล่านั้น การค้นพบเรื่องแบบนี้ไม่ง่ายเลย
ไม่ได้บอกว่าเป็นไปไม่ได้หรือเป็นเท็จ แต่ต้องมีหลักฐานว่าสามารถให้ประสิทธิภาพเทียบเท่ากันได้บนเครื่องจริงและใช้พลังงานจริง
การแก้ต่างว่า “ไม่มีชิปที่เหมาะสม” ดูไม่ค่อยจริงใจนัก ถ้าประหยัดได้ 95% จริง ผู้ผลิตชิปที่ฉลาดก็คงคำนวณดูแล้วสร้างชิปออกมา ถ้าถูกต้อง บริษัทนั้นก็จะทำเงินก้อนใหญ่ ถ้าไม่ใช่ก็จะไม่สร้าง
จากมุมมองของคนที่เคยวิจัยสาขานี้ หรือ approximate computing ทั้งฝั่ง GPU และซิลิคอน ข้อกล่าวอ้างเรื่องการใช้พลังงานและความแม่นยำล้วนผิดอย่างสิ้นเชิง
งานวิจัยบอกว่า “L-Mul แม่นยำกว่าการคูณ fp8 e4m3” แต่ในส่วนการวิเคราะห์ข้อผิดพลาดและการประมาณความซับซ้อนของ Mul กับ L-Mul กลับบอกว่า “ไม่พิจารณาการปัดเศษแบบ nearest even” ถ้าตัดส่วนที่ให้ความแม่นยำในอัลกอริทึมมาตรฐานออกจากการวิเคราะห์ ก็สามารถเลือกผลลัพธ์ที่ต้องการได้ตามใจ
การคูณทศนิยมลอยตัว เมื่อปัดเศษแบบ nearest even จะได้ผลเหมือนการคูณค่าต้นฉบับด้วยความแม่นยำอนันต์แล้วปัดเศษอย่างถูกต้อง และ IEEE 754 ก็กำหนดสิ่งนี้สำหรับ operation พื้นฐานด้วย ถ้าตัดส่วนนี้ออก จะเกิด quantization noise และ bias noise มากขึ้นมาก
ต้นทุนพลังงานจำนวนมากมาจากการย้ายข้อมูลระหว่างหน่วยความจำภายนอกอย่าง DRAM/HBM กับสายสัญญาณ รวมถึงการบัฟเฟอร์ใน SRAM และ flip-flop ต้นทุนของ combinational logic โดยทั่วไปไม่ใช่ปัญหาใหญ่ และแม้ต้นทุนนั้นจะสูงขึ้นเมื่อมีตัวคูณเมทริกซ์แบบฟังก์ชันตายตัวจำนวนมาก การลดพลังงานของ accelerator ทั้งระบบก็น่าจะอยู่ราว 10–20% อย่างมาก
นอกจากนี้ยังไม่เห็นรายละเอียดเกี่ยวกับการ rescale หรือการ accumulate ผลลัพธ์กลางด้วยความแม่นยำสูงที่พบในสภาพแวดล้อมอย่าง H100 หากไม่มีข้อมูลนี้ ผลการประเมินก็เชื่อถือได้ยาก
การสนทนาเดิมของ preprint: https://news.ycombinator.com/item?id=41784591
นี่ก็แค่ใช้ประโยชน์จาก “log(x) + log(y) = log(xy)” ไม่ใช่หรือ?
การแทนค่าทศนิยมลอยตัวแบบ IEEE754 เก็บเครื่องหมาย แมนทิสซา และเลขชี้กำลัง ถ้าไม่สนสองอย่างแรก ยังไงก็ถูกควอนไทซ์อยู่แล้ว ดังนั้นเลขชี้กำลังก็เป็นแค่จำนวนเต็มที่เก็บค่า log() ของ float เท่านั้น
ถ้า a และ b ต่างก็เล็กพอสมควร ab ก็จะเล็กมากจนละเลยได้ ดังนั้นจึงเปลี่ยน (1+a)(1+b) เป็น 1+a+b ทั้งสองอย่างชัดเจนว่าไม่เท่ากัน แต่สำหรับงานที่เครื่องกำลังคาดเดา ดูเหมือนจะไม่ได้ใส่ใจกับความต่างนั้นมากนัก
ผมโพสต์เรื่องนี้ไปเมื่อประมาณหนึ่งสัปดาห์ก่อน:
https://news.ycombinator.com/item?id=41816598
วิธีแบบนี้เป็นสิ่งที่ทำกันมาหลายสิบปีแล้วในวงจรดิจิทัล, FPGA, การประมวลผลสัญญาณดิจิทัล ฯลฯ ทศนิยมลอยตัวใช้ทรัพยากรและพลังงานมาก ดังนั้นการใช้ทศนิยมลอยตัวโดยไม่มีฮาร์ดแวร์ประมวลผลทศนิยมลอยตัวเฉพาะทางจึงเป็นสิ่งที่หลีกเลี่ยงกันมาหลายสิบปี ถ้าไม่จำเป็นจริง ๆ
แค่การค้นพบ fixed-point ขึ้นมาใหม่ก็ชวนหงุดหงิดพอแล้ว แต่ปฏิกิริยาแบบ “ถ้าแทนท่าทางด้วย quaternion แล้วทุกอย่างจะดีขึ้น” นั้นทำให้นักพัฒนาเกมเอนจินตลอด 30 ปีที่ผ่านมาแทบระเบิด
อาจเพราะผมเป็นคนขี้สงสัยโดยกำเนิด ทุกครั้งที่หัวข้อบอกว่า “วิธี x ลด y ได้ z%” แต่เนื้อหาบอกว่าถ้าปรับขั้นตอนบางอย่างให้เหมาะสม “อาจลด y ได้สูงสุดถึง z%” ผมก็จะระแวง
สงสัยว่าทำไมไม่เปิดเผยเบนช์มาร์กจริงที่พิสูจน์ข้ออ้างนี้ แม้จะเป็นบางกรณีพิเศษก็ตาม
“สูงสุด 95%” ก็ไม่ได้มาจาก论文 การลดต้นทุนถูกอ้างอิงแยกตามประเภทการดำเนินการและความแม่นยำ โดยมีค่าสูงสุดถึง 97.3% และอิงจากงานวิจัยเดิมเกี่ยวกับต้นทุนพลังงานของการดำเนินการทางคณิตศาสตร์บนฮาร์ดแวร์คำนวณสมัยใหม่ ไม่ได้อ้างว่าลดต้นทุนแบบ end-to-end
อย่างที่สอง การลดต้นทุนพลังงานที่อ้างจริง ๆ ก็ไม่ใช่คำถามเชิงทดลอง ความแตกต่างของต้นทุนพลังงานระหว่างการดำเนินการต่าง ๆ บนฮาร์ดแวร์สมัยใหม่ถูกยืนยันไว้แล้วในงานวิจัยอื่น ประเด็นการทดลองที่นี่คือเทคนิคทางคณิตศาสตร์ที่ทำให้ใช้การดำเนินการพลังงานต่ำกว่าได้นั้น ในการ inference ของ LLM จะแข่งขันกับการใช้งานแบบเดิมในด้านคุณภาพผลลัพธ์ได้หรือไม่
“รีลีสแรกของ bitnet.cpp มีเป้าหมายรองรับการ inference บน CPU บน ARM CPU ทำความเร็วเพิ่มขึ้น 1.37 เท่า~5.07 เท่า และยิ่งโมเดลใหญ่ ประสิทธิภาพที่เพิ่มขึ้นก็ยิ่งมาก การใช้พลังงานลดลง 55.4%~70.0% ด้วย ทำให้ประสิทธิภาพโดยรวมสูงขึ้น บน x86 CPU แสดงความเร็วเพิ่มขึ้น 2.37 เท่า~6.17 เท่า และลดพลังงาน 71.9%~82.2% นอกจากนี้ bitnet.cpp ยังสามารถรันโมเดล 100B BitNet b1.58 บน CPU ตัวเดียวได้ที่ 5~7 โทเคน/วินาที ซึ่งใกล้เคียงกับความเร็วการอ่านของมนุษย์ จึงเพิ่มความเป็นไปได้อย่างมากในการรัน LLM บนอุปกรณ์ภายในเครื่อง รายละเอียดเพิ่มเติมจะตามมาเร็ว ๆ นี้”
https://en.wikipedia.org/wiki/Jevons_paradox จะใช้กับกรณีนี้ด้วยไหม?
ต้นทุนพลังงานสร้างกำแพงการเข้ามาอย่างชัดเจน และเมื่อต้นทุนลดลง กำแพงการเข้ามาก็ต่ำลงด้วย จากนั้นผู้เข้าร่วมก็เพิ่มขึ้น และอุปสงค์ก็เพิ่มขึ้น
ผมไม่คิดว่าอัลกอริทึมจะเปลี่ยนการใช้พลังงาน
ในแง่การคำนวณ เราต้องการความจุสูงสุดเสมอ ถ้าพรุ่งนี้มีอัลกอริทึมใหม่ที่ทำให้ประสิทธิภาพสูงขึ้น 4 เท่า เราก็แค่จะทำ การคำนวณมากขึ้น 4 เท่า