- Điện toán đảo ngược (reversible computing) là một phương pháp lý thuyết có thể tiết kiệm năng lượng mà không cần xóa dữ liệu bằng cách thực thi phép tính theo chiều ngược lại, và đang được chú ý như một lựa chọn thay thế để giải quyết vấn đề tiêu thụ năng lượng của AI
- Máy tính hiện nay tất yếu phát ra nhiệt (năng lượng) khi xóa thông tin, và điều này không thể tránh khỏi do một giới hạn vật lý (nguyên lý Landauer)
- Khái niệm uncomputation chỉ giữ lại kết quả tính toán, còn phần còn lại được hoàn tác bằng cách chạy ngược phép tính để xử lý mà không làm mất thông tin, nhưng vẫn tồn tại các giới hạn thực tế như tốc độ và chi phí bộ nhớ
- Gần đây, người ta đã chứng minh thực nghiệm rằng với những tác vụ có nhiều phép tính song song như AI, nếu vận hành nhiều chip đảo ngược ở tốc độ chậm hơn, hiệu quả tiết kiệm năng lượng rất lớn
- Giới công nghiệp và các nhà nghiên cứu đang bắt tay vào phát triển chip đảo ngược thương mại thực tế, làm tăng khả năng hiện thực hóa bước đột phá về hiệu suất năng lượng cho AI
Sự thất thoát năng lượng mang tính nền tảng trong tính toán máy tính
- Khi máy tính cộng hai số, ví dụ 2 + 2 = 4, hai đầu vào sẽ chỉ còn lại một đầu ra
- Theo cách này, một phần thông tin biến mất, khiến phép tính mang tính không đảo ngược, và hiện tượng này là việc thông tin bị xóa được chuyển thành nhiệt năng
- Vì hầu hết máy tính đều hoạt động theo cách này, nên về bản chất luôn không thể tránh khỏi một mức độ mất thông tin (phát nhiệt) nhất định
Đề xuất điện toán đảo ngược của Landauer và các giới hạn
- Landauer từng hình dung ra một kiểu tính toán có thể giảm thất thoát năng lượng bằng cách ghi lại mọi kết quả tính toán mà không xóa thông tin
- Nhưng ông nhận ra rằng loại máy tính này không thực tế vì bộ nhớ sẽ nhanh chóng đầy, nên gặp vấn đề về tính ứng dụng
- Cuối cùng, Landauer kết luận rằng điện toán đảo ngược là một ngõ cụt
Ý tưởng uncomputation (tính ngược) của Bennett
- Năm 1973, Charles Bennett của IBM đề xuất một phương pháp chỉ lưu kết quả tính toán, còn lại thì chạy ngược quá trình tính toán (uncomputation) để xóa đi
- Giống như phép ví von Hansel và Gretel đi nhặt lại những mẩu bánh mì, cách này cho phép chỉ giữ lại dữ liệu cần thiết và loại bỏ phần còn lại mà không làm mất thông tin
- Nhược điểm của phương pháp này là thời gian tính toán tăng gấp đôi, nên từng bị xem là kém hiệu quả
Sự xuất hiện của các nghiên cứu nâng cao tính thực tiễn
- Năm 1989, Bennett cho thấy nếu dùng nhiều bộ nhớ hơn một chút thì có thể giảm mạnh thời gian tính toán
- Sau đó, các nhà nghiên cứu tiếp tục tìm cách tối ưu bộ nhớ và thời gian
- Tuy vậy, ngoài việc xóa dữ liệu, máy tính còn thất thoát năng lượng do chính cách các transistor được kết nối vốn kém hiệu quả
- Để chế tạo được máy tính đảo ngược tiết kiệm năng lượng thực sự, cần một cấu trúc ít thất thoát nhiệt ngay từ giai đoạn thiết kế
Chip nguyên mẫu của MIT và phản ứng từ ngành công nghiệp
- Trong thập niên 1990, các kỹ sư MIT đã chế tạo một chip nguyên mẫu với hiệu suất mạch cao hơn
- Frank tham gia với tư cách nghiên cứu sinh tiến sĩ và sau đó trở thành một học giả tiêu biểu trong lĩnh vực điện toán đảo ngược
- Tuy nhiên, trong bối cảnh hiệu năng chip truyền thống được cải thiện rất nhanh, sự thiếu quan tâm từ ngành công nghiệp đối với một phương án thay thế mang tính lý thuyết khiến hỗ trợ dành cho lĩnh vực này khá ít
- Frank cũng từng tạm gác nghiên cứu và đi tìm hướng khác
- Nhưng khi mạch điện tiến gần tới giới hạn thu nhỏ, sự quan tâm tới vấn đề hiệu suất năng lượng đã tăng vọt
Hiệu suất năng lượng của điện toán đảo ngược và khả năng ứng dụng vào AI
- Năm 2022, Hannah Earley từ Cambridge đã phân tích chi tiết hiệu suất năng lượng của máy tính đảo ngược
- Máy tính đảo ngược phát nhiệt ít hơn so với máy tính hiện tại, nhưng không thể hoàn toàn không phát nhiệt
- Đặc biệt, nghiên cứu xác định rằng với máy tính đảo ngược, càng giảm tốc độ thì lượng nhiệt phát ra càng ít
- Vì tính toán AI là môi trường xử lý song song, nên nếu cho từng chip chạy chậm hơn và tăng số lượng chip, có thể kỳ vọng giảm tổng năng lượng tiêu thụ
- Tốc độ chậm hơn cũng giúp giảm chi phí làm mát, từ đó còn có thể kỳ vọng hiệu quả bố trí chip dày đặc hơn, tiết kiệm không gian và vật liệu
Xu hướng thương mại hóa và triển vọng
- Khi các nhà đầu tư bắt đầu chú ý, Earley và Frank đã sáng lập Vaire Computing và bắt tay vào phát triển chip đảo ngược thương mại
- Mogensen của Đại học Copenhagen cùng những người khác bày tỏ kỳ vọng lớn rằng bộ xử lý đảo ngược sẽ thực sự được áp dụng trong công việc thực tế
- Điện toán đảo ngược, vốn chỉ dừng ở lý thuyết suốt hàng chục năm, hiện đang được theo dõi sát sao xem liệu có thể mang lại đổi mới thực chất trong AI và hiệu suất năng lượng hay không
Kết luận
- Điện toán đảo ngược đang được chú ý như một phương pháp thực tế có thể vượt qua giới hạn vật lý của máy tính, nơi việc xóa thông tin gây phát nhiệt, và trở thành công nghệ tiết kiệm năng lượng quy mô lớn trong kỷ nguyên AI
- Cách vận hành chip chậm hơn nhưng song song đang kết hợp với đặc tính cấu trúc của tính toán AI, khiến khả năng thương mại hóa thực tế ngày càng đến gần
1 bình luận
Ý kiến trên Hacker News
Trong tiểu thuyết Time của Stephen Baxter, có một tình tiết ở tương lai rất xa khi mọi ngôi sao đã tắt và tất cả hố đen đã bốc hơi, hậu duệ của loài người còn lại trong một vũ trụ đạt entropy cực đại. Trong trạng thái mà năng lượng tự do đã cạn kiệt hoàn toàn, những hậu duệ này sống bằng cách lặp đi lặp lại cùng một sự kiện chỉ với các phép tính thuận nghịch bên trong một mô phỏng khổng lồ, tức hoạt động mà không tiêu hao năng lượng. Họ lặp cùng một vòng sự kiện theo kiểu uncompute rồi compute lại kết quả tính toán
Từ góc nhìn của một kỹ sư phần mềm, có nhắc đến việc khá khó hiểu. Khái niệm electron bị mất đi khi xóa thông tin xuất hiện đầu tiên khiến thấy rối; electron bị mất ở khắp nơi, và phần lớn cổng hoạt động bằng cách phủ định dòng điện, vậy có phải tất cả những hành vi này đều là xấu không? Cũng đặt câu hỏi vì sao việc ghi lại mọi thay đổi bộ nhớ lại có thể ngăn thất thoát nhiệt, liệu việc phải giữ toàn bộ bộ nhớ liên tục như vậy có còn tốn nhiều năng lượng hơn không, và rốt cuộc vì sao lại cần phải quay ngược về quá khứ trong tính toán từ góc độ thực dụng
Về mặt lý thuyết, có thể xây dựng máy tính không quên thông tin, gần như không dùng điện và vì vậy cũng không sinh nhiệt. Loại máy tính này là reversible computing (adiabatic computing), trong đó mọi cổng tính toán đều phải có thể đảo ngược. Ở các bước đầu vào rất sơ khai và bước cuối như thiết lập trạng thái đầu vào hay sao chép đầu ra thì vẫn cần năng lượng. Trong thực tế, phần lớn điện năng tiêu thụ không phải do logic gate "xóa" thông tin mà do tổn hao ở các phần như điện trở dây dẫn. Muốn tạo CPU thuận nghịch hoàn toàn thì cần phần cứng đặc biệt như dây dẫn/thiết bị siêu dẫn. Ngoài ra còn phải đảo ngược phép tính, mà đó cũng không phải bài toán dễ; hoặc chấp nhận xóa trạng thái và tiêu hao năng lượng. Ví dụ ngoài đời thực là máy tính lượng tử, nơi các cổng logic lượng tử đều thuận nghịch và có thể chạy ngược
Từ góc độ nhiệt động lực học, một quá trình thuận nghịch về mặt lý thuyết là hiệu quả nhất có thể, điều này liên quan đến entropy. Khi xóa thông tin thì quá trình không còn thuận nghịch nữa nên việc sinh nhiệt là không thể tránh khỏi. Tuy vậy tất cả điều này vẫn hoàn toàn là lý thuyết, và máy tính thực tế còn rất xa mới chạm đến giới hạn đó. Các phần tử logic thực tế như AND, OR, NAND phần lớn là các phép toán bất thuận nghịch nếu đứng riêng
Có ý kiến chỉ ra rằng các thiết bị lưu trữ bền vững như ổ cứng hay SSD không tiêu tốn điện để duy trì dữ liệu nên cũng không sinh nhiệt. Tuy nhiên khi xóa hoặc ghi đè dữ liệu thì tất yếu cần năng lượng, và quá trình này tạo ra nhiều nhiệt. Vấn đề tản nhiệt là một trở ngại cho việc tiếp tục thu nhỏ chip. Nếu có thể thiết kế máy tính không xóa thông tin thì lượng nhiệt phát sinh sẽ giảm mạnh, từ đó hiệu năng chip tăng, tiết kiệm điện và mở ra khả năng cho scaling
Có phần hoài nghi về động cơ tiết kiệm năng lượng, nhưng bản thân việc triển khai kiến trúc deep learning thuận nghịch là một chủ đề nghiên cứu khá thú vị. Thực tế giai đoạn 2019~2021 đã có nhiều thảo luận sôi nổi, chẳng hạn chuỗi invertibleworkshop. Các mô hình diffusion đang thịnh hành gần đây cũng có thể xem là trường hợp đặc biệt của continuous normalizing flow nên về mặt lý thuyết việc tính toán là thuận nghịch. Tuy nhiên các mô hình đã distill dùng trong production thì gần như không còn như vậy. Các mô phỏng phương trình vi phân cũng khó khớp chính xác khi tính ngược do sai số làm tròn số thực dấu chấm động, nhưng nếu làm đủ tinh vi thì cũng có thể có mô phỏng thuận nghịch hoàn hảo ở mức bit-to-bit
Suy nghĩ về việc tính toán có hướng nghĩa là gì; có vẻ giống quan hệ nhân quả, nhưng thực ra dường như là vấn đề đầu vào và đầu ra. Có cảm giác cuối cùng vẫn phải chạy chương trình trước mới biết được, và nếu lưu lại trạng thái thì chỉ thấy việc backtracking trở nên dễ hơn
Đúng vậy, nhưng đây là câu chuyện ở tầng vật lý nên cần phần cứng riêng. Xóa thông tin (ví dụ phép AND) sinh nhiệt, vì vậy cần những cổng logic khác như cổng Fredkin
Thực ra mọi phép tính đều có hướng. Có người cho biết mình rất hứng thú với chủ đề này. Ví dụ hàm f(x) -> y tự nó đã chỉ ra hướng; tất nhiên sẽ tốt nếu luôn có thể đi ngược, nhưng vẫn thường tồn tại trường hợp không thể đảo. Chẳng hạn f(x)=mx+b thì dễ tìm hàm ngược (nếu m=0 thì không), còn f(x)=x^2 thì khi khôi phục x từ f(x), cả ±x đều phù hợp nên không duy nhất. Có thể áp dụng các khái niệm image và preimage của hàm. Điều này cũng liên quan mật thiết đến bài toán P=NP. Trong machine learning, Normalizing Flow là invertible, diffusion model có cấu trúc reversible, và người này bày tỏ không hài lòng với việc cộng đồng ML dùng thuật ngữ "inverse problem" trong các chủ đề như GAN-Inversion. Nếu hiểu khái niệm này sẽ thấy vì sao dự đoán chỉ chính xác theo một chiều còn chiều ngược lại thì thất bại. Cuối cùng nó quy về bài toán suy luận nhân quả. Trong vật lý, một mục tiêu lớn là biến đổi phương trình để tạo ra bản đồ nhân quả, nhưng ở entropy/cơ học lượng tử lại xuất hiện những bài toán khó nội tại. Ví dụ khi tính ngược trạng thái của các phân tử khí thì thay vì một nghiệm duy nhất sẽ có nhiều trạng thái khả dĩ. Tương tự ví dụ vi phân và tích phân, phép differentiation không thuận nghịch vì mọi f(x)+C đều cho cùng một giá trị vi phân, tức xảy ra mất mát thông tin theo một chiều. Nếu lấy mẫu trạng thái ở nhiều thời điểm thì không gian nghiệm có thể thu hẹp rất nhiều
Kết luận là nếu các phép toán bất thuận nghịch (xóa thông tin) được giảm đến mức tối thiểu thì có thể thực hiện tính toán thuận nghịch. Ví dụ: nếu toàn bộ các bước của 2 + 2 + 2 đều được ghi lại thì phép tính là thuận nghịch; nhưng nếu chỉ giữ kết quả cuối cùng và xóa lịch sử (chỉ còn số 6) thì nó là bất thuận nghịch
Có người nói mình vẫn theo dõi Mike P Frank trên Twitter và thường xuyên thấy các phát biểu thú vị của ông về reversible computing và AI: MikePFrank trên Twitter
Hy vọng công nghệ này có thể hữu ích khi xu hướng phần mềm dựa trên trung tâm dữ liệu GPU quay trở lại, nhưng cũng cho rằng giống như Jevons Paradox (khi hiệu quả tăng thì nhu cầu cũng tăng, khiến tiết kiệm năng lượng thực tế thất bại), cuối cùng nó có thể sẽ không trở thành điểm bẻ ngoặt
Thắc mắc kế hoạch cụ thể là gì, và liệu đã có trường hợp nào trình diễn reversible matmul trong thực tế hay chưa. Ngay cả phép toán đó dường như cũng khó tránh việc xóa thông tin ở các bước trung gian, nên nghi ngờ tính khả thi
Khi đọc tiêu đề bài báo, có người thấy mỉa mai vì ngay cả trang web đó cũng mất 12 giây để tải trên máy tính hiện đại. Mọi người thường không quan tâm đến vấn đề của người khác, và khi công nghệ mới xuất hiện (như AI), các chi phí xã hội như môi trường, việc làm cá nhân, hạ tầng, vi phạm bản quyền, hệ thống xã hội... có xu hướng bị ngoại hóa. Khi đạt được hiệu quả thì cuối cùng người ta lại dùng nó nhiều hơn cho bản thân, chứ không giảm bớt thiệt hại gây ra cho người khác, một cảm giác khá chua chát
Đã nhiều lần có chứng minh rằng dùng LLM nhiều lần vẫn tiêu thụ ít điện hơn so với việc đun nước bằng ấm điện