Принципы работы нейронных сетей и искусственного интеллекта (ИИ) далеко выходят за рамки традиционных процессорных архитектур типа x86 или ARM, считает главный технический директор Intel Artificial Intelligence Product Group (AIPG) Амир Косровшахи. Он был сооснователем и CTO компании Nervana Systems, которую процессорный гигант приобрел в августе прошлого года. Основанная в 2014 г., Nervana специализировалась на разработках в области ИИ, а именно — на глубоком обучении (Deep Learning, DL).
Стоит пояснить, что под DL понимается набор алгоритмов машинного обучения, которые пытаются моделировать высокоуровневые абстракции в данных, используя архитектуры, состоящие из множества нелинейных трансформаций. Методы DL, в частности, используются для решения таких задач, как распознавание изображений и раскрытие закономерностей в больших объемах данных.
Финансовая сторона сделки сторонами не раскрывалась, но о её важности для Intel можно судить хотя бы по тому, что наработки калифорнийского стартапа стали основой едва ли не всех новых бизнес-проектов Intel, в первую очередь это касается ИИ.
В интервью ZDNet Косровшахи высказал ряд мыслей, которые проясняют особенности работы ИИ. Nervana была одним из пионеров в области DL, поэтому многое знает об ИИ. По словам Косровшахи, когда компания начинала свои эксперименты с ИИ, она брала за основу новейшие на то время графические процессоры (GPU) Nvidia, но, решая задачи низкоуровневого программирования, инженеры компании быстро поняли, что стандартный ассемблер Nvidia воспроизводит инструкции не оптимально, и заменили его собственным. «Мы переделали ассемблер, частично исходя из собственных нужд, но затем выяснилось, что он ретранслирует исходные тексты в два-три раза быстрее, чем библиотеки Nvidia. В итоге мы перевели этот продукт в Open Source», — сказал он.
Но компания не ограничилась совершенствованием софта и пошла гораздо дальше — создала процессор для глубокого обучения нейронных сетей. «Нейронные сети — это серия заранее заданных операций, это не похоже на то, как пользователь взаимодействует с системой. Такие сети представляют собой набор инструкций, который можно описать как граф информационных потоков», — сказал Косровшахи. Относительно недостатков GPU он пояснил, что многие заложенные в них средства — рендеринг, большой объём кеш-памяти, обработка текстур и отрисовка геометрических фигур — явно избыточны для решения задач, связанных с тренингом ИИ.
«Многие схемы в GPU попросту не задействуются в машинном обучении, они накапливают сырой, необработанный материал, которого со временем становится всё больше и больше. Понимая это, вы задаётесь вопросом: зачем вам бόльшая часть чипа, который к тому же потребляет немало энергии? А ведь нейронные сети на удивление простые, и их главной особенностью является алгоритм перемножения матриц и нелинейностей. Погружаясь в глубину алгоритма, вы можете создать свой чип, который будет точно соответствовать архитектуре нейронных сетей, тогда как GPU на это не способен», — считает Косровшахи.
Имеется ли такой чип у Intel? Отвечая на этот вопрос, топ-менеджер Intel рассказал о процессоре под названием Lake Crest. Это дискретный ускоритель, который компания собирается выпустить во второй половине года. Правда, он попадет в распоряжение лишь избранных пользователей. Ускоритель будет нести 12 вычислительных кластеров, связанных между собой новой высокоскоростной двунаправленной шиной, каждый канал которой обеспечит пропускную способность до 100 Гбит/с. Обратим внимание, что вместо вычислительных ядер компания оперирует понятием «кластера», что подразумевает дробление каждого кластера на множество ALU или других специфических блоков.
Фактически Intel продолжает дело GPGPU, только вместо изначально шейдерных процессоров, как это сделали AMD и Nvidia, продвигает в сферу DL вычислительные ядра. Intel ранее заявляла, что планирует интегрировать Lake Crest в свои серверные решения Xeon. Возможно, ускоритель будет работать в качестве сопроцессора для обработки специфических задач машинного обучения. Хотя процессоры Xeon доминируют на рынке оборудования для ЦОДов, они не подходят для специфических рабочих нагрузок ИИ.
«Это специализированный чип — тензор, он взаимодействует с инструкциями на уровне матричных операций: одна матрица умножается на другую, обе проходят через таблицу подстановки, образуя ассоциативный массив. Это пример высокоуровневых инструкций. Логика GPU выстраивается по-другому: поэлементного умножение наполняет регистры информацией, заставляя их перемещаться. Это низкоуровневые перемещения», — объясняет Косровшахи.
Intel скупает компании, занимающиеся опытными разработками в области ИИ. «Разработать новую процессорную архитектуру с нуля невообразимо сложно, поэтому Intel покупает компании. В частности, она купила производство программируемых матриц, купила Altera, которая имеет очень качественную архитектуру, приспособленную к тому же к нейронным сетям, и, конечно, Nervana», — говорит Косровшахи. Он пояснил, что у многих сложилось неправильное представление о нейронных сетях как о микросхеме, хотя на самом деле большая часть их функциональности возлагается на ПО.
«Софт играет важную роль, поэтому даже в случае с Lake Crest инструкции не выглядят как приказ: „нейронная сеть, сделай это!“, а являются умножением матриц. Этот софт достаточно умен и способен распознать, когда пользователь обращается к нему или что-то ищет», — сказал Косровшахи. Кстати, помимо опыта в разработке чипов он обладает научной степенью в области нейробиологии. По его словам, задача разработчиков ИИ-приложений состоит не в воссоздании принципов работы человеческого мозга, а в том, чтобы выйти за пределы его возможностей.
Мозг можно расценивать как пример ИИ, но он определенно ограничен зрительной системой, восприятием физических объектов и занимается сбором статистических данных о реальном мире. «Оглянитесь вокруг— и вы увидите разного рода углы, плоскости, поверхности, затемненные области и т. д. За их восприятие в структуре человеческого мозга отвечает первичная зрительная кора, состоящая из подмножеств чувствительных нейронов, так и наш ИИ — он наполняется статистикой и способен делать выводы: „если двигаться туда, то можно врезаться в объект“, „это — чашка“ или „мне нужно удержать чашку“», — говорит Косровшахи.
И если последние действия — относительно простые, то, к примеру, анализ разрозненных корпоративных данных на порядок сложнее. «Чтобы создать ИИ, работающий с этими данными, нужно выйти за рамки человеческого восприятия. В результате мы получим ИИ, различающий бизнес-данные и медицинскую статистику, то есть все виды данных, которые по своей природе сложнее физической реальности», — сказал он.
Intel — не единственная компания, работающая над созданием процессорной архитектуры для ИИ. В мае Google представила специализированный чип для машинного обучения Tensor Processing Unit (TPU), который в