Модели и платформы ИИ
Исследователи создали альтернативу GPU

Компьютерные ученые из Университета Райса, вместе с коллегами из Intel (INTC ), разработали более экономически эффективную альтернативу GPU. Новый алгоритм называется “двигатель глубокого обучения с сублинейной сложностью” (SLIDE), и он использует общего назначения центральные процессоры (CPUs) без специализированного ускоряющего оборудования.
Результаты были представлены в Конференц-центре Остина, который проводит конференцию по системам машинного обучения MLSys.
Одной из самых больших проблем в области искусственного интеллекта (ИИ) является специализированное ускоряющее оборудование, такое как графические процессоры (GPUs). До новых разработок считалось, что для ускорения технологии глубокого обучения требуется использование этого специализированного ускоряющего оборудования.
Многие компании уделяют большое внимание инвестициям в GPU и специализированное оборудование для глубокого обучения, которое отвечает за технологии, такие как цифровые помощники, распознавание лиц и системы рекомендаций продуктов. Одна из таких компаний – Nvidia (NVDA ), которая создает графические процессоры Tesla (TSLA ) V100 Tensor Core. Nvidia недавно сообщила о 41% увеличении доходов в четвертом квартале по сравнению с прошлым годом.
Разработка SLIDE открывает совершенно новые возможности.
Аншумали Шривастава – помощник профессора в Школе инженерии Брауна Университета Райса и помог изобрести SLIDE вместе со студентами Бейди Чен и Таруном Медини.
“Наши тесты показывают, что SLIDE – это первый умный алгоритмический вариант глубокого обучения на CPU, который может превзойти аппаратное ускорение GPU на промышленных масштабах с большими полностью связанными архитектурами”, – сказал Шривастава.
SLIDE обходит проблему GPU благодаря совершенно другому подходу к глубокому обучению. В настоящее время стандартным методом обучения глубоких нейронных сетей является “обратное распространение”, которое требует умножения матриц. Эта нагрузка требует использования GPU, поэтому исследователи изменили обучение нейронной сети так, чтобы оно могло быть решено с помощью хеш-таблиц.
Этот новый подход значительно снижает вычислительную нагрузку для SLIDE. Текущая лучшая платформа GPU, которую компании như Amazon (AMZN ) и Google (GOOGL ) используют для облачного глубокого обучения, имеет восемь Tesla V100, и цена составляет около 100 000 долларов.
“У нас есть один в лаборатории, и в нашем тестовом случае мы взяли нагрузку, идеальную для V100, с более чем 100 миллионами параметров в больших, полностью связанных сетях, которые помещаются в память GPU”, – сказал Шривастава. “Мы обучили ее с помощью лучшего (программного) пакета, который есть, Google’s TensorFlow, и на обучение ушло 3,5 часа.
“Затем мы показали, что наш новый алгоритм может выполнить обучение за один час, не на GPU, а на 44-ядерном процессоре Xeon”, – продолжил он.
Хеширование – это тип метода индексации данных, изобретенный в 1990-х годах для интернет-поиска. Численные методы используются для кодирования больших объемов информации в виде строки цифр, называемой хешем. Хеши перечислены для создания таблиц, которые можно быстро искать.
“Не имело смысла реализовывать наш алгоритм на TensorFlow или PyTorch, потому что первое, что они хотят сделать, – это преобразовать все, что вы делаете, в проблему умножения матриц”, – сказал Чен. “Именно это мы хотели избежать. Поэтому мы написали свой собственный код на C++ с нуля”.
По словам Шриваставы, главное преимущество SLIDE заключается в том, что это параллельный алгоритм по данным.
“Под параллельностью по данным я подразумеваю, что если у меня есть два экземпляра данных, которые я хочу обучить, скажем, один – это изображение кошки, а другой – автобуса, они, скорее всего, активируют разные нейроны, и SLIDE может обновить, или обучить их независимо”, – сказал он. “Это гораздо лучше использует параллелизм для CPU”.
“С другой стороны, по сравнению с GPU, нам требуется большая память”, – сказал он. “В иерархии кэша основной памяти, если вы не будете осторожны с ней, вы можете столкнуться с проблемой, называемой кэш-трэшингом, когда вы получаете много промахов кэша”.
SLIDE открыл дверь для новых способов реализации глубокого обучения, и Шривастава считает, что это только начало.
“Мы только поцарапали поверхность”, – сказал он. “Есть многое, что мы еще можем сделать, чтобы оптимизировать. Мы не использовали векторизацию, например, или встроенные ускорители в CPU, такие как Intel Deep Learning Boost. Есть много других трюков, которые мы могли бы использовать, чтобы сделать это еще быстрее”.












