«Глубокое обучение» — область еще мало исследованная, но некоторые вещи уже начали осваиваться. В частности, эксперты признают, что нейронные сети могут выполнять множество вычислений, затрачивая небольшой энергию, если чип аппроксимирует ответ, используя математику с малой точностью. Это особенно полезно в мобильных и других устройствах с ограничением потребляемой энергии. Но некоторые задачи, особенно обучение нейронной сети, требуют высокой точности.
Недавно компания IBM представила свое новейшее решение, которое пока что является прототипом: чип-ускоритель. Переключение между потребностями обучения нейронной сети и выполнением функции, называемой выводом информации, было одной из больших проблем для тех, кто разрабатывает чипы, ускоряющие работу искусственного интеллекта (ИИ). Новый чип-ускоритель IBM делает то, что компания называет «масштабированной точностью». То есть, он может выполнять как обучение, так и вывод информации в 32-х, 16-ти, или даже 1-ом или 2-х битном формате. Инженеры IBM поясняют: «Самая высокая точность, которую можно достичь для обучения, — это 16 бит, а самые продвинутые интерфейсы, которые можно сделать для вывода информации — это 2 бита. Разработанный чип потенциально охватывает лучшие из известных сегодня обучающихся чипов и лучший из известных сегодня интерфейсов вывода. Способность чипа делать все это происходит из двух нововведений, которые направлены на то же самое, что и все компоненты процессора, питаемые данными и обрабатывающие данные. Одна из проблем, с которыми мы сталкиваемся при использовании традиционных архитектур чипов (когда дело доходит до глубокого обучения) заключается в том, что использование производительности чипа обычно очень низкое». То есть, хотя чип может обеспечивать очень высокую производительность, обычно только от 20 до 30 процентов его ресурсов могут быть использованы для решения задачи. Чип IBM целиком рассчитан на использование 90% своей производительности для решения всех задач».
Низкое использование производительности чипа обычно связано с «узкими местами»: в потоке данных через чип. Чтобы преодолеть эти «информационные инфаркты», группа инженеров из IBM придумала «настроенную» систему потока данных. Система потока данных является сетевой схемой, которая ускоряет перемещение данных с одного процессора обработки на другой. Она настраивается в зависимости от того, работает ли чип в режиме обучения, или выводит информацию, а также для разных шкал точности. Второе нововведение заключается в использовании специально разработанной «встроенной памяти» на кристалле, вместо традиционной кэш-памяти, используемой в процессоре или графическом процессоре. Кэш-память построена так, чтобы подчиняться определенным правилам, которые имеют смысл для общих вычислений, но вызывают задержки при глубоком обучении. Например, существуют определенные ситуации, когда кеш будет «выталкивать» часть данных в основную память компьютера. Но если эти данные необходимы как часть процесса вывода информации или обучения нейронной сети, тогда система будет ждать, пока эта часть данных не будет извлечена из основной памяти. Встроенная память не пользуется этим правилам. Она сохраняет данные, протекающие через процессоры чипа, следя за тем, чтобы данные находились в нужном месте и в нужное время. Чтобы получить 90-процентное использование быстродействия, IBM разработала «блокнот» с большой пропускной способностью чтения / записи: 192 гигабайта в секунду.
Разработанный чип может выполнять все три основных современных метода глубокого изучения: сверхточные нейронные сети (CNN), многослойные персептроны (MLP) и длинную кратковременную память (LSTM). Вместе эти методы доминируют в распознавании изображений и обработкой естественного языка. В типичном 16-ти битном режиме новые чипы IBM производят 1,5 трлн. операций в секунду. При 2-х битной точности (которая лучше всего подходит для вывода информации — это скачок в производительности до 12 трлн. операций в секунду. Поскольку чип сделан с использованием усовершенствованного процесса производства кремниевых интегральных схем (14-нанометровый процесс Global Foundries), все эти «операции в секунду» упаковываются в довольно маленькую область. Чип может выполнять в среднем 1,33 трлн операций в секунду на квадратный миллиметр. Эта цифра важна, потому что во многих приложениях имеются жёсткие ограничения на размеры интегральных схем.
Нет комментарий