моя контактная информация
почта[email protected]
2024-10-04
한어한어Русский языкРусский языкEnglishEnglishFrançaisFrançaisIndonesianSanskritIndonesian日本語SanskritDeutsch日本語PortuguêsDeutschΕλληνικάPortuguêsespañolΕλληνικάItalianoespañolSuomalainenItalianoLatinaSuomalainenLatina
краткое содержание
для llm с 3 миллиардами параметров исследовательский прототип устройства вывода с 16 процессорами ibm aiu northpole обеспечил огромную пропускную способность системы 28 356 токенов в секунду и задержку менее 1 мс на токен (на пользователя) по сравнению с 16. каждая карта northpole потребляет всего 672 вт в режиме реального времени. компактный форм-фактор 2u. ориентируясь на низкую задержку и высокую энергоэффективность, northpole (12 нм) сравнивают с набором графических процессоров (7/5/4 нм) при различном энергопотреблении.при самой низкой задержке графического процессора northpole обеспечивает на 72,7 лучшие показатели энергоэффективности (токен/s/w), обеспечивая при этом лучшую задержку.
представлять
большие языковые модели (llm) достигли значительных показателей производительности в различных задачах ии, таких как помощь в программировании путем предоставления предложений по коду, хорошие результаты в стандартизированных тестах и помощь в создании контента для статей, блогов, изображений и видео.
при крупномасштабном развертывании llm, особенно при крупномасштабном развертывании искусственного интеллекта, возникают две основные и противоречивые проблемы, а именно: потребление энергии и задержка ответа.
во-первых, поскольку llm требует значительных энергетических ресурсов как для обучения, так и для вывода, для достижения его эффективного и широкого внедрения необходима устойчивая будущая вычислительная инфраструктура. поскольку выбросы углекислого газа в центрах обработки данных увеличиваются и они становятся все более ограниченными в энергопотреблении, энергоэффективность центров обработки данных становится все более важной. согласно отчету всемирного экономического форума:
«в настоящее время экологический углеродный след дата-центров в основном разделен на две части: на обучение приходится 20%, а на логический вывод — 80%. по мере развития моделей искусственного интеллекта в различных областях спрос на логический вывод и его воздействие на окружающую среду будут возрастать. "
во-вторых, многие приложения, такие как интерактивные разговоры и автономные рабочие процессы, требуют очень низкой задержки. в рамках данной вычислительной архитектуры уменьшения задержки можно достичь за счет снижения пропускной способности, но это приводит к снижению энергоэффективности. перефразируя классическую системную максиму:
«проблему пропускной способности можно решить с помощью денег, но проблема задержки более сложна, поскольку скорость света фиксирована». (перефразировано из [10], заменяя «пропускную способность» на «пропускную способность»).
графические процессоры могут добиться более низкой задержки за счет использования пакетов меньшего размера, но за счет пропускной способности и энергоэффективности. кроме того, сегментирование графического процессора снижает задержку за счет использования параллелизма данных на нескольких графических процессорах, но опять же за счет энергоэффективности. шардинг или нет, графические процессоры, похоже, достигают жесткого предела с более низкой задержкой. компромисс между энергоэффективностью и задержкой графического процессора показан на рисунке 1.
рисунок 1. производительность northpole (12 нм) по сравнению с современными графическими процессорами (7/5/4 нм) по показателям энергопотребления и задержки системы, где задержка системы — это общая задержка, с которой сталкивается каждый пользователь. при самой низкой задержке графического процессора (h100, точка p2) northpole обеспечивает в 72,7 раза лучшие показатели энергоэффективности (токены/секунду/вт). при лучшем индексе энергоэффективности графического процессора (l4, точка p1) northpole обеспечивает меньшую задержку в 46,9 раз.
таким образом, ключевой исследовательский вопрос, рассматриваемый в этой статье, заключается в том, как одновременно достичь двух противоречивых целей: низкой задержки и высокой энергоэффективности.
northpole — это экосистема микросхем и программного обеспечения для ускорителей вывода, разработанная совместно на основе основных принципов для обеспечения высочайшей эффективности вывода на основе нейронных сетей. хотя northpole не был специально разработан для llm, к удивлению, эта статья демонстрирует, что новая архитектура northpole может обеспечить энергоэффективный вывод llm с малой задержкой (рис. 1, рис. 2 и таблица 1).
таблица i. измерения производительности
измерена производительность систем northpole и графических процессоров для каждой карты. для каждого показателя # означает, что чем меньше, тем лучше, а «» означает, что чем выше, тем лучше. для устройств northpole с 16 картами энергопотребление измеряется на карту, а общая пропускная способность системы делится на 16 карт. задержка northpole для всех 16 карт для измерения. p1 , p2, p3 и p4 относятся к точкам, отмеченным на рисунках 1 и 2 соответственно, что указывает на самый высокий индекс энергоэффективности графического процессора, наименьшую общую задержку графического процессора, самый высокий индекс пространства графического процессора и наименьшую задержку графического процессора с энергоэффективностью.
основные результаты исследования данной статьи заключаются в следующем:
для модели большого языка (llm) с размером параметров 3 миллиарда, структура модели которой получена из модели ibm granite-8b-code-base и согласуется с llama 3 8b и mistral 7b [14], в этой статье демонстрируется конфигурация исследовательский прототип устройства вывода с 16 процессорами northpole.
что касается абсолютной производительности, устройство обеспечивает пропускную способность системы 28 356 токенов/сек и задержку для одного пользователя менее 1 миллисекунды, потребляя при этом 672 вт мощности на 16 картах northpole в модели 2u.
что касается относительной производительности, сравнивая 12-нм northpole с рядом графических процессоров (7/5/5/4 нм a100/l4/l40s/h100 соответственно) при различном энергопотреблении, это можно увидеть на рисунках 2(a) и as. как видно на рисунке 2(c): при минимальной задержке графического процессора (точка p2) northpole обеспечивает в 72,7 раза лучшие показатели энергоэффективности (токены/секунду/вт) и в 15,9 раза лучшие показатели пространства (токены/секунду/транзистор), в то время как задержка по-прежнему меньше, чем в 2,5 раза; при лучшем показателе энергоэффективности графического процессора (точка p1) northpole обеспечивает в 46,9 раза меньшую задержку и в 2,1 раза лучшие показатели пространства, при этом обеспечивая в 2,2 раза лучшие показатели энергоэффективности. точка p3), northpole обеспечивает в 20,3 раза меньшую задержку и в 5,3 раза лучшие показатели энергоэффективности, сохраняя при этом в 1,4 раза лучшие показатели пространства.
в частности, при сравнении 12-нм процессора northpole с 5-нм графическим процессором l4 при сопоставимом энергопотреблении на рисунке 2(e) видно, что при максимальной пропускной способности l4 (менее 50 мс на токен, точка p1) в час,northpole обеспечивает меньшую задержку в 46,9 раз, одновременно увеличивая пропускную способность в 1,3 раза, а при минимальной задержке l4 (точка p4) northpole обеспечивает в 36,0 раз более высокую пропускную способность (токены/секунду/карту) при улучшении задержки, которая все еще ниже 5,1x.
рисунок 2: панели (a)–(d) показывают производительность 12-нм northpole по сравнению с современными графическими процессорами (7/5/4 нм) по показателям энергоэффективности, занимаемого пространства и задержки системы, где задержка системы равна per общая задержка, с которой столкнулся пользователь.
панель (а) такая же, как на рис. 1, с добавленной маркировкой точки p3. панели (a) и (c) используют один графический процессор, а панели (b) и (d) используют технологию шардинга, которая может уменьшить задержку, но только за счет экономии энергии и пространства. при самой низкой задержке графического процессора (h100, точка p2) northpole обеспечивает в 72,7 раза лучшие показатели энергоэффективности (токены/секунду/вт) и в 15,9 раза лучшие показатели пространства (токены/секунду/транзистор), сохраняя при этом низкую задержку (более чем в 2,5 раза); при лучшем индексе энергоэффективности графического процессора (l4, точка p1) northpole обеспечивает в 46,9 раз меньшую задержку и в 2,1 раза лучший индекс пространства, при этом обеспечивая в лучшем случае индекс энергоэффективности в 2,2 раза. что касается пространственных показателей графического процессора (a100, точка p3), northpole обеспечивает в 20,3 раза меньшую задержку и в 5,3 раза лучшие показатели энергоэффективности, сохраняя при этом в 1,4 раза лучшие пространственные показатели.
на панели (e) показана производительность 12-нм процессора northpole по сравнению с 5-нм графическим процессором l4 по пропускной способности (токены/секунда/карта) и показателям задержки системы. при самой низкой задержке l4 (точка p4) northpole обеспечивает пропускную способность в 36,0 раз выше; при максимальной пропускной способности l4 (менее 50 миллисекунд на токен, точка p1) northpole обеспечивает задержку в 46,9 раза ниже. энергопотребление графического процессора, используемое для расчета каждого показателя энергоэффективности, показано в таблице i. поскольку не существует инструментов для измерения фактического энергопотребления для партий разных размеров, для всех размеров партий используется одна и та же мощность, что может занижать показатель энергоэффективности, но качественные результаты остаются неизменными.
архитектура северного полюса
как показано на рисунке 3, процессор northpole изготовлен по 12-нанометровому техпроцессу, имеет 22 миллиарда транзисторов и имеет площадь 795 квадратных миллиметров. его архитектура вдохновлена мозгом, оптимизирована для кремния и основана на десяти взаимодополняющих аксиомах проектирования, охватывающих вычисления, хранение, связь и управление, что позволяет northpole значительно превосходить другие архитектуры в стандартных задачах вывода ии.он работает хорошо даже по сравнению с процессорами, изготовленными с использованием более передовых технологий.
подробные аксиомы архитектуры northpole см. в [11], [12]. проще говоря, northpole объединяет 256 модульных ядер в двумерный массив 16×16. каждое ядро содержит векторно-матричный умножитель (vmm), который выполняет 2048, 4096 и 8192 операции за цикл с точностью int8, int4 и int2 соответственно. базовые вычисления также включают в себя 4-поточный векторный блок fp16 с 32 срезами и блок функции активации с 32 срезами. основной массив имеет в общей сложности 192 мб sram, причем каждое ядро оснащено 0,75 мб sram. встроенная память тесно связана с вычислительным блоком и логикой управления, с общей пропускной способностью 13 тб/с между основной памятью и вычислениями. кроме того, каждое ядро имеет 4096 проводов, пересекающихся по горизонтали и вертикали для передачи параметров, инструкций, значений активации и частичных сумм через четыре выделенные сети на кристалле (noc).для предотвращения зависаний встроенный кадровый буфер оснащен 32 мб sram, отделяя внекристальную передачу входных и выходных данных от внутренних вычислений основного массива.
рис. 3. процессор northpole: кремний (слева), кристалл (в центре), упакованный модуль (справа).
оборудование
компания northpole разработала прототип конструкции в виде карты pcie gen3 × 8, показанной на рисунке 4, с 16 картами, установленными в готовый сервер высотой 2u, чтобы сформировать исследовательский прототип устройства вывода, показанный на рисунке 5. сервер содержит два процессора intel xeon gold 6438m, каждый с 32 ядрами и 60 мб кэш-памяти, с тактовой частотой 2,2 ггц. система также оснащена 512 гб памяти ddr5 с частотой 4800 мгц. к каждому серверному процессору подключены две шины pcie gen5 × 16, что обеспечивает общую пропускную способность pcie 256 гб/с (в двустороннем направлении). эти четыре шины расширены до 16 слотов pcie системы через мосты pcie, при этом в каждом слоте установлена карта northpole. эти 16 карт northpole используют до половины доступной пропускной способности pcie 256 гб/с.
рис. 4. карта northpole pcie.
рис. 5. разобранный вид исследовательского прототипа устройства, показывающий установку 16 карт northpole pcie. карты northpole могут взаимодействовать с хостом через стандартную модель конечной точки pcie или напрямую и более эффективно друг с другом за счет дополнительных аппаратных возможностей каждой карты.
в системе работает red hat enterprise 8.9, а northpole использует встроенный драйвер ядра vfio, чтобы программное обеспечение пользовательского пространства могло управлять оборудованием. система использует iommu для управления трансляцией адресов и обеспечивает функции безопасности, такие как изоляция устройств и виртуализация, для запуска приложений с использованием технологии виртуальных машин или контейнеров.
каждая карта northpole получает и передает данные через механизм dma, расположенный на каждой карте. эти механизмы dma работают независимо и могут одновременно получать и передавать тензоры несколькими способами. первый метод — это стандартная модель конечной точки pcie, в которой хост-программа считывает входные данные из памяти хоста через механизм dma и записывает тензоры обратно в память хоста после завершения вычислений. второй подход использует дополнительные аппаратные возможности каждой карты, чтобы карты northpole могли напрямую взаимодействовать друг с другом через pcie без необходимости передачи данных между памятью хоста или дополнительного программного управления во время выполнения. прямая связь между northpole позволяет более крупным моделям охватывать несколько чипов northpole, одновременно уменьшая задержку связи и накладные расходы, вызванные чисто программной системой управления.
сопоставление llm с устройствами northpole
стратегия картирования llm, показанная на рисунке 6, основана на трех ключевых наблюдениях. во-первых, для достаточно больших моделей весь трансформаторный слой может целиком уместиться в памяти одного чипа northpole («w4a4») с использованием весов, активаций и kv-буферов в формате int4, тогда как выходной слой может уместиться на чипе двумя. во-вторых, если весовой и kv-кэш полностью находится на кристалле, среде выполнения необходимо передавать между уровнями только небольшие встроенные тензоры, что находится в пределах пропускной способности pcie gen3 × 8. в-третьих, прототипы устройств northpole можно легко собрать, установив 16 плат northpole pcie в готовый сервер.
это предполагает стратегию сопоставления каждого слоя преобразователя с соответствующей картой northpole с использованием конвейерного параллелизма в стиле gpipe и разделения выходного слоя на две карты northpole с использованием тензорного параллелизма через pcie gen3 × 8, который отправляет встраиваемый тензор между слоями.во время вывода небольшой пакет пользовательских запросов (например, n запросов) разделяется на m равных микропакетов и передается по конвейеру через 16 карт northpole.
хотя параллелизм конвейеров использовался при обучении llm (без ограничений по задержке), его использование в выводе было ограничено размером пакета, необходимого для сокращения времени простоя каждого этапа конвейера или пузырьков конвейера. например, некоторые исследования показали, что для эффективного обучения требуется, чтобы количество микропакетов m примерно в четыре раза превышало количество этапов конвейера. размер мини-пакета n ограничен (а) задержкой каждого токена, необходимой системе, и (б) доступной памятью для кэша kv для хранения всего мини-пакета. вычисления с низкой задержкой и пропускная способность встроенной памяти 13 тб/с позволяют northpole достигать чрезвычайно низкой задержки на каждый токен, поэтому ограничивающим фактором при выборе n является память, используемая для хранения всего кэша kv на кристалле. более того, мы находим, что количество микропакетов m, равное количеству этапов конвейера, достаточно, чтобы сделать время простоя конвейера незначительным.
в экспериментах, описанных в этой статье, мы выбрали размер мини-пакета n = 28, разделенный на m = 14 равных микропакетов, в результате чего размер микропакета составил 2 для каждого расчета карты северного полюса. наш выбор архитектуры для эффективных вычислений при таких небольших размерах пакетов является ключом к достижению эффективности, показанной на рисунке 1 и таблице i.
модель llm и метод обучения
а
модель llm
модель, используемая для тестирования нашей системы, основана на модели ibm granite-8b-code-base с открытым исходным кодом, которая представляет собой преобразователь-декодер с 8 миллиардами параметров, содержащий 36 слоев преобразователя с размером скрытого слоя 4096 и размером промежуточного слоя ffn. 14 336, количество заголовков внимания — 32, количество заголовков «ключ-значение», использующих внимание группового запроса (gqa), — 8, а размер словаря — 49 152. чтобы уместиться в один сервер с 16 картами northpole, мы использовали версию модели с 3 миллиардами параметров с 14 слоями преобразователей и выходным слоем, квантованную до точности w4a4, но в остальном структура осталась неизменной.
примечательно, что эта конфигурация модели соответствует llama 3 8b [13] и mistral 7b [14] для каждого слоя, отличаясь только количеством слоев, размером словарного запаса модели и используемыми обучающими данными.
б
обучение с полной точностью
чтобы восстановить точность задачи исходной модели после квантования, для создания весов модели была принята следующая процедура. сначала базовая модель обучается с нуля на основе 1 триллиона токенов кода на 116 языках с полной точностью fp16 по рецепту из [4]. затем веса выходного слоя и входные данные базовой модели, а также активации silu были квантованы int8, в то время как все остальные веса, входные данные линейного слоя и входные данные умножения матрицы были квантованы int4. наконец, точность количественной оценки после восстановления была количественно определена путем выполнения обучения с учетом квантования еще 8,5 миллиардов токенов из подмножества обучающих данных языка python со скоростью обучения 8 × 10⁻⁵ и размером пакета 128 с использованием алгоритм lsq. размер шага, который активирует квантователь, обучается с использованием «теплого старта», который увеличивает скорость обучения в 200 раз на первых 250 шагах обучения, чтобы помочь быстро адаптироваться к данным.
базовая модель fp16, работающая на графическом процессоре, и квантовая модель, работающая на northpole, достигли точности pass@10 на humanevalsynthesize-python в пределах 0,01 (0,3001 gpu против 0,2922 northpole. сравнимо с моделью granite-8b-code-base. при этом общее обучение сокращается. сосредоточить внимание на характеристиках производительности оборудования, а не расширять границы точности задач.
приложение времени выполнения
во время вывода, как показано на рисунке 6, токены генерируются пользовательским приложением с высокой конвейерностью, работающим на центральном процессоре, которое предварительно обрабатывает текст во входные тензоры с помощью токенизаторов и слоев внедрения и помещает входные тензоры в первую карту northpole в устройстве. , получает результирующий выходной тензор от последней карты northpole в устройстве, осуществляет постобработку выходного тензора с помощью декодера и детокенизатора и зацикливает полученный токен в качестве следующего входного сигнала. пользовательское приложение также отвечает за пользовательский интерфейс, а также за более сложные оптимизации, такие как предварительное заполнение подсказок.
чтобы разгрузить рабочую нагрузку нейронной сети на northpole, пользовательское приложение вызывает библиотеку времени выполнения пользовательского пространства с помощью простого api, настраивает веса слоев карты northpole и кэш kv во время инициализации, а также отправляет и получает входные и выходные тензоры во время выполнения.веса и kv-кэш настроены так, чтобы оставаться во встроенной памяти, и их не нужно передавать за пределы кристалла во время выполнения. библиотека времени выполнения также управляет встроенным буфером кадров, чтобы предотвратить остановку ядра northpole из-за отсутствия приемников входных или выходных данных. промежуточные тензоры передаются между картами без вмешательства хоста, как описано в разделе 4.
результаты производительности
устройство northpole с 16 картами достигло пропускной способности 28 356 токенов в секунду при llm с 3 миллиардами параметров. длина последовательности этого llm настроена как 2048 (длина подсказки 1024, генерируемые токены 1024), а декодер использует жадную выборку.
для сравнения с графическими процессорами мы измерили производительность одной карты двух графических процессоров для вывода с низким энергопотреблением (l4 и l40s) и двух графических процессоров для высокопроизводительного обучения (a100 и h100).все системы используют одну и ту же модель и конфигурацию llm: northpole работает с точностью w4a4, а графический процессор работает с оптимальной точностью w4a16, поскольку, насколько нам известно, доступных ядер cuda w4a4 нет.в наших экспериментах с графическим процессором мы использовали модель квантования gptq и протестировали ее с использованием ядра marlin vllm (версия 0.5.4) для сравнения с northpole. использование квантования gptq обеспечивает оптимальную производительность вывода модели на графическом процессоре за счет снижения точности веса при сохранении приемлемой точности. кроме того, ядра marlin используются для оптимизации матричных операций, особенно при работе с разреженными и плотными умножениями матриц. сравнительный анализ среды выполнения vllm позволяет нам оценить пропускную способность и задержку, обеспечивая оптимальную производительность модели для данной конфигурации оборудования. в экспериментах с несколькими картами графического процессора использовался тензорный параллелизм, равный количеству доступных карт, чтобы эффективно получить минимально возможную задержку через nvlink. наши эксперименты показывают, что хотя технология шардинга и снижает задержку, она приводит к снижению пропускной способности графического процессора на карту. стоит отметить, что превосходная производительность northpole главным образом обусловлена огромной пропускной способностью встроенной памяти и, во вторую очередь, более низкой точностью.
в таблице i показаны результаты измерений производительности для систем northpole и графических процессоров в расчете на каждую карту. основные метрики включают показатели пропускной способности, задержки, пространства и энергии, определенные ниже.
общее количество токенов, сгенерированных для небольших пакетов входных подсказок, равно:
среди них mmm — это количество микропакетов, а tok_seq_len — это количество токенов вывода, сгенерированных одним пользователем. пропускная способность системы — это общее количество токенов, сгенерированных в ответ на входные запросы (генерация токенов), деленное на общее время, необходимое для обработки запроса, включая время предварительного заполнения приглашения (время запроса) и время генерации токена (время генерации токена):
пропускная способность сравнивается для каждой карты путем деления пропускной способности системы на количество обрабатываемых карт в системе:
задержка — это мера среднего времени между выходными токенами, сгенерированными конкретным пользователем, и представляет собой сумму времени, необходимого встроенному токену для прохождения через конвейер обработки, плюс время быстрого предварительного заполнения, амортизируемое по общему количеству сгенерированных токенов:
аналогично, объединяя уравнения 1, 2 и 4:
где размер мини-пакета = размер мини-пакета. обратите внимание: это задержка системы, которую видит каждый пользователь.
нормированные по количеству карт в системе, мы расширяем метрики пространства и энергии, определенные в [11], чтобы иметь возможность сравнивать системы с различным количеством карт. полученные метрики пространства и энергии представляют собой пропускную способность на карту, нормализованную по количеству процессорных транзисторов на карту и мощности на карту соответственно:
если пропускная способность системы масштабируется пропорционально количеству карт конвейера в системе, нормализация карт будет смещена, в результате чего метрики пространства и энергии останутся постоянными в зависимости от количества карт в системе. обычно пропускная способность системы сублинейно масштабируется в зависимости от количества карт из-за накладных расходов на связь и синхронизацию.
в заключение
мы делаем следующие взносы:
мы продемонстрировали исследовательский прототип прибора doka northpole.
мы показываем, что большие модели нейронных сетей, такие как llm, можно эффективно разделить на несколько процессоров northpole, расширяя нашу предыдущую работу, которая показала, что один процессор northpole лучше справляется с задачами визуального вывода (resnet50, yolo-v4 превосходит другие архитектуры).
мы демонстрируем, что уникальная архитектура northpole хорошо подходит для вывода llm, позволяя ей значительно превосходить графические процессоры периферийных устройств и центров обработки данных по двойной цели: низкой задержке и высокой энергоэффективности.
поскольку устройство northpole необходимо использовать как единое целое, оно наиболее эффективно для приложений с высокой пропускной способностью.
этот предварительный документ представляет собой трамплин для дальнейших исследований в области оптимизации энергоэффективности, сопоставления более крупных llm с соответственно более крупными устройствами northpole, новых моделей llm, совместно оптимизированных с архитектурой northpole, а также будущих архитектур систем и микросхем.