Чем DSA превосходит графические процессоры NVIDIA?

SambaNova Systems, вошедшая в десятку крупнейших компаний-единорогов в США, привлекла $678 млн в раунде финансирования серии D под руководством SoftBank в апреле 2021 года, достигнув ошеломляющей оценки в $50 млрд. В предыдущих раундах финансирования компании участвовали известные инвесторы, такие как Google Ventures, Intel Capital, SK, Samsung Catalyst Fund и другие ведущие мировые фирмы венчурного капитала. Какую революционную технологию разработала SambaNova, чтобы привлечь такой широкий интерес со стороны ведущих инвестиционных институтов по всему миру?

Согласно ранним маркетинговым материалам SambaNova, компания применила другой подход, чтобы бросить вызов гиганту искусственного интеллекта NVIDIA.

самбанова

Сравнение весьма удивительно: одна машина SambaNova, как утверждается, эквивалентна кластеру NVIDIA V1024 с 100 узлами, созданному с огромной вычислительной мощностью на платформе NVIDIA. Этот продукт первого поколения, основанный на SN10 RDU, представляет собой одну машину с 8 картами.

Некоторые могут возразить, что сравнение несправедливо, поскольку у NVIDIA есть DGX A100. SambaNova, похоже, это признала, и их продукт второго поколения, SN30, представляет другое сравнение:

ДГХ А100

DGX A100 предлагает 5 петафлопс вычислительной мощности, в то время как второе поколение DataScale от SambaNova также обеспечивает 5 петафлопс. Что касается памяти, DGX A100 имеет 320 ГБ HBM, а SN30 может похвастаться 8 ТБ DDR4 (автор предполагает, что это может быть опечаткой, и фактическая цифра должна быть 3 ТБ * 8).

Чип второго поколения представляет собой Die-to-Die версию SN10 RDU. Спецификации архитектуры SN10 RDU: 320 терафлопс @ BF16, 320 МБ SRAM и 1.5 ТБ DDR4. SN30 RDU по существу удваивает эти характеристики, как описано ниже:

«Этот чип имел 640 блоков вычисления шаблонов с производительностью более 320 терафлопс с точностью с плавающей запятой BF16, а также имел 640 блоков памяти шаблонов с 320 МБ встроенной SRAM и пропускной способностью встроенной памяти 150 ТБ/с. Каждый процессор SN10 также мог адресовать 1.5 ТБ вспомогательной памяти DDR4».

«Благодаря Cardinal SN30 RDU емкость RDU увеличивается вдвое, и причина этого увеличения в два раза заключается в том, что SambaNova с самого начала разработала свою архитектуру для использования многокристальной упаковки, и в этом случае SambaNova удваивает мощности своих машин DataScale, объединив два новых RDU – мы предполагаем, что это два модифицированных SN10 с изменениями микроархитектуры для лучшей поддержки больших базовых моделей – в единый комплекс под названием SN30. Каждый сокет в системе DataScale теперь имеет вдвое большую вычислительную мощность, вдвое больший объем локальной памяти и вдвое большую пропускную способность памяти, чем у машин первых поколений».

Высокая пропускная способность и большая емкость — взаимоисключающие варианты. NVIDIA выбрала высокую пропускную способность с HBM, а SambaNova выбрала большую емкость с DDR4. С точки зрения производительности SambaNova, похоже, превосходит NVIDIA в рабочих нагрузках искусственного интеллекта.

SambaNova SN10 RDU на Hot Chips 33

Cardinal SN10 RDU — это чип SambaNova первого поколения, а SN30 — чип второго поколения (версия SN10 Die-to-Die). Мы отмечаем его важные особенности, в том числе большой объем встроенной SRAM, огромную пропускную способность внутри кристалла и огромную емкость DRAM 1.5 ТБ.

SN40L — это чип третьего поколения (с добавлением HBM). Первые два поколения чипов опирались на характеристики пространственного программирования Dataflow, что снижало потребность в высокой пропускной способности DRAM и делало выбор в пользу DDR ​​большой емкости. Однако чип третьего поколения построен на этой основе и включает 64 ГБ HBM, сочетая в себе как пропускную способность, так и емкость.

SambaNova SN10 RDU на Hot Chips 33

Это приводит к интересной теме: как масштабировать систему, особенно при организации такого большого объема DRAM, и почему DDR4 был выбран среди других вариантов.

