Моя контактная информация
Почта[email protected]
2024-08-19
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Колонка AIxiv — это колонка, в которой Machine Heart публикует академический и технический контент. За последние несколько лет колонка Heart of the Machine AIxiv получила более 2000 отчетов, охватывающих ведущие лаборатории крупнейших университетов и компаний по всему миру, что эффективно способствует академическому обмену и распространению информации. Если у вас есть отличная работа, которой вы хотите поделиться, пожалуйста, внесите свой вклад или свяжитесь с нами для отчета. Электронная почта для отправки: [email protected];
В сфере искусственного интеллекта увеличение параметров модели часто означает улучшение производительности. Однако по мере расширения масштаба модели требования к вычислительной мощности и памяти терминального устройства также возрастают. Технология низкобитового квантования стала одной из ключевых технологий, позволяющих эффективно работать большим моделям на устройствах с ограниченными ресурсами, поскольку она может значительно снизить затраты на хранение и вычисления, а также повысить эффективность вывода. Однако если аппаратное устройство не поддерживает режим низкобитных квантованных данных, то преимущества низкобитового квантования не будут реализованы.
Чтобы решить эту проблему, Microsoft Research Asia запустила новый компилятор данных Ladder и алгоритм T-MAC, который позволяет оборудованию, которое в настоящее время поддерживает только вычисления симметричной точности, напрямую выполнять умножение матриц смешанной точности. Результаты испытаний показывают, что Ladder может добиться максимального ускорения в 14,6 раз при поддержке пользовательских типов данных, которые изначально не поддерживает графический процессор; T-MAC позволяет обрабатывать крупномасштабные данные на процессоре на ПК Surface AI, оснащенном новейшей версией Qualcomm Snapdragon X Elite; Пропускная способность модели в два раза выше, чем у выделенного ускорителя NPU. Кроме того, исследователи также разработали аппаратную архитектуру LUT Tensor Core. Эта оптимизированная конструкция позволяет оборудованию напрямую поддерживать различные низкобитные вычисления смешанной точности, что дает новые идеи для проектирования аппаратного обеспечения искусственного интеллекта.
Большие модели все чаще развертываются на конечных устройствах, таких как смартфоны, ноутбуки и роботы, для предоставления расширенных интеллектуальных услуг и услуг реагирования в режиме реального времени. Однако большие модели, содержащие сотни миллионов параметров, предъявляют чрезвычайно высокие требования к памяти и вычислительной мощности терминальных устройств, что ограничивает их широкое применение. Технология низкобитового квантования позволяет значительно сжать размер модели и снизить потребность в вычислительных ресурсах. Она стала эффективным средством развертывания больших моделей на стороне устройства и достижения эффективного вывода.
С развитием технологии низкобитового квантования типы данных становятся все более диверсифицированными, например, int4, int2, int1 и другие низкобитовые данные, в результате чего в больших моделях все чаще используется матричное умножение смешанной точности с низким и высоким битовым весом. вычисления в логическом выводе (матричное умножение смешанной точности, mpGEMM). Однако существующие аппаратные вычислительные блоки, такие как центральные и графические процессоры, обычно поддерживают только симметричные режимы вычислений и несовместимы с этим умножением матриц смешанной точности.
Чем умножение матриц смешанной точности отличается от традиционного умножения матриц?
При традиционном умножении матриц значения на обоих концах, участвующих в операции, симметричны, например FP16*FP16, int8*int8. Но низкобитное квантование больших моделей нарушает эту симметрию, делая один конец умножения старшим, а другой — младшим, например, int8*int1 или int8*int2, реализованные в 1-битной модели BitNet, и с плавающей запятой. Смешанное умножение целых чисел FP16*int4.
Чтобы в полной мере реализовать преимущества низкобитового квантования, позволить аппаратным устройствам напрямую поддерживать матричное умножение смешанной точности и обеспечить высокоскоростную и эффективную работу больших моделей на конечных устройствах, исследователи из Microsoft Research Asia сосредоточили внимание на о существующих операторах вычислений CPU и GPU и инновациях в архитектуре аппаратного обеспечения:
Лестница: преобразование пользовательских типов данных без потерь в типы данных, поддерживаемые аппаратным обеспечением.
В настоящее время новейшие ускорители интегрируют операции низкоразрядных вычислительных блоков, таких как FP32, FP16 и даже FP8, в архитектуры нового поколения. Однако из-за ограничений по площади чипа и высокой стоимости оборудования каждый ускоритель может предоставлять только ограниченные типы вычислительных блоков для стандартных типов данных. Например, графический процессор NVIDIA V100 TENSOR CORE поддерживает только FP16, а в A100 добавлена поддержка int2, int4, int8. , но не охватывает новые форматы данных, такие как FP8 или OCP-MXFP. Кроме того, существует разрыв между быстрой итерацией больших моделей и медленными темпами обновления оборудования, в результате чего многие новые типы данных не могут поддерживаться аппаратным обеспечением, что, в свою очередь, влияет на ускорение и работу больших моделей.
Исследователи из Microsoft Research Asia обнаружили, что, хотя в аппаратном ускорителе отсутствуют вычислительные инструкции для пользовательских типов данных, его система памяти может конвертировать их в непрозрачные блоки данных фиксированной ширины для хранения произвольных типов данных. В то же время большинство пользовательских типов данных можно без потерь преобразовать в стандартные типы данных с более высоким разрядом, поддерживаемые существующими аппаратными вычислительными блоками. Например, тензоры NF4 можно преобразовать в FP16 или FP32 для выполнения операций с плавающей запятой.
На основании этих данных исследователи предложилиМетод поддержки всех пользовательских типов данных путем разделения хранения и вычислений данных, а также разработка компилятора данных Ladder для преодоления разрыва между появляющимися пользовательскими типами данных и форматами высокой точности, поддерживаемыми современным оборудованием.
Ladder определяет систему типов данных, включая абстракции для преобразования между типами данных без потерь. Он может представлять различные типы данных, поддерживаемые алгоритмами и оборудованием, и определяет правила преобразования между типами данных. При работе с приложениями с низкоразрядными алгоритмами Ladder преобразует низкоразрядные данные в наиболее эффективный формат выполнения на современном оборудовании посредством серии оптимизаций, включая оптимизацию вычислений и хранения - сопоставление алгоритма с соответствующими вычислительными инструкциями и данными в различных форматах. хранятся на разных уровнях складских помещений для достижения наиболее эффективной работы.
Рисунок 1: Архитектура лестничной системы
Оценка производительности вывода DNN, выполненная на графических процессорах NVIDIA A100, NVIDIA V100, NVIDIA RTX A6000, NVIDIA RTX 4090 и AMD Instinct MI250, показывает, что Ladder превосходит существующие современные компиляторы DNN по встроенной поддержке типов данных и поддержке графических процессоров. а также на пользовательских типах данных, которые изначально не поддерживались, с максимальным ускорением до 14,6 раз.
Ladder — это первая система, которая систематически поддерживает представление данных с низкой точностью в пользовательских типах данных при запуске DNN на современных аппаратных ускорителях.Это предоставляет исследователям моделей более гибкий метод оптимизации типов данных, а также позволяет разработчикам аппаратной архитектуры поддерживать более широкий диапазон типов данных без замены оборудования.
T-MAC: универсальное низкобитовое вычисление умножения матриц смешанной точности без умножения.
Чтобы существующие аппаратные устройства могли поддерживать различные режимы данных и умножение матриц смешанной точности, при развертывании больших моделей на конечной стороне обычно используется обратный квантование низкоразрядной модели. Однако у этого подхода есть две основные проблемы: во-первых, с точки зрения производительности, накладные расходы на преобразование в процессе деквантования могут свести на нет улучшение производительности, обеспечиваемое низкоразрядным квантованием, во-вторых, с точки зрения разработки разработчикам необходимо ориентироваться на различные перепроектированные; Расположение данных и ядро вычислений для смешанной точности. Исследователи из Microsoft Research Asia считают, что ключ к развертыванию больших квантованных низкобитовых моделей на устройствах заключается в том, как преодолеть реализацию традиционного матричного умножения на основе низкобитовых характеристик.
С этой целью исследователи предложили на уровне системы и алгоритмаT-MAC, метод, основанный на справочной таблице (LUT, справочная таблица), помогает большим моделям с низкобитным квантованием добиться эффективного вывода на ЦП.Основная идея T-MAC состоит в том, чтобы воспользоваться тем свойством, что один конец умножения матриц смешанной точности представляет собой очень низкие биты (например, 1 бит или 2 бита). Их выходные результаты могут быть только 2 в степени 1 и 2 в степени 2. Эти меньшие выходные результаты могут быть рассчитаны заранее и сохранены в таблице. Во время операции результаты необходимо только считывать из таблицы, избегая необходимости. Необходимость повторных вычислений значительно сокращает количество операций умножения и сложения.
Конкретно,T-MAC преобразует традиционное умножение, ориентированное на тип данных, в операции с таблицами поиска на основе битов, создавая унифицированное и масштабируемое решение для умножения матриц смешанной точности, которое уменьшает размер таблицы и сводит к минимуму стоимость произвольного доступа в модулях быстрой памяти. таблицы уменьшены.Это нововведение открывает путь к развертыванию больших низкобитных квантованных моделей на периферийных устройствах с ограниченными ресурсами.
Рисунок 2: Принципиальная схема T-MAC
В тестах с низкобитными квантованными моделями Llama и 1-битными моделями большого языка BitNet T-MAC продемонстрировал значительные преимущества в производительности. На Surface Laptop 7, оснащенном новейшим процессором Qualcomm Snapdragon, скорость генерации 4-битной модели 7B Llama может достигать 20 токенов в секунду, что намного превышает среднюю скорость чтения человека. По сравнению с исходной платформой Llama.cpp он в 4–5 раз быстрее и даже в два раза быстрее, чем выделенный ускоритель NPU.
Даже на устройствах с более низкой производительностью, таких как Raspberry Pi 5, T-MAC позволяет модели 3B BitNet-b1.58 достигать скорости генерации 11 токенов в секунду. T-MAC также имеет значительные преимущества в энергопотреблении, обеспечивая ту же скорость генерации на устройствах с ограниченными ресурсами, но при этом требует всего от 1/4 до 1/6 количества ядер оригинального Llama.cpp.
Эти результаты показывают, что T-MAC предоставляет практическое решение, которое делает более эффективным развертывание больших языковых моделей на периферийных устройствах с использованием процессоров общего назначения без использования графических процессоров, что позволяет развертывать большие модели на устройствах с ограниченными ресурсами и, тем самым, эффективно работать. содействие применению крупных моделей в более широком диапазоне сценариев.
LUT Tensor Core: использование аппаратных ускорителей нового поколения со встроенной поддержкой матричного умножения смешанной точности.
И T-MAC, и Ladder реализуют оптимизированную поддержку умножения матриц смешанной точности на существующих архитектурах ЦП и ГП. Хотя эти инновации на уровне программного обеспечения значительно повышают эффективность вычислений, они все же не так эффективны, как аппаратные ускорители, которые могут напрямую реализовать специализированную таблицу поиска. Исследователи полагают, что наиболее идеальным подходом является перепроектирование аппаратных ускорителей, чтобы процессоры, графические процессоры и т. д. могли изначально поддерживать умножение матриц смешанной точности. Однако эта цель сталкивается с тремя основными проблемами:
Чтобы решить эти проблемы, исследователи Microsoft Research Asia разработалиLUT Tensor Core — микроархитектура Tensor Core графического процессора, которая использует таблицы поиска для непосредственного выполнения матричного умножения смешанной точности.С одной стороны, конструкция, основанная на справочной таблице, упрощает операцию умножения до операции предварительного вычисления таблицы, и результаты можно напрямую искать в таблице, чтобы повысить эффективность вычислений. С другой стороны, этот подход также упрощает требования к оборудованию: требуются только регистры для хранения таблиц и мультиплексоры для поиска, без необходимости использования умножителей и сумматоров. В то же время LUT Tensor Core обеспечивает гибкость в точности веса за счет последовательной конструкции битов и использует табличное квантование для достижения гибкости в точности активации.
Кроме того, для интеграции с существующей микроархитектурой и программным стеком графического процессора исследователи расширили существующий набор инструкций MMA в графическом процессоре, добавили набор инструкций LMMA и разработали программный стек, аналогичный cuBLAS, для интеграции в существующие графические процессоры. некоторые структуры DNN. Исследователи также разработали компилятор для сквозного планирования выполнения на графических процессорах с тензорными ядрами LUT. Эти инновационные подходы обеспечивают плавное и быстрое внедрение тензорных ядер LUT.
Рисунок 3: Обзор микроархитектуры LUT Tensor Core
Тесты на моделях Llama и BitNet показывают, что LUT Tensor Core может обеспечить до 6,93 раз большую скорость вывода и занимает лишь 38,7% площади традиционного Tensor Core. При почти той же точности модели это эквивалентно увеличению плотности вычислений в 20,7 раза и повышению энергоэффективности в 19,1 раза. Поскольку масштаб и сложность крупных моделей искусственного интеллекта продолжают расти, LUT Tensor Core помогает еще больше раскрыть потенциал низкоразрядных моделей большого языка и способствовать применению искусственного интеллекта в новых сценариях.
«Метод справочной таблицы привел к изменению парадигмы вычислений. Раньше мы полагались на операции матричного умножения и накопления, но в эпоху больших моделей, благодаря технологии низкобитного квантования, справочная таблица По сравнению с традиционной арифметикой с плавающей запятой или матричным умножением метод справочной таблицы является более легким и эффективным в вычислениях, его легче расширить на аппаратном уровне. Он может обеспечить более высокую плотность транзисторов и обеспечить большую пропускную способность на единицу. области микросхем, тем самым способствуя развитию инноваций в аппаратной архитектуре», — сказал Цао Тин, главный научный сотрудник Microsoft Research Asia.
Эффект «длинного хвоста» низкобитного квантования: новые возможности для воплощенного интеллекта
Технология низкобитового квантования не только оптимизирует эффективность работы больших моделей на конечных устройствах, но также предоставляет новое пространство для расширения параметров модели (масштабирование вверх) за счет уменьшения «объема» одного параметра. Эта возможность расширения параметров придает модели большую гибкость и выразительные возможности. Как показывает модель BitNet, она начинается с низкоразрядной модели и постепенно расширяется до более масштабного обучения.
Инновационные технологии Microsoft Research Asia, такие как T-MAC, Ladder и LUT Tensor Core, обеспечивают высокопроизводительные операционные решения для различных низкобитовых больших моделей, позволяя этим моделям эффективно работать на различных устройствах и способствуя научным исследованиям. Проектирование и оптимизация больших моделей. с низкобитовой точки зрения. Некоторые из этих технологий уже играют роль в крупных поисковых моделях, таких как поиск Microsoft Bing и ее рекламный бизнес.С сокращением памяти и вычислительных ресурсов также станет возможным развертывание больших низкоразрядных моделей на встроенных интеллектуальных системах, таких как роботы, что позволит этим устройствам лучше достигать динамического восприятия и взаимодействия с окружающей средой в реальном времени.
В настоящее время исходный код T-MAC и Ladder доступен на GitHub. Соответствующие разработчики могут протестировать приложения и изучить дополнительные возможности технологий искусственного интеллекта с помощью Microsoft Research Asia.