Кластеризация NVIDIA DGX Spark + M3 Ultra Mac Studio для 4x более быстрой инференции LLM. DGX Spark: 128 ГБ @ 273 ГБ/с, 100 TFLOPS (fp16), $3,999 M3 Ultra: 256 ГБ @ 819 ГБ/с, 26 TFLOPS (fp16), $5,599 У DGX Spark в 3 раза меньше пропускной способности памяти, чем у M3 Ultra, но в 4 раза больше FLOPS. Запуская вычислительно-ограниченный предзаполнение на DGX Spark, ограниченный памятью декодирование на M3 Ultra и стриминг KV кеша по 10GbE, мы можем получить лучшее из обоих аппаратных средств с огромными ускорениями. Краткое объяснение в этой теме и ссылка на полный блог ниже.
Инференс LLM состоит из этапов предварительного заполнения и декодирования. Предварительное заполнение обрабатывает запрос, создавая кеш KV. Это ограничено вычислениями, поэтому становится быстрее с увеличением FLOPS. Декодирование считывает кеш KV и генерирует токены по одному. Это ограничено памятью, поэтому становится быстрее с увеличением пропускной способности памяти.
Мы можем запустить эти два этапа на разных устройствах: Предварительная настройка: DGX Spark (устройство с высокой вычислительной мощностью, 4x вычислительная мощность) Декодирование: M3 Ultra (устройство с высокой пропускной способностью памяти, 3x пропускная способность памяти) Однако теперь нам нужно передать KV кэш по сети (10GbE). Это вводит задержку.
Но кеш KV создается для каждого слоя трансформера. Отправляя кеш KV каждого слоя после его вычисления, мы накладываем коммуникацию на вычисления. Мы потоково передаем кеш KV и скрываем сетевую задержку. Мы достигаем ускорения в 4 раза при предварительном заполнении и в 3 раза при декодировании, с нулевой сетевой задержкой.
Полный блог и больше деталей о EXO 1.0: Спасибо @NVIDIA за ранний доступ к двум DGX Sparks. #SparkSomethingBig
686