Согласно введению, SN10-8R имеет восемь карт, занимающих 1/4 стойки. Каждый RDU содержит шестиканальную память, каждый канал имеет 256 ГБ. SN10-8R имеет 48 каналов общей емкостью 12 ТБ с использованием DDR4-2667 на канал, а в разделе «Вопросы и ответы» также упоминается DDR4-3200.

SN10-8R имеет 48 каналов.

Кроме того, программный стек совместим с основными платформами искусственного интеллекта. Анализатор графа потока данных создает подграфы, подходящие для планирования и развертывания на RDU, из исходного DAG, формируя граф потока данных.

Компилятор потока данных компилирует и развертывает на основе графика потока данных, вызывая библиотеку шаблонов операторов (пространственные шаблоны), аналогичную инструменту P&R в EDA, развертывая график потока данных на аппаратных вычислительных устройствах и устройствах хранения данных RDU.

Кроме того, SambaNova предоставляет пользователям возможность настраивать операторы, поддерживая определяемые пользователем операторы в соответствии с их потребностями. Автор предполагает, что это основано на C+Intrinsic API, предоставляемом LLVM, поскольку базовая архитектура SN10 включает в себя множество инструкций SIMD, которые, вероятно, требуют ручного кодирования.

программное обеспечение самбафлоу

На реконфигурируемом оборудовании связь также программируется, и этот момент особо подчеркивается в другой архитектуре, Groq.

По сравнению с традиционными архитектурами, по личному мнению автора, преимущества этого подхода в архитектуре SambaNova заключаются в следующем:

1. Парадигма пространственного программирования имеет более регулярные шаблоны связи, которыми можно управлять с помощью программного обеспечения. Напротив, традиционные подходы имеют более хаотичные модели общения, что приводит к потенциальным перегрузкам.

2. Благодаря огромной емкости DRAM на карте можно хранить больше данных, преобразуя часть обмена данными между картами в обмен данными внутри карты, сокращая накладные расходы на связь и снижая потребность в пропускной способности связи между картами.

Sambaflow создает высокооптимизированные сопоставления потоков данных.

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

зона Златовласки

Архитектура потока данных SambaNova включает в себя многочисленные вычислительные PCU (0.5 TOPS) и PMU хранилища (0.5M), которые можно использовать для параллельной оптимизации и оптимизации локальности данных. В приведенном ниже примере показано, как объединение нескольких PCU в цепочку обеспечивает детальный конвейерный параллелизм, при этом PMU облегчают обмен данными между PCU и обеспечивают идеальный контроль локальности данных.

поток данных использует локальность и параллелизм данных

Потенциальные проблемы

Обычный параллелизм данных: такие операции, как Parallel.For, требуют общей памяти для обмена данными. В SN10 и SN30 это ограничено DDR? В SN40L можно использовать HBM, потенциально улучшая задержку.

Детализация PCU и PMU: Детализация PCU и PMU очень высокая. Как DAG разлагается на этот уровень?

(A) Анализатор графов потока данных напрямую разлагается до этой тонкой детализации, а затем с ним взаимодействуют операторы?

(B) Или анализатор графов потока данных разлагается на более грубую детализацию, при этом операторы контролируют аппаратные ресурсы, а оператор общего назначения вводится вручную в интерфейс?

На мой взгляд, уровень графа обеспечивает глобальное представление, открывая больше возможностей оптимизации. Однако необходим мощный инструмент автоматической генерации операторов для генерации кода операторов из подграфов, созданных анализатором графов потока данных, с использованием минимальных ресурсов. Рукописные операторы могут оказаться сложной задачей для гибкой компиляции на уровне графа. Я предполагаю, что реальный подход может включать в себя рукописные операторы для фиксированных шаблонов, а анализатор графов потока данных уровня графа компилирует данные на основе этих существующих шаблонов, как и большинство подходов.

Полное использование потенциала производительности является серьезной проблемой. Архитектура SambaNova позволяет реконфигурировать оборудование для адаптации к программам, в отличие от традиционных архитектур, в которых программы должны адаптироваться к оборудованию. В сочетании с детальными вычислениями и хранилищем это обеспечивает большее пространство для настройки.

Архитектура SN10, как показано на изображении, состоит из плиток, состоящих из программируемых межсоединений, вычислений и памяти. Плитки могут образовывать более крупные логические плитки, работать независимо, обеспечивать параллелизм данных или запускать разные программы. Плитки имеют доступ к памяти DDR4 уровня ТБ, памяти хост-машины и поддерживают межсоединения между несколькими картами.

кардинал sn10

