IEEE Spectrum AI→ оригинал

Stanford показал чип Onyx для разреженного ИИ: быстрее CPU и в 70 раз экономичнее

Stanford показал Onyx — программируемый ускоритель для разреженных AI-вычислений. Чип не тратит ресурсы на операции с нулями, поэтому в тестах оказался примерно

Stanford показал чип Onyx для разреженного ИИ: быстрее CPU и в 70 раз экономичнее
Источник: IEEE Spectrum AI. Коллаж: Hamidun News.

Исследователи Stanford представили ускоритель Onyx, который умеет извлекать пользу из «нулей» внутри AI-моделей. Идея в том, чтобы не тратить энергию на умножения и сложения, которые заранее ничего не меняют, и за счет этого ускорять вычисления без отказа от больших моделей.

Почему нули важны В нейросетях данные, веса и активации хранятся как

массивы чисел — векторы, матрицы и тензоры. Во многих случаях значительная часть этих чисел равна нулю или настолько близка к нулю, что их можно считать нулями без заметной потери качества. Это свойство называют разреженностью.

Если нулей больше половины, модель уже может выигрывать от специальных алгоритмов: вместо хранения и обработки всей матрицы система сохраняет только полезные значения и пропускает пустые операции. Для индустрии это важно, потому что модели растут быстрее, чем инфраструктура успевает дешеветь. Чем больше параметров, тем выше качество, но и тем дороже запуск по времени, энергии и углеродному следу.

В статье приводится пример Meta Llama с 2 триллионами параметров. Исследователи также напоминают о результатах Cerebras: на Llama 7B удалось занулить 70–80 процентов параметров без потери точности. Это означает, что внутри крупных моделей уже спрятан резерв для ускорения — его нужно лишь научиться использовать.

Где теряется эффективность

Проблема в том, что популярное железо изначально строилось под плотные вычисления, а не под разреженные структуры. Когда данные сжаты, вместе с ненулевыми значениями нужно хранить метаданные — индексы строк, столбцов и сегменты. Доступ к таким данным становится косвенным и непредсказуемым: процессору приходится сначала искать координаты, а потом уже само значение. В результате часть времени уходит не на математику, а на блуждание по памяти и служебные операции.

  • GPU отлично справляются с плотными матрицами, но при случайной разреженности часто параллелят бесполезные операции с нулями.
  • Structured sparsity помогает не всегда, потому что требует жесткого шаблона обнуления, например два нуля из каждых четырех соседних параметров.
  • CPU гибче, но часто упираются в промахи префетчера и непредсказуемые обращения к памяти.
  • Даже sparse-библиотеки снижают не все накладные расходы, потому что часть ресурсов уходит на обслуживание самих данных. Производители уже ищут обходные пути, но пока они точечные. Apple ускорила косвенные обращения к памяти в чипах A14 и M1, Cerebras продвигает sparse-подход в своем Wafer Scale Engine, а Meta развивает MTIA. Но и здесь есть ограничения: одни решения работают только с разреженностью весов, другие раскрывают поддержку только для отдельных операций вроде умножения матриц. Для реальных AI-нагрузок этого мало, потому что модели состоят не из одной операции, а из длинной цепочки разных слоев и преобразований.

Как устроен

Onyx Команда Stanford пошла с нижнего уровня и сделала Onyx — программируемый ускоритель, который одинаково умеет работать и с разреженными, и с плотными вычислениями. В его основе лежит CGRA-архитектура, промежуточный вариант между CPU и FPGA: она заметно гибче классического процессора, но при этом эффективнее полностью битово-конфигурируемых схем. Onyx состоит из вычислительных блоков и блоков памяти, которые хранят сжатые матрицы и сразу обрабатывают их в таком виде, не разворачивая обратно в плотный формат без необходимости.

Отдельно важен компилятор: он переводит выражения вроде умножения разреженной матрицы на вектор в граф памяти и вычислений, а затем раскладывает его по блокам чипа. По данным Stanford, в среднем Onyx потреблял в 70 раз меньше энергии, чем CPU, и выполнял вычисления примерно в 8 раз быстрее. По метрике energy-delay product выигрыш доходил до 565 раз относительно 12-ядерного Intel Xeon со sparse-библиотеками.

Следующее поколение Onyx должно добавить поддержку нелинейных слоев, нормализации, softmax и более удобного переключения между sparse- и dense-режимами.

Что это значит

Главная идея статьи не в том, что появился еще один AI-чип, а в том, что разработчики начинают оптимизировать модели не только за счет меньшей точности или меньшего размера, но и за счет структуры самих вычислений. Если подход с разреженностью закрепится, крупные модели можно будет запускать дешевле и быстрее, а значит следующий скачок в AI может прийти не только от новых моделей, но и от нового класса железа.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Загружаем комментарии…