Thermodynamic Computing System for AI Applications
Denis Melanson, Mohammad Abu Khater, Maxwell Aifer, Kaelan Donatella, Max Hunter Gordon, Thomas Ahle, Gavin Crooks, Antonio J. Martinez, Faris Sbahi, Patrick J. Coles
Статья:
https://arxiv.org/abs/2312.04836
Блог:
https://blog.normalcomputing.ai/posts/2023-11-09-thermodynamic-inversion/thermo-inversion.html
Работа от компании Normal Computing (
https://normalcomputing.ai/) про новый класс железа —
термодинамический компьютер и
stochastic processing unit (SPU). На этом устройстве реализовали одну из базовых операций линейной алгебры, активно используемую в ML, обращение матрицы.
Про
термодинамический ИИ (Thermodynamic AI) от этой же команды есть более ранняя работа
“Thermodynamic AI and the fluctuation frontier” (
https://arxiv.org/abs/2302.06584) с постом про неё (
https://normalcomputing.substack.com/p/thermodynamic-ai-intelligence-from), и работа
“Thermodynamic Linear Algebra” (
https://arxiv.org/abs/2308.05660). Ещё более ранняя работа
“Thermodynamic Computing” (
https://arxiv.org/abs/1911.01968) от более широкого коллектива авторов отражает результаты воркшопа по теме термодинамических вычислений.
В двух словах идея заключается в том, что строительные блоки такого железа стохастические и в итоге софт становится неотделим от железа (что аналогично ситуации с Mortal Computers Хинтона,
https://t.center/gonzo_ML/1910). В отличие от квантовых и аналоговых компьютеров шум является здесь необходимым ресурсом для вычислений.
Немалое число алгоритмов в ML основано на различной физике, например, energy-based модели или диффузия. Стохастика вообще используется везде, от инициализации весов, через строительные блоки нейросетей (dropout), до процедур генерации (та же диффузия или более старые VAE и GANы). Для таких алгоритмов природные стохастические флуктуации могут стать важным ресурсом.
Новые строительные блоки включают в себя
стохастические биты (s-bits), состояние которых случайно эволюционирует во времени как марковская цепь с непрерывным временем (continuous time Markov chain, CTMC). Поскольку не везде нужны биты (веса нейросети или значения фич скорее вещественные числа), то и строительный блок может быть соответствующим. Поэтому фундаментальный строительный блок Thermodynamic AI hardware — это
стохастический блок (stochastic unit, s-unit) — непрерывная переменная, претерпевающая броуновское движение. Реализовать такой блок можно на аналоговой электрической схеме с шумным резистором и конденсатором.
Цель авторов — унифицировать современные алгоритмы в ИИ. У многих из них есть общность: 1) они используют стохастику, 2) вдохновлены физикой. Отсюда предложение унифицировать такие алгоритмы на базе термодинамики. Примеры термодинамических алгоритмов: генеративные диффузионные модели, гамильтоново монте карло, симуляция отжига. Можно сформулировать математический фреймворк (описан в вышеупомянутой работе
https://arxiv.org/abs/2302.06584, и вообще, кто хочет больше мяса — вам туда), где эти алгоритмы будут его специальными случаями. А раз так, то одно и то же термодинамическое железо может ускорять все эти алгоритмы. Профит!
Возвращаясь к текущей работе, в ней представлен первый
continuous-variable (CV) thermodynamic computer. Авторы создали
stochastic processing unit (SPU), размещающийся на печатной плате. Он содержит 8 ячеек, каждая из которых это LC контур с источником тока с гауссовым шумом (реализован на FPGA). Ячейки все связаны друг с другом. Для кастомизации в каждой ячейке не один конденсатор, а батарея из четырёх, чтобы можно было выбирать. Также можно менять уровень шума и частоту дискретизации (базовая частота 12 МГц), с которой считываются значения напряжений в ячейках.