Плитки в архитектуре SambaNova состоят из трех программируемых блоков: коммутатора, PCU (программируемого вычислительного блока) и PMU (программируемого блока памяти). Понимание того, как управлять этими устройствами, имеет решающее значение для инженеров, пишущих операторов.

Плитки в SambaNova

PCU в основном состоит из конфигурируемых инструкций SIMD. Программируемые счетчики для выполнения внутренних циклов в программах. Хвостовое устройство для ускорения трансцендентных функций, таких как сигмовидная функция.

PCU в основном состоит из конфигурируемых инструкций SIMD.

PMU — это многобанковая SRAM, которая поддерживает преобразования форматов тензорных данных, такие как транспонирование.

PMU — это многобанковая SRAM, которая поддерживает преобразования форматов тензорных данных, такие как транспонирование.

Коммутатор содержит конвейер маршрутизатора и перекрестную панель маршрутизатора, управляющие потоком данных между PCU и PMU. Он включает счетчик для реализации внешних циклов.

переключатель и встроенное межсоединение

Вот пример использования нормализации слоев, описывающий различные этапы вычислений. На оборудовании SambaNova коммутатор соединяет различные PCU и PMU для формирования конвейеров. Соседние вычисления могут быстро обмениваться данными через PMU (разновидность вычислений в памяти), поддерживая при этом параллельные конвейеры (если в программе есть параллельные DAG).

Обратите внимание, что этот пример соответствует парадигме пространственного программирования, где разные вычислительные блоки выполняют уникальные вычислительные программы (PCU выполняют одну и ту же программу в разное время). Вычисления полностью развернуты в пространственном измерении с применением некоторого слияния.

норма слоя, конвейерная в космосе

Опираясь на пространство, можно добавить подход временного программирования для обработки данных с использованием минимального количества PMU, MCU и коммутаторов. Временной подход предполагает выполнение определенных программ с конкретными данными в определенное время. Интуитивно понятно, что один и тот же вычислительный блок может выполнять разные программы в разное время. Этот подход использует меньше аппаратных ресурсов, позволяя чипу выполнять больше программ. В сочетании с высокоскоростными внутренними соединениями на кристалле и большой емкостью DDR4 можно обрабатывать более масштабные программы. Важны как пространственный, так и временной режимы программирования.

гибридное пространственно-временное исполнение

Ниже приведен общий процесс выполнения для небольшой сети, тогда как предыдущий пример был сосредоточен на операторе нормализации уровня. В отличие от других архитектур (TPU, Davinci), архитектура SambaNova изначально поддерживает слияние на кристалле.

пространственный поток данных внутри RDU
стойки с 12 ТБ DRAM

Поскольку 1/4 стойки обеспечивает 12 ТБ памяти DRAM, этой емкости достаточно для полного использования вычислительной мощности чипа. В SN40L дополнительно добавлено 64 ГБ HBM, которые, судя по содержанию PR, вероятно, будут размещены между DDR4 и PMU SRAM.

модели размером в терабайт

Такая архитектура требует чрезвычайно мощных методов компиляции для ее поддержки, в значительной степени полагаясь на то, что компилятор отображает граф потока данных на аппаратные ресурсы. Ниже приведены различные сценарии развертывания, требующие поддержки компилятора.

гибкость для поддержки ключевых сценариев

Многокарточные и многомашинные взаимосвязанные системы для обучения и вывода

горизонтальное масштабирование систем масштабирования данных

Преимущество использования большой емкости DRAM заключается в том, что она может поддерживать обучение 1 триллиона языковых моделей параметров без необходимости разделения модели, в отличие от систем с графическим процессором. Вот сравнение: обучение модели 1T на графических процессорах требует сложных методов параллелизма моделей, в то время как в системе SambaNova затраты меньше. Здесь возникает интересный момент: технология Dojo от Cerebras также направлена ​​на сокращение вычислительных ресурсов. Возможно, основываясь на текущей работе SambaNova, их ядра можно было бы реализовать с использованием подхода масштаба пластины, аналогичного Cerebras Dojo (PCU и PMU SambaNova также являются относительно мелкозернистыми). И наоборот, другие архитектуры могут использовать подход SambaNova с большой емкостью DRAM (эти архитектуры также имеют большие SRAM и основаны на потоках данных).

обучать большие языковые модели

