Кластеризація NVIDIA DGX Spark + M3 Ultra Mac Studio для 4-кратного швидшого висновування 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 через 10 GbE, ми можемо отримати найкраще з обох апаратних засобів із величезним прискоренням. Коротке пояснення в цій темі та посилання на повну публікацію в блозі нижче.
Висновок LLM складається з етапів попереднього заповнення та декодування. Prefill обробляє запит, будуючи кеш KV. Він прив'язаний до обчислень, тому стає швидшим із більшою кількістю FLOPS. Decode зчитує кеш KV і генерує токени один за одним. Він обмежений пам'яттю, тому стає швидшим із більшою пропускною здатністю пам'яті.
Ми можемо запустити ці два етапи на різних пристроях: Попереднє заповнення: DGX Spark (високообчислювальний пристрій, 4-кратний обчислення) Декодування: M3 Ultra (пристрій з високою пропускною здатністю пам'яті, 3x пропускною здатністю пам'яті) Однак тепер нам потрібно перенести кеш KV по мережі (10GbE). Це вносить затримку.
А ось кеш КВ створюється для кожного шару трансформатора. Надсилаючи кеш KV кожного шару після його обчислення, ми перекриваємо зв'язок з обчисленнями. Транслюємо кеш KV і приховуємо затримку мережі. Ми досягаємо 4-кратного прискорення при попередньому заповненні та в 3 рази при декодуванні, з 0 затримкою мережі.
Повна публікація в блозі та більш детальна інформація про EXO 1.0: Дякуємо @NVIDIA за ранній доступ до двох DGX Sparks. #SparkSomethingBig
439,63K