Автор: Денис Аветисян
Новое расширение векторной архитектуры RISC-V позволяет значительно повысить эффективность вычислений с использованием форматов микромасштабирования.

Представлено расширение Vmxdotp для аппаратной реализации ускорения скалярного произведения в форматах с пониженной точностью.
Современные нейросетевые модели, несмотря на растущую вычислительную эффективность, сталкиваются с ограничениями при работе с пониженной точностью представления данных. В данной работе, посвященной разработке расширения ISA VMXDOTP для векторного процессора RISC-V, представлено решение для ускорения операций над данными в формате Microscaling (MX). Предлагаемое расширение обеспечивает значительное повышение производительности и энергоэффективности при выполнении матричных умножений с использованием MX-форматов, поддерживая MXFP8 и MXFP4. Возможно ли дальнейшее расширение архитектуры VMXDOTP для поддержки еще более широкого спектра операций и форматов данных, открывая новые горизонты для аппаратного ускорения глубокого обучения?
Точность — враг производительности: о насущных проблемах вычислений
Широко используемые в современных вычислениях форматы с плавающей точкой, такие как FP32, зачастую обладают избыточной точностью для многих задач машинного обучения. Это приводит к неоправданным затратам энергии и ресурсов памяти. Представьте себе, что для записи десятичной дроби используется гораздо больше знаков после запятой, чем действительно необходимо для достижения требуемой точности — это аналогичная ситуация. Несмотря на то, что FP32 обеспечивает высокую точность, для многих операций, особенно в глубоком обучении, достаточно меньшей точности, что позволяет существенно сократить объем хранимых данных и вычислительную нагрузку. Такое неоптимальное использование ресурсов становится все более критичным, учитывая экспоненциальный рост сложности моделей и объемов обрабатываемых данных, а также растущие требования к энергоэффективности вычислительных систем.
Современные вычислительные системы испытывают возрастающую нагрузку, обусловленную стремлением к созданию все более сложных моделей, особенно в области машинного обучения и искусственного интеллекта. Этот процесс требует экспоненциального увеличения вычислительных ресурсов и объемов памяти, что становится серьезным препятствием для дальнейшего прогресса. Необходимость эффективного представления данных становится критически важной, поскольку традиционные методы хранения и обработки информации уже не справляются с возросшими требованиями. Поиск новых, более компактных и энергоэффективных форматов данных, а также разработка оптимизированных алгоритмов, способных эффективно использовать эти форматы, являются ключевыми задачами для преодоления этого «узкого места» в современной вычислительной технике и обеспечения дальнейшего развития сложных вычислительных систем.
Исследование форматов пониженной точности представляет собой значительную возможность для ускорения вычислений и уменьшения занимаемого объема памяти, однако сопряжено с определенными трудностями в поддержании необходимой точности. Переход от стандартных 32-битных чисел с плавающей точкой к 16-битным или даже 8-битным форматам позволяет существенно снизить энергопотребление и увеличить пропускную способность, что особенно важно для современных моделей машинного обучения. Однако уменьшение разрядности приводит к снижению точности представления чисел, что может вызывать ошибки округления и, как следствие, ухудшение производительности модели. Разработка эффективных алгоритмов квантования и техник обучения, устойчивых к пониженной точности, является ключевой задачей для успешного применения этих форматов в реальных приложениях. В частности, активно исследуются методы смешанной точности, позволяющие использовать различные форматы для разных частей модели, оптимизируя баланс между скоростью и точностью.

