Производительность современных микрокомпьютеров и их энергоэффективность поражает воображение . Но для решения задач, стоящих перед современными нейросетями – от технического зрения и обработки естественной речи до управления динамическими объектами – хотелось бы большего. И вот – прямо по спирали развития Гегеля – инженеры IBM обратились на новом технологическом уровне к технологии, когда-то повсеместно распространенной, а теперь, во всяком случае в области вычислительной техники, забытой – к аналоговой схемотехнике.
Всего лишь полвека назад распространенных аналоговых вычислительных устройств соперничала с распространенностью устройств дискретных – логарифмическая линейка была почти у каждого старшекласника, а счеты – у каждой продавщицы. Это неэлектронные устройства, но разница наглядна и на них. Дискретные оперируют представлениями цифр, обозначаемых костяшками на проволоках, игравших в счетах роль десятичных разрядов. Аналоговые – соотносят числовые данные с физческими величинами, которыми в логарифмических линейках выступала длина.
С середины 1940-х годов, с изобретения операционного уселителя, аналоговые вычислители становятся электронными. Что такое операционный усилитель? Это – усилитель постоянного тока с дифференциальным (то есть – определяемым разностью входных напряжений) входом и очень большим коэффициэнтом усиления. Использовали его в схемах с глубокой отрицательной обратной связью, в результате чего его коэффициент передачи определялся только соотношением сопротивлений в сигнальной цепи и цепи обратной связи. (Входное сопротивление лампового операционного усилителя было весьма велико.) А заменив в цепи обратной связи резистор на конденсатор, мы получали возможность решать задачу интегрирования.
Типичным представителем аналоговых вычислительных машин была созданная в СССР в 1955 г. под руководством В.Б.Ушакова «модель нелинейная» МН-7 с рабочим напряжением 100 В и шестью операционными усилителями, позволявшими решать систему дифференциальных уравнений до 6-го порядка. Для более сложных задач несколько машин объединялся воедино. Результат, кривые динамических процессов, выводился или на многолучевой катодный осциллограф, или на осцилограф шлейфный, где ультрафиолетовые зайчики записывали кривые на светочувствительной бумаге. Еще в 1980-е такие устройства соседствовали в оборонке с купленными за валюту и в обход санкций VAX-11/785.
Причина долгоживучести – быстродействие. Там, где речь идет о нелинейных динамических процессах, особенно с разнесенными постоянными времени, очень удобно не прибегать к численному интегрированию, меняя раз за разом параметры, а покручивая потенциометры, эти самые параметры моделирующие, смотреть на экране, как меняется поведение системы… Точность да, точность была довольно низкой – но на ранних этапах инженерной разработки, когда надо понять, как ведёт себя качающаяся часть орудия с последовательно навешиваемыми ракетными контейнерами, телевизионными, тепловизионными и радиолокационными блоками, она позволяла получать полезную информацию.
Потом, по мере взрывного взлета микропроцессорной техники, аналоговые вычислители ушли в прошлое. Низкая точность, постоянная нужда в возне с паяльником, которым набираются RC-цепочки (эталонных магазинов сопротивлений и емкостй никогда не хватало, да и они удобством похвастаться не могли…). Посмотреть поведение динамической системы сегодня можно на специализированных программах вроде VisSim или модулях вроде Dynamic Simulation. Аналоговая схемотехника нынче осталась разве что в магазинах для самых продвинутых (или наиболее подверженных рекламе…) аудиофилов, которым милее шумы винила, чем шумы высокоразрядного квантования…
И вот к аналоговой схемотехнике обратились специалисты IBM Research – Equivalent-accuracy accelerated neural-network training using analogue memory. Задача, стоявшая перед ними, состояла в резком повышении производительности и эффективности нейросетей в задачах глубокого машинного обучения. Дело в том, что даже современные многоядерные вычислители с архитектурой фон Неймана (на настоящий день ведущие генеалогию от видеокарт) не слишком оптимальны для задач нейросетей, своеобразных аналогов нервных систем животных и человека.
Да, кремниевые процессоры перемалывают легионы чисел с бухгалтерской точностью (Паскаль же изобретал свою счетную машину для помощи папе-мытарю…). Они несопоставимо быстрее сигналов в нервных сетях. И – точнее! Но, нейронов в головном мозгу много-много больше. И они работают с очень и очень высокой степенью параллелизма. Так что архитектуры фон Неймана соревнуются с ними явно не на своем поле… Поэтому инженеры IBM и решили перенести обработку «нейросетевой» информации из регистров процессора в память.
Для этого оказались весьма подходящими микросхемы энергонезависимойпамяти с изменением фазового состояния, Phase-change memory, PCM. Их халькогенид, тот самый материал, что используется в перезаписываемых оптических носителях DVD-RW, под действием нагрева мигрирует из аморфного состояния в кристаллическое. И вот оказалось, что точности этой самой миграции между фазовыми точками вполне достаточно для решения конкретных задач глубокого обучения. Нейрон же, хоть и аналогов, но он по большому счету то ли возбужден, то ли заторможен…
Так что для формирования весовых коэффициентов многоуровневых нейронных сетей были использованы почти те же приемы, с помощью которых на аналоговых ЭВМ моделировались дифференциальные уравнения; тем же суммированием через резистивные цепочки, обеспечивающим высочайшую параллельность вычислений. Только искомая величина накапливается не на обкладках конденсатора, а изменяет фазовое состояние вещества. Со значительной ошибкой, которая в данном случае не важна.
Старшие из читателей, наверное, помнят, как в 1990-е и на фотоаппаратах, и на стиральных машинах было принято писать fuzzy set logic. Нечеткая логика – от упоминания которой чистые математики произносят слова, которые никак не ожидаешь от профессора с международной репутацией – оказалась приемом, с помощью которого инженеры уходили от парадокса Буриданова осла. От невозможности принятия решения при двух точных и равных сигналах. («Дребезг» систем регулирования в такой ситуации известен каждому, кто с ними возился…)
А вот нейросеть принципиально неточна по своей природе. И низкая точность для нее может быть не проблемой, а достоинством. Особенно если она бережет ресурсы. А энергоэффективность систем с аналоговой памятью разработчики оценивают 28 065 GOP/секунда на Вт. Эффективность на единицу площади – 3,6 TOP/секунда на кв. мм. Правда, пока физически все опробовано лишь на прототипе (в отличие от доступных к поставкам ориентированных на нейросетевые задачи потомков видеокарт), но технология выглядит весьма привлекательной и перспективной.
Возможно тем, кому на новом технологическом уровне покажется перспективным использование элементов аналоговых вычислений, окажется полезной старая книга Тетельбаум И. М., Шнейдер Ю. Р. 400 схем для ABM. — M., 1978. В ней суммирован опыт, накопленный за десятилетия работы с АВМ.