Важность сокращения экологического следа можно оценить из заявления Илона Маска. Включение кластеров графических процессоров выше 10 12 — это серьезная задача, сложность и рабочая нагрузка которой сопоставимы с суперкомпьютерами, что значительно повышает технический барьер. Если FSD XNUMX докажет жизнеспособность комплексного подхода к большим моделям автономного вождения, доступность больших вычислительных кластеров станет решающим фактором для компаний, внедряющих эту технологию.

В отсутствие H100 удовлетворение потребностей в обучении крупных моделей ведущих отечественных автопроизводителей может быстро стать узким местом.

мускус х

Одним из других преимуществ SambaNova является то, что она может поддерживать обучение на изображениях с высоким разрешением, например 4K или даже 50K x 50K, без необходимости понижения разрешения до более низкой точности. При применении в сфере беспилотного вождения обучение с использованием видео высокой четкости может обеспечить преимущества в точности.

От 4 до 50 тысяч извилин

На графических процессорах обычно требуется понижающая дискретизация (возможно, сначала на главном процессоре), чтобы поместить данные в DRAM графического процессора. Большой объем памяти SambaNova означает, что понижающая дискретизация или разделение не требуются.

возможность полноизображения патологии с высоким разрешением

Поддержка обучения на изображениях с более высоким разрешением подразумевает необходимость более высокой точности обучения.

мировой рекорд точности, тренировка свертки в высоком разрешении

Аналогичным образом, для рекомендательных моделей повышение точности приводит к огромным экономическим выгодам. Большая архитектура памяти SambaNova очень полезна для повышения точности модели рекомендаций.

Вот эффект ускорения SambaNova в разных масштабах модели:

превосходящая современную точность

Итого

Архитектура потока данных RDU позволяет выполнять модели в SRAM, снижая требования к пропускной способности DRAM. Однако для этого также требуется, чтобы компилятор развернул граф потока данных на RDU.

Компилятор использует комбинированный метод «время+пространство» для максимизации использования оборудования для более крупных программ. В сочетании с большой емкостью DRAM это поддерживает более крупные модели и обучение изображений с высоким разрешением.

Интерпретация изменений архитектуры SN40L

«Чип SN40L SambaNova уникален. Он обращается как к HBM (High Bandwidth Memory), так и к DRAM на одном чипе, позволяя алгоритмам ИИ выбирать наиболее подходящую память для поставленной задачи, предоставляя им прямой доступ к гораздо большим объемам памяти, чем можно было бы достичь в противном случае. Кроме того, благодаря использованию архитектуры SambaNova RDU (Reconfigurable Data Unit) чипы предназначены для эффективного запуска разреженных моделей с использованием более интеллектуальных вычислений».

В новой архитектуре SN40L, выпущенной в начале сентября 2023 года, добавлено больше вычислительных ядер и впервые представлен HBM. В этом разделе делается попытка интерпретировать причины этого выбора.

Для вывода: параметры большой языковой модели составляют от десятков до сотен ГБ, а кэш KV также составляет от десятков до сотен ГБ, в то время как SRAM одной карты SN40 составляет всего несколько сотен МБ (у SN10 было 320 МБ).

Например, в модели LLaMA с параметром 65B для хранения весов в формате FP16 требуется 65G*2=130 ГБ. Снова возьмем LLaMA-65B в качестве примера: если длина токена вывода достигнет максимума в 2048, разрешенного моделью, общий размер кэша KV достигнет 170 ГБ.

В идеале параметры должны располагаться в SRAM, KV-кэш в памяти, близкой к вычислительной, а входные данные должны передаваться непосредственно на кристалл для управления вычислительным конвейером. Очевидно, что нескольких сотен МБ SRAM на карту недостаточно для размещения более 100 ГБ параметров, оставляя при этом место для входов, даже если для нескольких взаимосвязанных микросхем требуются тысячи микросхем. Чтобы уменьшить занимаемую площадь, по-прежнему необходима модель программирования с временным мультиплексированием для повторного использования встроенных вычислительных ресурсов, загрузки разных программ в разное время, требующей потоковой передачи весов с разными весами для разных уровней. Однако если веса и кэш KV хранятся в DDR, задержка будет довольно высокой, что делает HBM отличным носителем для размещения «горячих» данных (весов, кэша KV или промежуточных данных, которые необходимо передать).

DDR используется для параметров и входных данных, а HBM действует как сверхбольшой кеш для «горячих» данных (веса, KV-кэш или промежуточные данные, которые будут использоваться).

Для точной настройки и обучения требования к пропускной способности еще выше. Внедрение HBM обеспечивает увеличение пропускной способности и емкости.

Оставьте комментарий

Наверх