Thuật toán L-Mul mới được cho là giảm 95% điện năng tiêu thụ của AI
(tomshardware.com)- BitEnergy AI cho rằng việc thay phép nhân dấu phẩy động (FPM), phép toán cốt lõi trong xử lý AI, bằng phép cộng số nguyên có thể giảm điện năng tiêu thụ tới 95%
- Linear-Complexity Multiplication (L-Mul) hướng tới việc dùng các phép toán đơn giản hơn để cho kết quả gần với FPM, đồng thời duy trì độ đúng và độ chính xác
- Tiềm năng cải thiện hiệu suất điện năng là rất lớn, nhưng phần cứng phổ biến hiện nay như Nvidia Blackwell GPU không được thiết kế với tiền đề chạy thuật toán này
- Các doanh nghiệp đã đầu tư từ hàng triệu đến hàng tỷ USD vào phần cứng AI sẽ khó tránh gánh nặng triển khai hệ thống mới, ngay cả khi hiệu năng của L-Mul được xác nhận
- Trong bối cảnh nhu cầu điện của trung tâm dữ liệu AI đang gây áp lực lên lưới điện và các mục tiêu khí hậu, L-Mul có thể được xem là một cách tiếp cận nhằm vừa mở rộng hiệu năng vừa tiết kiệm năng lượng
L-Mul thay FPM bằng phép cộng số nguyên
- BitEnergy AI là công ty chuyên về công nghệ suy luận AI, đã phát triển phương pháp thay thế FPM bằng phép cộng số nguyên trong xử lý AI
- Phương pháp mới có tên Linear-Complexity Multiplication (L-Mul)
- L-Mul được cho là có thể dùng thuật toán đơn giản hơn để cho kết quả gần với FPM, đồng thời duy trì độ đúng và độ chính xác cao của FPM
- Theo TechXplore, phương pháp này có thể giảm điện năng tiêu thụ của hệ thống AI tới 95%
Khả năng tương thích phần cứng cản trở việc triển khai
- L-Mul là một phương thức xử lý mới, nên các phần cứng phổ biến hiện có trên thị trường không được thiết kế để xử lý trực tiếp
- Blackwell GPU thế hệ tiếp theo của Nvidia cũng được nêu như một ví dụ không được thiết kế với tiền đề chạy thuật toán này
- Ngay cả khi thuật toán của BitEnergy AI đạt hiệu năng ngang FPM, việc ứng dụng thực tế vẫn cần các hệ thống có thể chạy nó
- Với các doanh nghiệp đã đầu tư từ hàng triệu đến hàng tỷ USD vào phần cứng AI, nhu cầu về hệ thống mới có thể trở thành gánh nặng lớn
- Nếu các nhà sản xuất chip AI tạo ra ASIC phù hợp với thuật toán này, khả năng tiết kiệm 95% điện năng có thể thu hút sự quan tâm của các tập đoàn công nghệ lớn
Áp lực do nhu cầu điện của AI tạo ra
- Điện năng đang nổi lên như một hạn chế lớn trong phát triển AI
- Chỉ riêng GPU cho trung tâm dữ liệu bán ra năm ngoái được cho là tiêu thụ lượng điện trong một năm lớn hơn mức sử dụng của hơn 1 triệu hộ gia đình
- Do nhu cầu điện của AI, các mục tiêu khí hậu của Google đã bị đẩy lùi, còn lượng phát thải khí nhà kính tăng 48% so với năm 2019
- Cựu CEO của Google từng đề xuất hướng hạ thấp các mục tiêu khí hậu, cho phép sản xuất nhiều điện hơn và dùng AI tiên tiến để giải quyết vấn đề nóng lên toàn cầu
Những điều hiệu suất điện năng cải thiện có thể thay đổi
- Nếu xử lý AI trở nên tiết kiệm điện hơn, có thể duy trì các công nghệ AI tiên tiến đồng thời giảm gánh nặng môi trường
- Khi mức sử dụng năng lượng giảm 95%, áp lực mà các trung tâm dữ liệu quy mô lớn gây ra cho lưới điện quốc gia cũng sẽ giảm
- Khi áp lực lên lưới điện thấp hơn, nhu cầu xây thêm nhiều nhà máy điện để nhanh chóng mở rộng hạ tầng AI trong tương lai cũng có thể giảm
Cân bằng giữa mở rộng hiệu năng và hiệu quả
- Các chip AI mới thu hút chú ý vì mỗi thế hệ đều mang lại năng lực tính toán lớn hơn
- Nhưng bước tiến thực sự chỉ có thể đạt được khi bộ xử lý vừa mạnh hơn vừa hiệu quả hơn
- Nếu L-Mul hoạt động đúng như tuyên bố, có thể kỳ vọng đồng thời vào việc mở rộng hiệu năng AI và cải thiện hiệu suất điện năng
1 bình luận
Ý kiến trên Hacker News
https://arxiv.org/abs/2410.00907
Theo phần tóm tắt của bài báo, phần lớn phép tính trong các mạng nơ-ron lớn được dùng cho phép nhân tensor dấu phẩy động, và L-Mul được cho là xấp xỉ phép nhân dấu phẩy động bằng phép cộng số nguyên, đạt độ chính xác cao hơn với ít tài nguyên tính toán hơn so với dấu phẩy động 8-bit
Bài báo tuyên bố rằng khi áp dụng cho phần cứng xử lý tensor, có thể giảm tối đa 95% năng lượng của phép nhân tensor dấu phẩy động theo từng phần tử và 80% năng lượng của phép tích vô hướng; đồng thời đánh giá rằng L-Mul với phần định trị 3–4 bit tương đương hoặc tốt hơn float8 e4m3/e5m2, và có thể áp dụng cho attention của Transformer gần như không mất mát
Có vẻ sẽ thu hút khá nhiều sự quan tâm
Có bài này https://news.ycombinator.com/item?id=41784591 và trước đó cũng từng có. Với những người hiểu sâu lĩnh vực này, có lẽ đây có thể là một ý tưởng hiển nhiên
Trực giác thì việc dùng dấu phẩy động để cuối cùng đưa ra các quyết định gần với Boolean có vẻ lãng phí, nhưng tôi từng nghĩ phải làm vậy mới tạo được thuật toán khả vi
Nó rất nhanh mà vẫn cho độ chính xác gần với phép nhân dấu phẩy động. Để có cả phép nhân nhanh lẫn tính song song, có lẽ cần dùng những khối DSP như vậy làm một phần của Tensor/GPU
Đây là một xấp xỉ khá thô. Ví dụ 1.75 * 2.5 == 3, nhưng có vẻ càng gần 0 thì càng tốt hơn
Tôi đã triển khai cho AVX512 trong tinyBLAS của llamafile và thử áp dụng với Llama-3.2-3B-Instruct.F16.gguf thì đầu ra bị hỏng. Có lẽ để hoạt động đúng, mô hình phải được huấn luyện và thiết kế từ đầu để dùng xấp xỉ phép nhân này, hoặc phải tinh chỉnh để chỉ dùng cho một số lớp hay phép toán nhất định
Dù vậy tốc độ vẫn khá ổn; trên Threadripper, prefill giảm từ 850 token/giây xuống 200 token/giây, nhưng tốc độ dự đoán vẫn giữ nguyên ở 34 token/giây. Nếu ai đó công bố kiến trúc LLM và trọng số dùng thuật toán này trên Hugging Face, có vẻ có thể chạy khá nhanh ngay cả khi không có phần cứng chuyên dụng
Theo bài báo, 1.75 == (1+0.75)*2^0, 2.5 == (1+0.25)*2^1, nên kết quả là (1+0.75+0.25+2^-4)*2^1 == 4.125. Kết quả chính xác là 4.375
Những tuyên bố phi thường cần bằng chứng phi thường
Có thể là khả thi, nhưng trong lĩnh vực này đã có nhiều nhóm người thông minh làm việc chăm chỉ trong thời gian dài. Vì vậy tuyên bố giảm 95% chi phí năng lượng ở cùng mức hiệu năng thuộc loại phi thường. Tất nhiên khi nước rút thì sẽ biết
Mức cải thiện 95% cụ thể chỉ áp dụng cho phép nhân. Suy luận vốn thường bị chi phối bởi bộ nhớ nhiều hơn là tính toán, nên lợi ích thực tế sẽ nhỏ hơn nhiều
Báo chí công nghệ, thực ra gần như mọi loại báo chí, vì sinh tồn mà tập trung vào lượt nhấp và doanh thu, nên khó kỳ vọng có được tin tức grounded
Cần rất nhiều huấn luyện lại và fine-tuning, và nếu chưa có phần cứng song song quy mô lớn thì chi phí rất cao. Hoặc phải tạo ASIC/FPGA với rủi ro đầu tư lớn
Đoán đại thì các mô hình độ phân giải thấp như llama-2 có thể ổn. Vì llama-2 có thể được lượng tử hóa mà không gặp vấn đề lớn. Nhưng các mô hình độ phân giải cao như llama-3 có lẽ sẽ không dễ nếu không huấn luyện lại quy mô lớn
https://github.com/microsoft/BitNet
Cũng có những người cải thiện hiệu suất của các phép toán cấp thấp, và đây gần như là thành quả của các công việc kiểu đó. Việc tìm ra những thứ như thế này không hề dễ
Tôi không nói rằng nó bất khả thi hay là sai, nhưng cần có bằng chứng rằng có thể đạt hiệu năng tương đương bằng máy thật và năng lượng thật
Lập luận “chưa có con chip phù hợp” hơi thiếu nghiêm túc. Nếu thật sự có thể tiết kiệm 95%, một nhà sản xuất chip thông minh sẽ tính toán rồi chế tạo chip. Nếu đúng, công ty đó sẽ kiếm rất nhiều tiền; nếu không thì họ sẽ không làm
Từ góc nhìn của một người đã nghiên cứu lĩnh vực này, tức tính toán xấp xỉ, cả ở phía GPU lẫn silicon, các tuyên bố về tiêu thụ điện và độ chính xác đều hoàn toàn sai bét
Bài báo nói “L-Mul chính xác hơn phép nhân fp8 e4m3”, nhưng trong phân tích sai số và ước tính độ phức tạp của Mul và L-Mul lại nói rằng “không xét làm tròn nearest even”. Nếu bỏ phần tạo ra độ chính xác trong thuật toán chuẩn khỏi phân tích, thì có thể chọn ra bất kỳ kết quả mong muốn nào
Phép nhân dấu phẩy động, khi làm tròn nearest even, cho kết quả bằng cách nhân các giá trị gốc với độ chính xác vô hạn rồi làm tròn đúng; IEEE 754 cũng yêu cầu điều này ở các phép toán cơ bản. Nếu bỏ nó đi, sẽ sinh ra nhiều nhiễu lượng tử hóa và nhiễu thiên lệch hơn nhiều
Một phần đáng kể chi phí năng lượng đến từ việc di chuyển dữ liệu giữa bộ nhớ ngoài như DRAM/HBM và dây dẫn, cũng như từ buffering bằng SRAM và flip-flop. Chi phí logic tổ hợp thường không phải vấn đề lớn; nếu có nhiều bộ nhân ma trận chức năng cố định thì chi phí đó có tăng, nhưng mức tiết kiệm điện toàn bộ accelerator có lẽ nhiều lắm cũng chỉ khoảng 10–20%
Ngoài ra, không thấy các chi tiết về việc rescale hay tích lũy kết quả trung gian với độ chính xác cao trong các môi trường như H100. Không có thông tin này thì các kết quả đánh giá cũng khó đáng tin
Thảo luận gốc về preprint: https://news.ycombinator.com/item?id=41784591
Đây chẳng phải chỉ là tận dụng “log(x) + log(y) = log(xy)” sao?
Biểu diễn số thực dấu phẩy động IEEE754 lưu dấu, phần trị và số mũ. Nếu bỏ qua hai phần đầu, dù sao cũng đã lượng tử hóa rồi, nên số mũ chỉ là một số nguyên lưu log() của float mà thôi
Nếu cả a và b đều đủ nhỏ thì ab rất nhỏ và có thể bỏ qua. Vì vậy họ thay (1+a)(1+b) bằng 1+a+b. Hai cái rõ ràng không giống nhau, nhưng trong các tác vụ mà máy phải suy đoán, có vẻ người ta không quá bận tâm đến khác biệt đó
Khoảng một tuần trước tôi đã đăng cái này:
https://news.ycombinator.com/item?id=41816598
Cách làm kiểu này đã được dùng trong mạch số, FPGA, xử lý tín hiệu số, v.v. suốt hàng chục năm. Vì số thực dấu phẩy động tốn nhiều tài nguyên và điện năng, nên việc dùng số thực dấu phẩy động mà không có phần cứng xử lý dấu phẩy động chuyên dụng đã bị tránh trong nhiều thập kỷ nếu không thật sự cần thiết
Việc tái phát hiện số cố định đã đủ gây bực rồi, còn những phản ứng kiểu “nếu biểu diễn pose bằng quaternion thì mọi thứ sẽ tốt hơn” thì đủ làm các nhà phát triển game engine trong 30 năm qua nổi điên
Có lẽ vì tôi vốn hay hoài nghi, nên mỗi khi tiêu đề nói “phương pháp x giảm y z%”, nhưng nội dung lại nói nếu tối ưu hóa một bước nào đó thì “có thể giảm y tối đa z%”, tôi đều thấy đáng ngờ
Tôi tự hỏi vì sao họ không công bố các benchmark thực tế chứng minh tuyên bố đó, dù chỉ trong vài trường hợp đặc biệt
“Tối đa 95%” cũng không phải là câu chữ từ bài báo khoa học. Mức giảm chi phí được trích dẫn theo từng phép toán và từng độ chính xác, có mức tối đa tới 97,3%, và dựa trên nghiên cứu trước đó về chi phí năng lượng của các phép toán trên phần cứng tính toán hiện đại. Họ không đưa ra tuyên bố giảm chi phí đầu-cuối
Thứ hai, mức giảm chi phí năng lượng mà họ thực sự tuyên bố cũng không phải là câu hỏi thực nghiệm. Sự khác biệt về chi phí năng lượng giữa các phép toán trên phần cứng hiện đại đã được các nghiên cứu khác xác lập; vấn đề thực nghiệm ở đây là liệu kỹ thuật toán học cho phép dùng các phép toán tiêu thụ ít năng lượng hơn có thể cạnh tranh với cách triển khai hiện có về chất lượng đầu ra trong suy luận LLM hay không
“Bản phát hành đầu tiên của bitnet.cpp nhắm tới hỗ trợ suy luận trên CPU. Trên CPU ARM, nó đạt mức tăng tốc 1,37 lần~5,07 lần, và mô hình càng lớn thì cải thiện hiệu năng càng lớn. Mức tiêu thụ năng lượng cũng giảm 55,4%~70,0%, nâng cao hiệu quả tổng thể. Trên CPU x86, nó cho thấy mức tăng tốc 2,37 lần~6,17 lần và giảm năng lượng 71,9%~82,2%. Ngoài ra, bitnet.cpp có thể chạy mô hình 100B BitNet b1.58 trên một CPU đơn lẻ, đạt 5~7 token/giây, tương đương tốc độ đọc của con người, qua đó mở rộng đáng kể khả năng chạy LLM trên thiết bị cục bộ. Chi tiết sẽ sớm được cung cấp”
https://en.wikipedia.org/wiki/Jevons_paradox có áp dụng trong trường hợp này không?
Chi phí năng lượng rõ ràng tạo ra rào cản gia nhập, và khi chi phí giảm thì rào cản gia nhập cũng thấp hơn. Khi đó số người tham gia tăng lên, và nhu cầu cũng tăng
Tôi không nghĩ thuật toán sẽ thay đổi mức tiêu thụ năng lượng
Về mặt tính toán, lúc nào cũng cần công suất tối đa. Nếu ngày mai một thuật toán mới làm hiệu năng tăng 4 lần, chúng ta sẽ chỉ đơn giản là thực hiện nhiều phép tính hơn 4 lần