Микромасштабирование: новый подход к точности вычислений
Форматы микромасштабирования (MX), такие как MXFP8 и MXFP4, представляют собой перспективное решение за счет использования общих коэффициентов масштабирования внутри блоков данных. Вместо хранения индивидуального коэффициента масштабирования для каждого значения, MX форматы применяют единый коэффициент для целого блока, что существенно снижает накладные расходы на хранение и передачу данных. Данный подход позволяет уменьшить общий объем хранимой информации и затраты на коммуникацию без значительной потери точности представления данных, особенно в задачах, связанных с обработкой больших объемов информации, например, в нейронных сетях.
Использование общих коэффициентов масштабирования в блоках данных в микромасштабных форматах (MXFP8, MXFP4) позволяет существенно снизить накладные расходы на хранение и передачу информации. Традиционные методы требуют хранения индивидуального коэффициента для каждого значения, что приводит к значительному увеличению объема хранимых данных и пропускной способности канала связи. В MX-форматах, коэффициент масштабирования применяется ко всему блоку, что позволяет хранить лишь один коэффициент на блок вместо одного на каждое значение, обеспечивая тем самым значительное сокращение размера данных и, как следствие, снижение требований к памяти и пропускной способности.
Форматы микромасштабирования (MX), такие как MXFP8 и MXFP4, обеспечивают поддержание приемлемой точности при снижении разрядности за счет интеллектуального управления динамическим диапазоном. Вместо хранения индивидуальных коэффициентов масштабирования для каждого значения, MX форматы применяют общий коэффициент масштабирования к блоку данных. Этот подход позволяет эффективно сжимать данные, минимизируя накладные расходы на хранение и передачу, при этом сохраняя необходимую точность за счет адаптивного масштабирования динамического диапазона внутри каждого блока. В результате достигается компромисс между снижением разрядности и сохранением точности, что критически важно для приложений с ограниченными ресурсами и высокой производительностью.

Spatz: векторный процессор для низкоточных вычислений
Процессор Spatz представляет собой векторный процессор с открытым исходным кодом, построенный на базе архитектуры RISC-V и оптимизированный для энергоэффективных вычислений с пониженной точностью. В отличие от традиционных процессоров, Spatz специально разработан для эффективной обработки данных с использованием форматов с низкой точностью, таких как MiniFloat-NN, что позволяет снизить энергопотребление и повысить производительность в задачах машинного обучения и обработки сигналов. Данный процессор ориентирован на приложения, где важны компромиссы между точностью вычислений и потребляемой мощностью, например, в мобильных устройствах и периферийных вычислениях.
Процессор Spatz использует L1-память типа scratchpad, что позволяет снизить задержки доступа к данным по сравнению с использованием кеша, и оптимизировать энергопотребление за счет предсказуемости доступа. Производство Spatz осуществляется по технологическому процессу GlobalFoundries 12nm FinFET, обеспечивающему высокую плотность транзисторов и, следовательно, эффективное использование площади кристалла. Использование FinFET-технологии также способствует снижению энергопотребления и повышению производительности по сравнению с более старыми технологическими процессами.
Процессор Spatz поддерживает расширения MiniFloat-NN и ExSdotp, что значительно расширяет его возможности для работы с различными низкоточными нагрузками. MiniFloat-NN — это формат чисел с плавающей точкой, оптимизированный для нейронных сетей, обеспечивающий эффективное выполнение операций машинного обучения при ограниченных ресурсах. ExSdotp — это расширение, предназначенное для ускорения операций скалярного произведения, критически важных для широкого спектра задач, включая обработку сигналов и компьютерное зрение. Интеграция этих расширений позволяет Spatz эффективно обрабатывать низкоточные данные, снижая энергопотребление и повышая производительность по сравнению с традиционными процессорами, работающими с числами полной точности.
Архитектура Spatz использует расширение RISC-V Vector Extension (RVV), что обеспечивает надежную основу для ускорения векторных операций. RVV определяет стандартный набор векторных регистров и инструкций, позволяя Spatz эффективно обрабатывать параллельные вычисления над векторами данных. Это включает поддержку различных типов данных и длин векторов, что позволяет оптимизировать производительность для широкого спектра приложений, таких как обработка изображений, машинное обучение и научные вычисления. Использование RVV также способствует переносимости программного обеспечения и упрощает интеграцию Spatz с существующими инструментами разработки RISC-V.

