SK hynix и TetraMem представили экспериментальный процессор на основе мемристоров для энергоэффективного ИИ на периферийных устройствах
Компании SK hynix, TetraMem и исследователи из Университета Южной Калифорнии (USC) разработали систему-на-кристалле (SoC) для вычислений в памяти (In-Memory Computing, IMC) с использованием мемристоров. Устройство предназначено для ускорения вывода нейронных сетей в легких моделях искусственного интеллекта на периферийных устройствах (Edge AI). Проект позиционируется преимущественно как концептуальная демонстрация возможностей технологии: пиковая производительность чипа составляет около 2,54 тераопераций в секунду (TOPS) в теоретическом лучшем случае, что на порядок ниже требований Microsoft Copilot+.
Архитектура оптимизирована для свертки с глубиной (Depthwise Convolution, DWC). Технология вычислений в памяти на основе мемристоров ускоряет работу нейронных сетей за счет выполнения аналоговых вычислений непосредственно внутри массивов памяти. Это снижает объем перемещаемых данных и энергопотребление по сравнению с традиционными GPU или NPU. Однако стандартные кроссбар-массивы плохо подходят для DWC — ключевой операции в легких сетях, таких как MobileNet, поскольку она требует независимой фильтрации по каналам с ограниченным повторным использованием данных. Для решения этой проблемы разработчики создали SoC, сочетающий традиционные IMC-кроссбары и специализированную архитектуру на основе мемристоров, оптимизированную именно для DWC.
Разработанный SoC построен на базе встроенного процессора RISC-V, который управляет распределением рабочих нагрузок, и включает десять блоков обработки нейронных сетей (NPU). Один из десяти NPU выделен исключительно для выполнения сверток с глубиной, остальные девять выполняют поэлементные (pointwise) и плотные (dense) операции. Девять стандартных NPUs содержат кроссбар-массив мемристоров размером 256?256 для аналогового векторно-матричного умножения (VMM), 256 цифро-аналоговых преобразователей (DAC) разрядностью 8 бит для конвертации цифровых активаций в аналоговое напряжение, а также 256 аналого-цифровых преобразователей (ADC) разрядностью 8 бит. Дополнительно предусмотрены периферийные схемы для чтения, записи и управления массивом.
NPU, оптимизированный для DWC, отличается конструкцией: вместо стандартного массива он использует восемь специализированных кроссбар-блоков зигзагообразной топологии размером 252?28, сохраняя при этом DAC и ADC. Компания SK hynix разработала мемристивные элементы и интегрировала ячейки с резистивным переключением поверх CMOS-цепей техпроцесса 65 нм с использованием собственных процессов задней части технологической цепочки (back-end process).
Ключевой особенностью SoC является NPU для DWC. Для ускорения этой операции компания TetraMem заменила прямые линии выбора, используемые в традиционных кроссбарах конфигурации 1T1R, на зигзагообразную топологию. В результате NPU содержит восемь блоков размером 252?28, диагональные линии которых активируют 252 ячейки памяти в 28 столбцах. Это позволяет выполнять параллельно 28 независимых сверток 3?3 с использованием 100% массива для хранения весов. Остальные девять NPUs сохраняют традиционные кроссбары 1T1R для слоев 1?1 и плотных слоев, поддерживая пропускную способность и энергоэффективность классических вычислений в памяти.
Для демонстрации архитектуры исследователи развернули модифицированную нейронную сеть MobileNetV1Small на бенчмарке Visual Wake Words. Сеть содержит около 36 000 параметров; все слои сверток с глубиной были отнесены к выделенному NPU, а поэлементные слои — к остальным NPUs.
Поскольку аппаратное обеспечение IMC на основе мемристоров изначально выполняет беззнаковое аналоговое векторно-матричное умножение, входы и веса квантуются до 8-битных беззнаковых значений перед выполнением операций. Поскольку каждая ячейка мемристора может быть запрограммирована с эффективной точностью чуть более 2 бит, дизайн использует технику компенсации двух подмассивов, повышающую эффективную точность весов примерно до 4 бит. Подход концептуально напоминает философию Nvidia NVFP4: обе технологии стремятся достичь большей эффективной точности при использовании оборудования низкой точности. Однако реализации принципиально различаются: NVFP4 использует цифровое представление с плавающей запятой и коэффициенты масштабирования, тогда как SoC на мемристорах улучшает точность за счет компенсации аналоговых ошибок программирования с использованием двух запрограммированных подмассивов.
Что касается точности, то SoC достиг общей точности вывода 80,36%, что соответствует показателям соответствующей 4-битной программной модели. По производительности чип обеспечивает пиковую пропускную способность 0,254 TOPS на один NPU и энергоэффективность 21,3 TOPS/Вт при частоте 100 МГц и 11,9 TOPS/Вт при 400 МГц. Авторы утверждают, что эти показатели выгодно отличаются от опубликованных данных для ускорителей compute-in-memory на основе SRAM, несмотря на использование более старого техпроцесса 65 нм. Также в совместной статье заявлено, что SoC превосходит энергоэффективность Nvidia A100 (в режиме INT8) на порядок величины, однако эти утверждения остаются недостаточными обоснованными.
Демонстрация на MobileNet не задействовала все десять NPUs: использовался один специализированный NPU для DWC и пять стандартных NPUs для поэлементных слоев, при этом четыре стандартных NPUs остались простаивать. Демонстрация не раскрывает общую пропускную способность SoC (в TOPS), устойчивую производительность при работе с реальной сетью или производительность при одновременной полной загрузке всех десяти NPUs. В статье также не указано, могут ли все десять NPUs работать одновременно на максимальной нагрузке. Таким образом, ранее упомянутый показатель в 2,54 TOPS является высоко теоретическим.
Разработчикам удалось изготовить чип с использованием устаревшего техпроцесса 65 нм и обеспечить его работу, достигнув энергоэффективности 21,3 TOPS/Вт и точности вывода, сопоставимой с 4-битной программной моделью, несмотря на то, что мемристоры программируются с точностью около 2 бит. Хотя архитектура подтверждает работоспособность подхода, статья не раскрывает полную производительность SoC, и остается непонятным, можно ли вообще полностью загрузить все десять NPUs чипа.


