Habr AI→ оригинал

Шардинг в LLM: как распределить вычисления между GPU

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

Шардинг в LLM: как распределить вычисления между GPU
Источник: Habr AI. Коллаж: Hamidun News.
◐ Слушать статью

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

Почему матрицы не помещаются в памяти

При работе с действительно большими нейронными сетями матрицы весов и активаций практически никогда целиком не влезают в память одного GPU или TPU. Вес современной LLM может быть измерен в сотнях миллиардов параметров, каждый из которых требует нескольких байт памяти. Один ускоритель просто не справляется. Поэтому приходится разделять — шардировать — эти матрицы между несколькими чипами.

Как работает шардинг Представьте матрицу A размера [I, J].

Её можно разделить несколькими способами: По строкам (row-wise) — первый ускоритель берёт строки 1–N, второй строки N+1–2N и так далее По столбцам (column-wise) — аналогично, но по вертикали Блочное разделение — матрица делится на прямоугольные блоки и распределяется по сетке чипов По диагонали и другим паттернам — более сложные схемы для специфических операций Служба каждого ускорителя — выполнить операцию над своей частью матрицы, а затем синхронизировать результаты с соседями.

На что влияет качество шардинга

От грамотного выбора стратегии шардинга зависит: Скорость тренировки — минимизация времени на коммуникацию между GPU Эффективность памяти — правильное заполнение буферов на каждом чипе Пропускная способность — колличество данных, которые нужно передавать между ускорителями Локальность вычислений — сколько работы может выполниться без синхронизации Плохой шардинг может привести к ситуации, когда ускорители большую часть времени ждут друг друга или пропускают пропускную способность связей между ними. Хороший шардинг старается минимизировать эти потери и держать все чипы в работе одновременно.

Что это значит

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

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Что вы думаете?
Загружаем комментарии…