Vmxdotp: аппаратное ускорение скалярного произведения для микромасштабирования
Vmxdotp представляет собой расширение архитектуры набора команд RISC-V Vector Extension, разработанное для аппаратной поддержки операций скалярного произведения MXFP8 и MXFP4. В отличие от программной эмуляции, Vmxdotp обеспечивает прямое аппаратное исполнение этих операций, что позволяет значительно повысить производительность и энергоэффективность. Данное расширение интегрируется в существующую архитектуру RISC-V, предоставляя разработчикам возможность оптимизировать вычисления, требующие интенсивных операций скалярного произведения, особенно в задачах машинного обучения и обработки сигналов. Поддержка форматов MXFP8 и MXFP4 позволяет добиться высокой точности и эффективности при работе с данными пониженной точности.
Архитектура Vmxdotp обеспечивает значительное ускорение вычислений и снижение энергопотребления благодаря реализации специализированного аппаратного обеспечения для операций с произведением матриц. По сравнению с программной эмуляцией, Vmxdotp демонстрирует ускорение в 7.0x. Это достигается за счет аппаратной поддержки форматов MXFP8 и MXFP4, позволяя эффективно выполнять операции с плавающей точкой и значительно повышая производительность в задачах, требующих интенсивных матричных вычислений.
Инструкционный набор Vmxdotp обеспечивает высокую производительность за счет эффективного использования операции скалярного произведения, поддерживая форматы FP32 и BF16, а также микромасштабирование. При использовании Vmxdotp, матричное умножение с использованием MXFP8 достигает пропускной способности в 125.0 GFLOPS и энергоэффективности 843 GFLOPS/W. Такая оптимизация позволяет значительно ускорить вычисления и снизить энергопотребление при работе с матричными операциями.
Для обеспечения широкой совместимости и возможности экспериментов с различными уровнями точности, архитектура Vmxdotp также поддерживает программную эмуляцию. Это позволяет использовать функциональность микромасштабных операций с точкой умножения (dot products) на платформах, не имеющих специализированного аппаратного обеспечения. Программная эмуляция предоставляет гибкость для разработки и тестирования алгоритмов с использованием различных форматов данных и уровней точности, а также позволяет оценить потенциальные преимущества аппаратной реализации Vmxdotp на различных системах. Такой подход облегчает внедрение и адаптацию технологии к широкому спектру аппаратных и программных сред.
К энергоэффективному ускорению потока данных: будущее вычислений
Ускорители потоковой обработки данных, такие как VEGETA, демонстрируют значительное повышение эффективности благодаря интеграции микромасштабных форматов и специализированных инструкций, в частности Vmxdotp. Этот подход позволяет существенно сократить объем перемещения данных и вычислительные затраты, что напрямую влияет на снижение энергопотребления и повышение производительности. Использование микромасштабных форматов позволяет более компактно представлять данные, а специализированные инструкции, вроде Vmxdotp, оптимизируют выполнение критически важных операций, ускоряя обработку и минимизируя потребляемую мощность. В результате, архитектура VEGETA, усиленная этими технологиями, открывает новые возможности для реализации сложных алгоритмов машинного обучения даже на устройствах с ограниченными ресурсами.
Сокращение объёма перемещения данных и вычислительных затрат напрямую влияет на снижение энергопотребления и повышение производительности вычислительных систем. В частности, специализированная инструкция Vmxdotp демонстрирует значительное преимущество в эффективности — в 4.9 раза выше по сравнению с программной эмуляцией. Этот прирост достигается за счёт оптимизации операций над матрицами и минимизации необходимости в передаче данных между различными компонентами системы. Такой подход позволяет существенно снизить затраты энергии на выполнение сложных вычислений, что особенно важно для мобильных устройств и других систем с ограниченными ресурсами. Использование Vmxdotp открывает возможности для более эффективной реализации алгоритмов машинного обучения и обработки больших объемов данных.
Сочетание специализированных инструкций, таких как Vmxdotp, и микромасштабных форматов данных открывает возможности для развертывания сложных моделей машинного обучения на устройствах с ограниченными ресурсами. В частности, матричное умножение MXFP4, реализованное с использованием Vmxdotp, демонстрирует впечатляющую производительность в 250.1 GFLOPS и энергоэффективность в 1632 GFLOPS/W. Эти показатели позволяют существенно снизить энергопотребление при выполнении ресурсоемких вычислений, делая возможным использование передовых алгоритмов машинного обучения на мобильных устройствах, в системах интернета вещей и других областях, где важна автономность и эффективность.
Открытый исходный код платформы Spatz и модульная архитектура инструкции Vmxdotp создают благоприятную среду для расширения исследований и совместной работы в научном сообществе. Предоставляя доступ к базовым компонентам и позволяя их модификацию, Spatz способствует быстрому прототипированию и тестированию новых подходов к ускорению потока данных. Модульность Vmxdotp, в свою очередь, облегчает интеграцию специализированных операций и адаптацию к различным аппаратным платформам, стимулируя разработку инновационных решений для энергоэффективных вычислений. Такой подход не только ускоряет темпы научных открытий, но и способствует созданию стандартизированных инструментов и библиотек, доступных широкому кругу исследователей и разработчиков, что, в конечном итоге, расширяет возможности применения данных и машинного обучения на устройствах с ограниченными ресурсами.

