Перейти к содержанию

Обучение в одном регионе AWS, данные в другом: что показала

Обычная головная боль при обучении больших моделей - данные лежат не там, где стоят GPU. Датасет прибит к региону политикой компании, ценой хранения или просто исторически, а вычислительные мощности х...

Обучение в одном регионе AWS, данные в другом: что показала связка SageMaker HyperPod и Qumulo

Обычная головная боль при обучении больших моделей - данные лежат не там, где стоят GPU. Датасет прибит к региону политикой компании, ценой хранения или просто исторически, а вычислительные мощности хочется арендовать там, где дешевле и где есть свободные квоты. До сих пор это означало либо переезд данных, либо постоянные сетевые издержки на каждый шаг обучения. AWS показал архитектуру, которая разводит эти два мира и не теряет в пропускной способности.

Что именно собрали

Схема строится на двух компонентах: Amazon SageMaker HyperPod отвечает за вычислительные ноды и оркестрацию обучения, Cloud Native Qumulo - за слой хранения с кэшированием. Ключевая идея в том, что compute выносится в один регион AWS, а исходный датасет остаётся в другом.

Между регионами не гоняют все данные на каждом шаге. Промежуточный слой кэша держит горячие части датасета рядом с вычислителем, а к хранилищу обращается только за тем, чего ещё нет в кэше. Это тот самый NeuralCache, который упоминается в замерах.

Цифры валидации

Главный результат прогона: удалённый кластер сравнялся по throughput с локальным, где compute и данные физически стояли рядом. Не «примерно догнал», а вышел на те же показатели - но не сразу.

После короткого разогрева NeuralCache удалённая конфигурация выдавала ту же пропускную способность, что и co-located кластер. Это и есть суть: первые минуты кэш наполняется, дальше система работает на полную. Сравнение проводилось именно между двумя вариантами - с данными рядом с GPU и с данными в другом регионе.

Где тут подвох

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

Второй момент - предсказуемость. Локальная схема ведёт себя ровно с первой секунды. Удалённая добавляет фазу нарастания, которую нужно учитывать в планировании и в мониторинге.

Кому это перестраивает работу

Сценарий первый - данные прикованы к региону. Регуляторные требования, стоимость хранения или просто нежелание платить за межрегиональную передачу больших объёмов на постоянной основе. Теперь compute можно вынести, не трогая данные.

Сценарий второй - квоты на GPU. В одном регионе мощности забиты или дороже, в другом есть свободные ноды. Развести их раньше мешала привязка данных, теперь - нет.

Сценарий третий - распределённые команды. Если часть данных исторически собирается в одном регионе, а обучать удобнее в другом, схема снимает необходимость сначала всё консолидировать.

Что стоит проверить до переезда

Первое - длину тренировок. Если прогоны короткие и частые, фаза прогрева будет куском накладных расходов на каждом запуске. Тут нужен замер на реальном профиле нагрузки.

Второе - стабильность сети между регионами. Валидация AWS показывает результат в их инфраструктуре; для своих условий стоит померить пропускную способность канала между регионами, где планируется разводить compute и хранение.

Третье - поведение кэша на вашем типе данных. NeuralCache разогревается тем быстрее, чем предсказуемее паттерн доступа. Если обучение ходит по датасету хаотично и без повторов, эффект кэша будет слабее.

Сама архитектура не про экономию ради экономии - она про снятие ограничения «данные и compute должны быть в одном месте». Для одних команд это открывает регионы с дешёвыми GPU, для других - убирает переезд терабайтов. Полное описание и результаты валидации AWS выложил в блоге для машинного обучения.

Читайте также