1 điểm bởi GN⁺ 2024-10-20 | 1 bình luận | Chia sẻ qua WhatsApp
  • 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độ 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

 
GN⁺ 2024-10-20
Ý 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

    • Không rõ điều này có nghĩa là có thể huấn luyện hiệu quả ngay cả khi không có GPU hay không
      Có vẻ sẽ thu hút khá nhiều sự quan tâm
    • Có cảm giác tôi đã thấy ý tưởng này vài lần rồi, hình như là các bài từng đăng trên HN
      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
    • Trước đây, nhiều kiến trúc DSP từng dùng phép nhân dấu phẩy cố định (Q Format) cho các thuật toán DSP. https://en.wikipedia.org/wiki/Q_(number_format)
      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 có phải là tạo ra hiệu ứng lượng tử hóa mà thực tế không lượng tử hóa không?
  • Đâ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

    • Với 1.75 * 2.5 thì có vẻ kernel bị sai
      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

    • Đây là tiêu đề câu view, còn bản thân tuyên bố thì không phi thường. Bản preprint trên arXiv trước đây đã từng được đăng ở đây
      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
    • Tôi không nghĩ tuyên bố này là phi thường. Nó không phải là không thể về mặt toán học hay thiếu hợp lý, chỉ là việc kiểm chứng cực kỳ phiền phức
      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
    • Tuyên bố tiết kiệm năng lượng có thể được kiểm chứng đến khoảng 70%. Triển khai suy luận nằm ở đây:
      https://github.com/microsoft/BitNet
    • Từ trước đến nay, các nhà nghiên cứu chủ yếu xử lý những hướng khác, chẳng hạn cấu trúc mạng hay cách tạo ra mạng cho kết quả tốt hơn
      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ễ
    • Ngay cả khi tính đến các bình luận trên dưới, đây vẫn là một tuyên bố phi thường
      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

    • Không hẳn chính xác. Thứ được tận dụng là (1+a)(1+b) = 1 + a + b + ab
      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 đó
    • Đúng. Câu hỏi tiếp theo sẽ là “tốt, vậy phép cộng thì làm thế nào?”
  • 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

    • Đúng vậy. Phía ML đang dần học rằng tối ưu hóa theo độ đơn giản của silicon cũng quan trọng, chứ không chỉ là giảm số lượng ký hiệu đại số tuyến tính
      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
    • Trong không gian nghiên cứu ML, có rất nhiều trường hợp gắn tên mới cho các khái niệm cũ rồi tái định vị thương hiệu là novel
    • Sẽ tốt hơn nếu giải thích thêm cho những người chưa rành
  • 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

    • Thứ nhất, tiêu đề đó không phải do các nhà nghiên cứu đặt, mà đến từ bài đưa tin của truyền thông đại chúng; bài được đăng ở đây ban đầu cũng là một bài viết lại từ một bài báo đại chúng khác. Kỳ vọng tác giả bài báo khoa học phải biện minh bằng benchmark cho những điều bài báo khoa học không hề tuyên bố là điều kỳ lạ
      “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
    • Ngược lại, đã có bằng chứng sống cho thấy một mạng nơ-ron lớn đáng kinh ngạc có thể chạy với công suất 20W, nên kỳ vọng có thể giảm tiêu thụ điện năng vài bậc độ lớn không phải là vô lý
    • https://github.com/microsoft/BitNet
      “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”
    • Dù đời sống hiện đại khá đáng thất vọng, muốn kéo traffic thì cần tiêu đề câu view. Dẫu vậy, đọc bài là việc đúng đắn. Thông tin nằm trong phần nội dung, không phải tiêu đề
  • https://en.wikipedia.org/wiki/Jevons_paradox có áp dụng trong trường hợp này không?

    • Thú vị đấy
      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
    • Có thể đó không hẳn là chuyện xấu. Biết đâu nó sẽ giúp các tay lừa đảo AI có thêm thời gian để tạo ra thứ thật sự hữu ích
    • Tất nhiên rồi. Jevons paradox luôn áp dụ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