Представленная работа, посвященная Vmxdotp, неизменно подтверждает закономерность: каждая «революционная» технология завтра станет техдолгом. Стремление к повышению производительности и энергоэффективности за счет аппаратной акселерации микромасштабирования (MX) форматов, безусловно, похвально. Однако, сложно не заметить, что усложнение архитектуры RISC-V ради оптимизации операций с точками, рано или поздно потребует дополнительных ресурсов на поддержку и отладку. Как справедливо заметил Давид Гильберт: «В математике нет рая, и, следовательно, нет рая и в физике». Иными словами, даже самые элегантные решения, вроде специализированных векторных расширений, не избавят от необходимости решать новые, не всегда тривиальные задачи, возникающие в процессе эксплуатации и интеграции.
Что дальше?
Представленное расширение Vmxdotp, безусловно, демонстрирует потенциал аппаратного ускорения операций с микросколированием. Однако, стоит помнить: каждая «оптимизация» — это лишь отложенный технический долг. Ускорение вычислений — прекрасно, пока не возникнет необходимость поддерживать это ускорение на новом поколении железа, или, что более вероятно, адаптировать под новый, ещё более экзотический формат данных. Энергоэффективность — иллюзия, пока система не окажется под реальной нагрузкой, а документация — это форма коллективного самообмана, описывающая лишь идеальный случай.
Настоящая проблема, как обычно, не в алгоритмах, а в масштабируемости и воспроизводимости. Если баг воспроизводится — значит, у нас стабильная система, но это лишь временное облегчение. Следующим шагом, вероятно, станет попытка универсализации — создание ещё более общего расширения, способного обрабатывать не только форматы MX, но и всё, что ещё не придумали. И, разумеется, это приведёт к ещё большему усложнению и новым источникам ошибок.
В конечном итоге, вся эта гонка за производительностью напоминает попытку построить замок на песке. Всё, что обещает быть self-healing, просто ещё не ломалось. Поэтому, вместо того, чтобы стремиться к идеальному аппаратному ускорению, возможно, стоит обратить внимание на более простые и надёжные решения, пусть и менее элегантные.
Оригинал статьи: https://arxiv.org/pdf/2603.04979.pdf
Связаться с автором: https://www.linkedin.com/in/avetisyan/
Смотрите также:
- Квантовая обработка данных: новый подход к повышению точности моделей
- Квантовый Переход: Пора Заботиться о Криптографии
- Сохраняя геометрию: Квантование для эффективных 3D-моделей
- Укрощение шума: как оптимизировать квантовые алгоритмы
- Квантовые симуляторы: проверка на прочность
- Искусственный интеллект заимствует мудрость у природы: новые горизонты эффективности
- Квантовая химия: моделирование сложных молекул на пороге реальности
2026-03-09 02:49