Распределённые вычисления: гарантия завершения на исполнителях, которые вам ничего не должны
Если вы ведете pet‑проекты, требующие большого количества вычислений, то наверняка сталкивались с проблемой их - вычислений - оркестрации. Содержать личный кластер позволить себе могут далеко не все, а каждая арендная платформа имеет свой специфический инструментарий интеграции и свои ограничения, а хуже всего, что ни одна из них не имеет гарантий полного выполнения. Вдобавок к этому, еще и не хотелось бы завязываться на одну конкретную площадку, как минимум потому, что некоторые провайдеры дают бесплатные возобновляемые квоты, и тратить их, вместо своих кровно заработанных, гораздо приятнее. В данной статье будет рассматриваться пример с арендными GPU , однако все основные тезисы полностью переносимы и на другие сценарии использования. У вас, скорее всего, уже открыт десяток разнообразных вкладок: какая‑нибудь платформа с бесплатными недельными лимитами, вроде Kaggle ; что‑нибудь с бесплатными возобновляемыми кредитами, на подобии Lightning AI ; возможно, пара площадок со спотовыми машинами по цене чашки кофе, например Vast , но с оговоркой — никто не обещает, что машину не заберут, или у ее владельца не отвалится сеть. Каждый вариант в отдельности выглядит как «ну, на пару экспериментов может быть и хватит» с различной долей допущения. Все вместе они выглядят как кластер. Нюанс в том, что кластером они становятся не сами: между « у меня есть пяток площадок » и « моя задача точно доедет до конца и не ляжет в непредсказуемый момент » находится довольно много инженерной работы, и почти вся она — не про площадку, а про грамотную оркестрацию. Эту работу я выполнил для своего проекта и хочу поделиться тем, из чего она состояла. Многие решения оказались неочевидными, а добрая половина появилась лишь после того, как самый явный вариант сломался. Итак, приступаем... Где взять гарантию, которая не существует?
https://habr.com/ru/articles/1073954/
#распределённые_системы #отказоустойчивость #MLOps #gpu #архитектура_по #воспроизводимость_моделей #оркестрация #обучение_моделей #облачные_вычисления #проектирование