Шардинг в LLM: как распределить вычисления между GPU
Больших нейросети требуют распределения матриц между множеством ускорителей. Это называется шардингом. От того, как правильно разделены данные, зависит скорость
AI-обработка оригинала Habr AI; редакция Hamidun News
Масштабирование больших языковых моделей требует более чем одного GPU или TPU. Одна из ключевых техник для этого — шардинг: распределение матриц и векторов между несколькими ускорителями так, чтобы вычисления выполнялись эффективно и согласованно.
Почему матрицы не помещаются в памяти
При работе с действительно большими нейронными сетями матрицы весов и активаций практически никогда целиком не влезают в память одного GPU или TPU. Вес современной LLM может быть измерен в сотнях миллиардов параметров, каждый из которых требует нескольких байт памяти. Один ускоритель просто не справляется. Поэтому приходится разделять — шардировать — эти матрицы между несколькими чипами.
Как работает шардинг Представьте матрицу A размера [I, J].
Её можно разделить несколькими способами: По строкам (row-wise) — первый ускоритель берёт строки 1–N, второй строки N+1–2N и так далее По столбцам (column-wise) — аналогично, но по вертикали Блочное разделение — матрица делится на прямоугольные блоки и распределяется по сетке чипов По диагонали и другим паттернам — более сложные схемы для специфических операций Служба каждого ускорителя — выполнить операцию над своей частью матрицы, а затем синхронизировать результаты с соседями.
На что влияет качество шардинга
От грамотного выбора стратегии шардинга зависит: Скорость тренировки — минимизация времени на коммуникацию между GPU Эффективность памяти — правильное заполнение буферов на каждом чипе Пропускная способность — колличество данных, которые нужно передавать между ускорителями Локальность вычислений — сколько работы может выполниться без синхронизации Плохой шардинг может привести к ситуации, когда ускорители большую часть времени ждут друг друга или пропускают пропускную способность связей между ними. Хороший шардинг старается минимизировать эти потери и держать все чипы в работе одновременно.
Что это значит
Шардинг — не просто техническая оптимизация, это основа для экономики масштабирования. Правильное распределение вычислений позволяет использовать кластеры из сотен и тысяч GPU так, чтобы суммарная скорость приближалась к идеальной и вычислительные ресурсы не тратились впустую на ожидание коммуникации.
Хотите не читать про ИИ, а внедрить его?
«AI News» — это полезные новости из мира ИИ. Системно научиться работать с нейросетями и применять их в работе — в Hamidun Academy.