Отзывы о книге Distributed Machine Learning Patterns

  • Аватар пользователя
    bru_sia
    25 октября 2025

    Несмотря на кажущуюся простоту изложения и повторяемость (едва ли не дословную) одних и тех же утверждение, подходов и объяснений по несколько раз в разных частях книги, произведение представляет интерес, давая подробное, полное и доступное руководство по проектированию распределённых систем машинного обучения.

    Большая часть приведённых здесь паттернов, как замечает и автор, его комментаторы, взято из проектирования распределённых систем и может быть использовано для построения таких конвейеров. Целью настоящей книги было рассмотреть применимость рассмотренных паттернов в разрезе задач машинного обучения. В связи с чем произведение рассматривает полный цикл разработки и эксплуатации нейросетевых моделей, затрагивая все классические шаги конвейера MLOps.

    Книга разбита на три смысловые части. Первая сосредоточена на разработке моделей машинного обучения и включает в себя все её [разработки] основные этапы, начиная от извлечения данных и их предобработки, анализа, очистки, балансировки и импутации (при необходимости), проходя этап обучения нейросетевой модели, затем её улучшения, подбора гиперпараметров и выбора лучшего (одного или нескольких) из кандитатов для дальнейшего использования в финальном продукте.

    Вторая часть посвящена эксплуатации полученного на первом этапе решения. Здесь рассмотрены как классические DevOps-задачи, такие как возможность динамически управлять количеством развёрнутых реплик сервиса в зависимости от текущей нагрузки, синхронная и асинхронная работа в рамках единого направленного графа вычислений (а также альтернативы классическим DAG-ам), так и ML-специфичные. К последним можно отнести задачу о том, как динамически распределять вычислительные ресурсы между пользователями и командами, приоритезируя задачи и выделяя для каждого участника строго определённое количество от всех доступных вычислительных мощностей. В рамках этого подхода рассмотрена приоритезация задач и возможность вытеснения менее приоритетных в пользу наиболее значимых (так, чтобы вычислительные ресурсы в первую очередь утилизировались на выполнение наиболее важных), а также минимизация простоя дорогостоящего оборудования.

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

    Третья часть, повторяя почти дословно всех пройдённых ранее этапов (вместе с описаниями и графиками), показывает на конкретном примере, как можно было бы спроектировать и реализовать полноценную работающую систему. В отличие от предыдущих частей, максимально подробно и даже просто описывающих паттерны проектирования, эта завершающая часть даёт некий беглый обзор используемых технологий, а также листинг python-скриптов и kube-манифестов, необходимых для реализации предложенного решения. Эта часть книги также вызывает ряд вопросом относительно реализации, но позвольте оставить их без внимания. Ограничусь лишь тем, что скажу, что новичкам, не знакомым с Argo CD, Kubernetes и Kubeflow, полагаю, будет достаточно сложно разобраться даже при довольно подробном руководстве к действию. Некоторые из рассмотренных паттернов в финальную реализацию, к сожалению, не попали, иные можно было бы реализовать поопрятнее, и несмотря на все эти замечания и огрехи, книга заслуживает высокой оценки за последовательное и подробное рассмотрение подходов к проектирования распределённых систем машинного обучения.

    Можно смело рекомендовать книгу как data science специалистам, так и инженерам автоматизации (MLOps и DevOps специалистам она будет интересна в первую очередь), архитекторам и software-разработчикам как для расширения кругозора, так и для систематизации уже известных знаний.

    like16 понравилось
    132

Комментарии 0

Ваш комментарий

, чтобы оставить комментарий.

Комментариев пока нет

Комментариев пока нет,
ваш может стать первым