Нейроморфное будущее: попытка вложить мозг в сервер
До сегодняшнего дня производители процессоров были вынуждены следовать закону Мура для того, чтобы производить новое поколение чипов с большей производительностью и меньшим энергопотреблением. В наше время картина мира изменилась. Исследования по всему миру предлагают большое количество разнообразных архитектур, которые производительнее и потребляют меньше энергии. В этой статье мы поговорим об альтернативах и причинах, почему одна из таких технологий может быть выгодней, чем устаревший закон Мура и как она может повлечь за собой огромный скачок в развитии индустрии.
Что такое закон Мура? Его закат
Закон Мура или как его еще называют – спаситель всех производителей процессоров всего мира – был придуман доктором Гордоном Муром, основателем компании Intel, в 1965 году. Закон гласит: «Количество транзисторов в чипе должно удваиваться каждые 2 года». Почему же его так называли? Этот закон настолько сильно повлиял на полупроводниковою индустрию, что «люди не задумываясь покупали новую модель лучшего в своей категории процессора, пребывая в полной уверенности, что он будет лучше предыдущего», говорил бывший инженер Intel Роберт П. Колвелл. В прошлом программы с низкой производительностью не представляли собой проблемы, так как разработчики софта надеялись, что их спасет закон Мура.
Проблема, про которую мы сегодня говорим – это то, что закон на грани смерти (читайте статью "Умные чипы сгладят отказ от закона Мура в датацентрах") ! Или как говорит Генри Сэмюэли, технический директор Broadcom - «Оно седое, оно стареет, оно не мертвое, но тебе придется отправить закон Мура в дом престарелых (AARP)."
Чем ближе мы приближаемся к атомным размерам в производстве микрочипов, тем сложнее производителям уменьшать размер транзисторов. Этот факт очень сильно отразился на индустрии. Компания Intel, в 2015 году заявила, что новое поколение чипов будет выпускаться каждых 2,5 года, она также указала, что транзисторы смогут продолжать уменьшаться только в течение следующих 5 лет.
Что же привело к смерти столь долгоживущий закон? – Квантовая Механика! Давайте углубимся в работу процессора: все мы знаем, что он понимает только машинный код. Вне зависимости от того, что он сохраняет или выполняет, всё это представляется в виде 1 и 0. Эти состояния 1 или 0 сохраняются логическими блоками, которые, в свою очередь, состоят из транзисторов. Работа транзисторов заключается в регулировании потока электронов (путем создания потенциального барьера) так, чтобы удерживать определенное состояние в логических затворах. Теперь, когда мы спускаемся к шкале 1 нм = 10 атомов, становится трудно регулировать поток электронов. Даже при наличии потенциального барьера поток электронов продолжается из-за явления, называемого Квантовым туннелированием. В результате утечка тока значительно возрастает, что делает архитектуру неэффективной.
Альтернативные технологии
Большие компании, а также ученые пытаются обойти эту проблему чтобы не оказаться на дне индустрии. Передовые группы разработчиков Intel предполагают, что компания будет адаптировать новые материалы и структуры транзисторов для большего контроля проходящего тока. С ростом популярности машинного обучения, а также разнообразных новых и сложных алгоритмов, требования к процессорам, которые смогли бы выполнять сложные вычисления, выросли.
Ученые по всему миру работают в таких областях:
- Квантовый Компьютер: Он использует способность субатомной частицы существовать в более чем 1 состоянии в любой момент времени. В отличие от обычных битов, которые могут хранить либо 0, либо 1, квантовые биты (квиты) могут хранить гораздо больше информации. Это означает, что квантовый компьютер может хранить намного больше информации, чем обычный компьютер, потребляя при этом меньше энергии.
- Углеродные нанотрубки: Это микроскопические листы углерода, скатанные в цилиндры, активно исследуемые компанией IBM. В статье, опубликованной в журнале Science, они описывают новый способ создания транзисторов с использованием углеродных нанотрубок, которые могут быть значительно меньше, чем кремниевые транзисторы, имеющиеся у нас сегодня.
- Параллельные архитектуры: Этот подход широко использовался последнее десятилетие, чтобы обойти барьер производительности. Для выполнения одновременных операций разрабатываются высокопараллельные архитектуры (GPU). В отличие от архитектуры Джона фон Неймана, которая выполняет инструкции последовательно на одном ядре, в GPU есть параллельные потоки, работающие на нескольких ядрах, что значительно ускоряет процесс. Фокус также смещается в сторону энергоэффективной FPGA для замены GPU.
- Нейроморфное оборудование: включает в себя любое электрическое устройство, имитирующее естественные биологические структуры нашей нервной системы. Целью является придание когнитивных способностей машине путем внедрения нейронов в кремний. Благодаря гораздо лучшей энергоэффективности и параллельности данный чип рассматривается как альтернатива традиционным архитектурам и «энергопрожорливым» графическим процессорам.
Среди вышеперечисленных направлений квантовые вычисления и углеродные нанотрубки находятся на начальной стадии развития. Они до сих пор не способны на полную замену кремния, не говоря уже об их промышленном производстве. GPU используются уже давно, но они потребляют много энергии. Нейроморфное оборудование также находится на относительно промежуточных стадиях разработки, но обеспечивает весьма вероятное решение грядущего кризиса производительности.
Нейроморфное оборудование
Человеческий мозг является самой энергоэффективной и самой быстродейственной системой задержки, существующей на Земле. Он обрабатывает сложную информацию быстрее и гораздо лучше, чем любой компьютер. Во многом это связано с его архитектурой, которая состоит из плотных нейронов, эффективно передающих сигналы через свои синапсы. Целью нейроморфной инженерии является реализация этой архитектуры и производительности в кремнии. Термин был придуман Карвером Мидом в конце 1980-х годов, описывая системы, содержащие аналоговые/цифровые схемы, имитирующие нейробиологические элементы, присутствующие в нервной системе. Многие исследовательские учреждения инвестировали в разработку чипов, которые могут делать то же самое.
Система нейроморфной адаптивной пластичной масштабируемой электроники (SyNAPSE) DARPA 16 TrueNorth chips. Каждый чип имеет один миллион кремниевых "нейронов" и 256 миллионов кремниевых синапсов между нейронами. Источник: IBM Corp
Нейроморфный чип IBM - TrueNorth имеет 4096 ядер, каждое из которых имеет 256 нейронов, и каждый нейрон имеет 256 синапсов для связи с другими. Архитектура, будучи очень близкой к мозгу, очень эффективна в аспекте энергопотребления. Аналогично, Loihi от Intel может похвастаться 128 ядрами, каждое ядро имеет 1024 нейрона. Группа APT из Университета Манчестера недавно обнаружила самый быстрый в мире суперкомпьютер - SpiNNaker, состоящий только из нейроморфных ядер. Brainchip - еще одна компания, разрабатывающая аналогичные чипы для приложений в области обработки данных, кибербезопасности и финансовых технологий. Проект The Human Brain Project - это масштабный проект, финансируемый Евросоюзом, который ищет ответ на вопрос – как создавать новые алгоритмы и компьютеры, имитирующие работу мозга.
Все эти системы имеют одну общую черту – все они отличаются высокой энергоэффективностью. TrueNorth потребляет 1/10,000 удельной мощности обычного процессора Джона фон Неймана. Эта гигантская разница обусловлена асинхронной природой обработки на чипе, как в человеческом мозге. Каждый нейрон не нуждается в обновлении на каждом шаге. Только те, которые находятся в действии, требуют энергии. Это называется событийно-ориентированной обработкой и является самым важным аспектом для визуализации нейроморфных систем как подходящей альтернативы для обычных архитектур.
Нейронная сеть с «шипами»
Плотная сеть нейронов, соединенных синапсами на нейроморфном чипе, называется "шипованная нейронная сеть" (Spiking Neural Network). Нейроны взаимодействуют друг с другом, передавая импульсы через синапсы. Вышеупомянутые чипы реализуют эту сеть на аппаратном уровне, но огромное внимание уделяется ее моделированию в программном обеспечении, а также для оценки производительности или решения проблем распознавания образов и других прикладных задач машинного обучения.
«Нейронные сети с шипами» кодируют информацию во временном домене в виде «поездов с шипами», т.е. разница во времени между двумя последовательными шипами определяет свойства сети. Функционирование самого основного элемента сети - нейрона, регулируется дифференциальным уравнением. Вход в нейрон осуществляется в виде дискретных шипов во временной области, а не в виде непрерывных значений. Благодаря этим идиосинкразиям, SNN методология, используемая для его обучения, также отличается от существующих искусственных нейронных сетей. Вместо градиентного спуска используется более биологически правдоподобное Хеббианское Обучение (Hebbian Learning). Оно также называется Spike Time Dependent Plasticity (STDP).
Поначалу все это может показаться эзотерическим и требует времени, чтобы понять сетевую динамику SNN. Поскольку эта технология все еще находится в стадии развития, имеющейся документации недостаточно для полного понимания.
Эта серия блогов направлена на развитие понимания SNN с нуля с каждым элементом сети, подробно объясненным и реализованным на Python. Также будут обсуждаться существующие на Python библиотеки для SNN.
Рон Амадео
11/02.2020