Почему diffusion-модели стали «рабочей лошадкой» для ML-инженера
Привет! На связи Кристина Желтова, директор по разработке моделей в Газпромбанке и преподаватель курса «ML-инженер» 👋🏻
Когда люди впервые слышат про генеративные diffusion-модели, обычно фокус сразу уходит в сторону сложной теории и их устройства: шум, шаги денойзинга, латентные пространства и так далее, но если посмотреть на тему со стороны инженерии, можно заметить, что подобные модели стали популярными во многом благодаря своей экосистеме и простоте использования. Если вам нужен генеративный пайплайн, необязательно погружаться в сложную математику моделей — достаточно разобраться с рабочим стеком и начать творить.
В инженерной практике почти не выигрывают технологии, которые в теории очень мощные, но не имеют хороших инженерных имплементаций — и diffusion-модели это подтверждают. На практике это означает, что не нужно каждый раз собирать всё с нуля — есть готовые предобученные модели, понятные пайплайны, модульные компоненты, которые можно менять под задачу.
Для старта своего первого проекта с генеративными моделями достаточно проделать несколько простых шагов:
1️⃣ Понять, какую задачу вы хотите решить — например, text-to-image (создать картинку по текстовому описанию), image-to-image (преобразовать существующее изображение в новое), inpainting (изменить или дорисовать только выбранную область изображения).
2️⃣ Выберите самый близкий готовый pipeline — готовый предобученный пайплайн будет разумным и простым бейзлайном. Подобрать модель под задачу можно в Hugging Face Hub, а пример для быстрого старта посмотреть здесь.
3️⃣ Соберите минимальный набор реальных примеров вашей задачи. Даже если вы начинаете с готовой предобученной модели, вам нужно хотя бы небольшое количество данных для проверки качества модели.
4️⃣ На первом этапе стоит проверить, какого качества можно добиться только настройкой промптов и параметров инференса. Если модель в целом работает, но плохо понимает ваш стиль, объект или предметную область, тогда уже есть смысл думать о дообучении.
5️⃣ Если всё-таки нужно дообучение, начните с LoRA — максимально эффективный по ресурсам и оптимальный по итоговому качеству метод. Пример с дообучением через LoRA можно посмотреть в документации.
6️⃣ После оптимизации качества можно перейти к оптимизации скорости работы и подготовке к эффективному инференсу.
7️⃣ И, наконец, для полной инженерной зрелости, к развёртыванию.
Итого, diffusion-модели сегодня не только про вау-эффект и красивые демо, но во многом про зрелую экосистему, в которой можно быстро собрать и аккуратно адаптировать решение под свои данные и быстро довести всё до прода.
🧡 Все детали и программа ждут вас по ссылке: simulative.ru/ml-engineer
Привет! На связи Кристина Желтова, директор по разработке моделей в Газпромбанке и преподаватель курса «ML-инженер» 👋🏻
Когда люди впервые слышат про генеративные diffusion-модели, обычно фокус сразу уходит в сторону сложной теории и их устройства: шум, шаги денойзинга, латентные пространства и так далее, но если посмотреть на тему со стороны инженерии, можно заметить, что подобные модели стали популярными во многом благодаря своей экосистеме и простоте использования. Если вам нужен генеративный пайплайн, необязательно погружаться в сложную математику моделей — достаточно разобраться с рабочим стеком и начать творить.
В инженерной практике почти не выигрывают технологии, которые в теории очень мощные, но не имеют хороших инженерных имплементаций — и diffusion-модели это подтверждают. На практике это означает, что не нужно каждый раз собирать всё с нуля — есть готовые предобученные модели, понятные пайплайны, модульные компоненты, которые можно менять под задачу.
Для старта своего первого проекта с генеративными моделями достаточно проделать несколько простых шагов:
Итого, diffusion-модели сегодня не только про вау-эффект и красивые демо, но во многом про зрелую экосистему, в которой можно быстро собрать и аккуратно адаптировать решение под свои данные и быстро довести всё до прода.
Если вы хотите не просто запускать готовые пайплайны, а научиться самостоятельно строить, оптимизировать и внедрять такие решения в продакшен, приходите на курс «ML-инженер». Вместе мы пройдём полный путь инженерной работы с моделями, включая диффузионные, и вы сможете уверенно решать реальные бизнес-задачи.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥4👍2
Как правильно выбрать метрику для рекомендательных систем
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Часто кажется, что рекомендательные системы строятся как обычный ML-пайплайн: собрать данные, обучить модели, оценить их точность, выбрать наилучшую — и всё. Но на деле при построении рекомендаций может возникнуть масса коварных проблем — к счастью, их можно попытаться отследить раньше, чем они поедут на прод, если правильно выбрать метрику!
Разберем несколько самых полезных — от простейших до более нетривиальных 👆🏻
Сохраняйте, если строите рекомендации!
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Часто кажется, что рекомендательные системы строятся как обычный ML-пайплайн: собрать данные, обучить модели, оценить их точность, выбрать наилучшую — и всё. Но на деле при построении рекомендаций может возникнуть масса коварных проблем — к счастью, их можно попытаться отследить раньше, чем они поедут на прод, если правильно выбрать метрику!
Разберем несколько самых полезных — от простейших до более нетривиальных 👆🏻
Сохраняйте, если строите рекомендации!
❤8👍4🔥4
Какие библиотеки и фреймворки должен знать ML/DS в 2026 году?
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Если Вы только входите в ML/DS, очень легко попасть в ловушку: пытаться выучить «все библиотеки мира» — на практике это почти никогда не нужно. Гораздо важнее понимать, какие инструменты закрывают базовый рабочий цикл: подготовку данных, обучение моделей, эксперименты и доведение решения до продукта.
Вот список того, что в 2026 году реально стоит знать ML/DS-специалисту, чтобы уверенно решать задачи и подходить под основные требования в вакансиях👇
💻 NumPy + SciPy
Это две библиотеки для численных вычислений и базовой статистики.
NumPy часто используется при обработке Big Data — он особенно полезен, когда данных реально много, и базовые питоновские конструкции типа циклов или встроенных списков не справляются либо работают непомерно долго.
SciPy содержит в себе больше готовых реализаций математических функций — в особенности, для статистики, тестирования гипотез и проверки распределений.
💻 Pandas, а лучше Polars!
Pandas — устоявшийся стандарт для работы с табличными данными, и до сих пор он используется в подавляющем большинстве компаний. Однако в 2026 году важно смотреть шире: к сожалению, Pandas ограничен тем, что не способен без дополнительных приёмов обрабатывать данные паралелльно + не поддерживает режим «ленивой» обработки для экономии памяти.
Поэтому в задачах, где размер таблиц исчисляется более чем десятками миллионов строк, наилучшим выбором будет библиотека Polars! Её синтаксис очень похож на Pandas, но работает она гораздо быстрее и эффективнее.
Так что на 2026 ориентир такой: уверенно знать Pandas и постепенно смотреть в сторону Polars как более производительной альтернативы.
💻 Scikit-learn
Это всё ещё главный и незаменимый must-have для классического ML. Здесь огромное количество возможностей и готовых функций для построения baseline-моделей, train/test split, кросс-валидации и оформления пайплайнов, стандартизирующих препроцессинг.
Если вы хорошо знаете scikit-learn, то уже умеете собирать половину типовых ML-решений.
💻 PyTorch
А это необходимый выбор, если работаете с нейросетями, NLP, CV или современными deep learning-задачами.
PyTorch важен не только сам по себе, но и потому, что вокруг него строится огромная экосистема: обучение, fine-tuning, кастомные модели, исследовательские эксперименты. А вот не менее известный TensorFlow для работы с нейросетями последнее время уходит на второй план.
💻 XGBoost / LightGBM / CatBoost
Это не просто «ещё один sklearn» — это очень мощный класс моделей для табличных данных. Даже в вакансиях очень часто можно видеть отдельные пункты в требованиях про знание этих библиотек.
В бизнес-задачах они часто дают отличный результат, при этом архитектурно являются бустингами — то есть не требуют много ресурсов на обучение + имеют полезные расширения для отбора признаков, поддерживают кастомные функции потерь и разноплановые задачи.
Так что если работаете с табличными данными — эти «три кита» современных бустингов всегда должны быть в арсенале.
💻 Hugging Face Transformers
Если имеете дело с LLM, NLP, CV и в принципе дообучением готовых нейросетей, без этой экосистемы в 2026-м тяжело.
HF нужна, чтобы использовать предобученные модели, быстро их дообучать на своих данных, удобно работать с готовыми токенизаторами, датасетами и не писать всё с нуля
Сегодня это одна из самых простых «дверей» в прикладной DL — в особенности, NLP и LLM.
Сохраняйте как ориентир, чтобы не учить лишнего! И ставьте 🔥, если хотите такой же пост про инструменты production для DS.
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Если Вы только входите в ML/DS, очень легко попасть в ловушку: пытаться выучить «все библиотеки мира» — на практике это почти никогда не нужно. Гораздо важнее понимать, какие инструменты закрывают базовый рабочий цикл: подготовку данных, обучение моделей, эксперименты и доведение решения до продукта.
Вот список того, что в 2026 году реально стоит знать ML/DS-специалисту, чтобы уверенно решать задачи и подходить под основные требования в вакансиях
💻 NumPy + SciPy
Это две библиотеки для численных вычислений и базовой статистики.
NumPy часто используется при обработке Big Data — он особенно полезен, когда данных реально много, и базовые питоновские конструкции типа циклов или встроенных списков не справляются либо работают непомерно долго.
SciPy содержит в себе больше готовых реализаций математических функций — в особенности, для статистики, тестирования гипотез и проверки распределений.
💻 Pandas, а лучше Polars!
Pandas — устоявшийся стандарт для работы с табличными данными, и до сих пор он используется в подавляющем большинстве компаний. Однако в 2026 году важно смотреть шире: к сожалению, Pandas ограничен тем, что не способен без дополнительных приёмов обрабатывать данные паралелльно + не поддерживает режим «ленивой» обработки для экономии памяти.
Поэтому в задачах, где размер таблиц исчисляется более чем десятками миллионов строк, наилучшим выбором будет библиотека Polars! Её синтаксис очень похож на Pandas, но работает она гораздо быстрее и эффективнее.
Так что на 2026 ориентир такой: уверенно знать Pandas и постепенно смотреть в сторону Polars как более производительной альтернативы.
💻 Scikit-learn
Это всё ещё главный и незаменимый must-have для классического ML. Здесь огромное количество возможностей и готовых функций для построения baseline-моделей, train/test split, кросс-валидации и оформления пайплайнов, стандартизирующих препроцессинг.
Если вы хорошо знаете scikit-learn, то уже умеете собирать половину типовых ML-решений.
💻 PyTorch
А это необходимый выбор, если работаете с нейросетями, NLP, CV или современными deep learning-задачами.
PyTorch важен не только сам по себе, но и потому, что вокруг него строится огромная экосистема: обучение, fine-tuning, кастомные модели, исследовательские эксперименты. А вот не менее известный TensorFlow для работы с нейросетями последнее время уходит на второй план.
💻 XGBoost / LightGBM / CatBoost
Это не просто «ещё один sklearn» — это очень мощный класс моделей для табличных данных. Даже в вакансиях очень часто можно видеть отдельные пункты в требованиях про знание этих библиотек.
В бизнес-задачах они часто дают отличный результат, при этом архитектурно являются бустингами — то есть не требуют много ресурсов на обучение + имеют полезные расширения для отбора признаков, поддерживают кастомные функции потерь и разноплановые задачи.
Так что если работаете с табличными данными — эти «три кита» современных бустингов всегда должны быть в арсенале.
💻 Hugging Face Transformers
Если имеете дело с LLM, NLP, CV и в принципе дообучением готовых нейросетей, без этой экосистемы в 2026-м тяжело.
HF нужна, чтобы использовать предобученные модели, быстро их дообучать на своих данных, удобно работать с готовыми токенизаторами, датасетами и не писать всё с нуля
Сегодня это одна из самых простых «дверей» в прикладной DL — в особенности, NLP и LLM.
Итог такой: в 2026 году сильный ML/DS-специалист — это не тот, кто знает сотню библиотек, а тот, кто уверенно закрывает полный цикл: данные → baseline → эксперименты → и продакшен (про него ещё поговорим!).
Сохраняйте как ориентир, чтобы не учить лишнего! И ставьте 🔥, если хотите такой же пост про инструменты production для DS.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤6✍3
Привет! На связи Наталия Воронова, руководитель направления анализа данных в сфере машинного обучения в IT-компании BIV 👋🏻
Хочу разобрать кейс из практики про построение системы на базе LAM + LLM + ML. Это хороший пример того, почему «просто подключить LLM» почти никогда не работает в реальных задачах.
Задача — автоматизировать принятие решений в маркетинге. Что нужно было уметь системе: анализировать профиль клиента, учитывать поведение и историю, оценивать риск и выбирать оптимальное действие (канал / оффер / момент).
На старте была гипотеза: «давайте возьмём LLM и дадим ему всё это решать».
Что произошло? LLM действительно мог анализировать текст, обобщать информацию и генерировать рекомендации. Но решения были нестабильными, не учитывались численные ограничения и невозможно контролировать результат.
И главное — LLM не оптимизирует целевую функцию бизнеса. LLM отвечает на вопрос: «Что выглядит разумно?» А система должна отвечать: «Что максимизирует результат при ограничениях?». Это разные задачи.
Что сделали? Перешли от «одной модели» к агентной архитектуре.
Мы разделили логику на компоненты:
1️⃣ ML-блок (предиктивный слой) считает вероятности и оценки: P(response), P(churn), Expected value и риск. Это числовая основа.
2️⃣ LLM-блок (интерпретация и логика) отвечает за объяснение, работу с текстом, генерацию гипотез и гибкую логику, которую сложно зашить в код.
3️⃣ LAM / агентный слой (оркестрация) — ключевая часть системы. Он управляет последовательностью действий, вызывает нужные модели, учитывает ограничения и принимает итоговое решение. По сути, это decision engine.
Как выглядит поток?
➖ Агент получает задачу;
➖ Запрашивает ML-оценки;
➖ Передаёт контекст в LLM;
➖ Применяет бизнес-ограничения;
➖ Выбирает действие.
Почему это работает? ML даёт точные оценки, LLM даёт гибкость, агент даёт контроль. По отдельности этого недостаточно.
Хочу разобрать кейс из практики про построение системы на базе LAM + LLM + ML. Это хороший пример того, почему «просто подключить LLM» почти никогда не работает в реальных задачах.
Задача — автоматизировать принятие решений в маркетинге. Что нужно было уметь системе: анализировать профиль клиента, учитывать поведение и историю, оценивать риск и выбирать оптимальное действие (канал / оффер / момент).
На старте была гипотеза: «давайте возьмём LLM и дадим ему всё это решать».
Что произошло? LLM действительно мог анализировать текст, обобщать информацию и генерировать рекомендации. Но решения были нестабильными, не учитывались численные ограничения и невозможно контролировать результат.
И главное — LLM не оптимизирует целевую функцию бизнеса. LLM отвечает на вопрос: «Что выглядит разумно?» А система должна отвечать: «Что максимизирует результат при ограничениях?». Это разные задачи.
Что сделали? Перешли от «одной модели» к агентной архитектуре.
Мы разделили логику на компоненты:
Как выглядит поток?
Почему это работает? ML даёт точные оценки, LLM даёт гибкость, агент даёт контроль. По отдельности этого недостаточно.
Если вы строите систему на LLM, задайте себе вопрос, где у вас находится контроль решения? Если ответ «внутри LLM», это почти всегда проблема.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥4
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Сегодня вечером веду вебинар о том, чем Data Science отличается от Machine и Deep Learning — через сравнение на реальной задаче.
Возьмём датасет и обучим две модели: сначала классическим алгоритмом, затем простой нейросетью. Сравним качество, разберём принцип работы и посмотрим, что окажется лучше и при каких условиях.
Что вы узнаете из вебинара?
➡️ Разберётесь, что стоит за аббревиатурами AI, ML, DL и DS и как эти роли соотносятся на практике;
➡️ Узнаете, в каких задачах хватает классического ML, а где без нейросетей не обойтись;
➡️ Увидите, как обучают модель и как оценивают её качество — на конкретном примере с кодом;
➡️ Получите представление о стеке инструментов DS, ML и DL-инженера: что нужно знать и откуда начинать.
📆 18 мая, 19:00 МСК, онлайн
❗️ Ссылку на трансляцию пришлём за час до начала!
Сегодня вечером веду вебинар о том, чем Data Science отличается от Machine и Deep Learning — через сравнение на реальной задаче.
Возьмём датасет и обучим две модели: сначала классическим алгоритмом, затем простой нейросетью. Сравним качество, разберём принцип работы и посмотрим, что окажется лучше и при каких условиях.
Что вы узнаете из вебинара?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4🔥2
Почему опытные ML-инженеры не начинают сразу с нейросетей?
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Один из самых полезных лайфхаков в ML, который сильно помогает в реальных проектах:
Даже если очень хочется сразу обучить трансформер, или SOTA из последней статьи, или огромный ансамбль. На практике важно всегда начинать с baseline — возможно, уже его будет достаточно для первичного решения запроса бизнеса.
Как обычно выглядит работа над новым проектом:
1️⃣ Сперва постройте максимально простую модель — например, регрессию или дерево решений. Главное — без сложных пайплайнов и многочасового тюнинга гиперпараметров.
Почему это важно? Дело в том, что baseline быстро покажет, есть ли вообще полезный сигнал в данных и насколько задача решаема. Если простейшая модель выдаёт плохой результат — это повод поискать другой датасет или обогатить имеющийся дополнительными признаками.
2️⃣ Анализируйте не только итоговую метрику, но и ошибки модели на отдельных примерах непосредственно — очень часто это помогает разгадать загадку, что происходит на самом деле. Вот несколько типичных примеров:
➖ модель ошибается только на редких объектах ⇒ вероятен дисбаланс классов;
➖ качество резко падает на новых данных ⇒ распределения в обучающих и свежих продовых данных отличаются.
А если построить график зависимости loss/метрики по итерациям обучения, можно быстрее заметить проблемы в процессе обучения:
➖ если loss «застыл» ⇒ модель почти не учится, можно попробовать поменять что-нибудь в алгоритме оптимизации;
➖ если видите сильные скачки ⇒ learning rate может быть слишком большим;
➖ ну и если loss на валидации начал расти ⇒ типичный сигнал переобучения.
3️⃣ Не тратьте время на подбор гиперпараметров без нормальной валидации. Очень частая ошибка новичков — часами подбирать их, когда проблема вообще в другом.
Обычно в задачах качество сильнее растёт от хороших признаков и очистки данных, корректной валидации, устранения мультиколлинеарности, шума и утечек данных. А вот когда эти проблемы решены, можно заняться более «косметическими» улучшениями.
4️⃣ И только когда все простейшие пути решения задачи тщательно проработаны, можно приступать к более сложным моделям.
Так что не бросайтесь сразу в SOTA и долгие эксперименты — часто бизнесу вполне хватает простой модели, если она даёт нормальное качество, быстро работает и не требует недель экспериментов ради +0.001 к метрике. В насущных задачах важна не только скорость работы модели, но и скорость её разработки тоже 😁
Ставьте❤️ , если хотите больше постов с лайфхаками!
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Один из самых полезных лайфхаков в ML, который сильно помогает в реальных проектах:
📌 Никогда не начинайте решение задачи сразу со сложной модели.
Даже если очень хочется сразу обучить трансформер, или SOTA из последней статьи, или огромный ансамбль. На практике важно всегда начинать с baseline — возможно, уже его будет достаточно для первичного решения запроса бизнеса.
Как обычно выглядит работа над новым проектом:
Почему это важно? Дело в том, что baseline быстро покажет, есть ли вообще полезный сигнал в данных и насколько задача решаема. Если простейшая модель выдаёт плохой результат — это повод поискать другой датасет или обогатить имеющийся дополнительными признаками.
А если построить график зависимости loss/метрики по итерациям обучения, можно быстрее заметить проблемы в процессе обучения:
Обычно в задачах качество сильнее растёт от хороших признаков и очистки данных, корректной валидации, устранения мультиколлинеарности, шума и утечек данных. А вот когда эти проблемы решены, можно заняться более «косметическими» улучшениями.
Нейросети и сложные ансамбли действительно могут дать сильный прирост, но только если данные гарантированно качественные и определены слабые места, в которых baseline-модель не справляется.
Так что не бросайтесь сразу в SOTA и долгие эксперименты — часто бизнесу вполне хватает простой модели, если она даёт нормальное качество, быстро работает и не требует недель экспериментов ради +0.001 к метрике. В насущных задачах важна не только скорость работы модели, но и скорость её разработки тоже 😁
Ставьте
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤3👍2
Привет! Снова на связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Сегодня вечером снова приду на эфир — разберём, как выглядит подготовка датасетов в реальных проектах и пошагово пройдём по базовой «рутине» дата-сайентиста:
1️⃣ Дубликаты, пропуски, выбросы — что с ними делать на практике;
2️⃣ Подготовка признаков для модели — кодирование и масштабирование;
3️⃣ Частые ошибки — утечки данных, мультиколлинеарность, нестабильность и другие вещи, которые тихо ломают качество модели.
📆 20 мая, 18:00 МСК, онлайн
❗️ Ссылку на трансляцию пришлём за час до начала!
Сегодня вечером снова приду на эфир — разберём, как выглядит подготовка датасетов в реальных проектах и пошагово пройдём по базовой «рутине» дата-сайентиста:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍3🔥2
Модель предскажет
Привет! Снова на связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻 Сегодня вечером снова приду на эфир — разберём, как выглядит подготовка датасетов в реальных проектах и пошагово пройдём по базовой «рутине» дата-сайентиста: 1️⃣ Дубликаты…
Мария Жарова на связи ❤️
Спешу сообщить, что запись стрима про ML-модели уже на канале! Смотрите там, где удобно:
➡️ YouTube
➡️ VK Видео
⭐️ Кстати, уже в пятницу завершается набор на обучение на курсы «ML-инженер» и «Дата-сайентист», где я выступаю ментором. Присоединяйтесь к курсу и учитесь строить эффективные ML-модели от создания до продакшена!
Спешу сообщить, что запись стрима про ML-модели уже на канале! Смотрите там, где удобно:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥3
Полезные инструменты и библиотеки для MLOps
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Когда впервые сталкиваешься с MLOps, бывает сложно понять, для чего нужно такое множество инструментов и почему production не может без них жить.
Чтобы понять важность MLOps-инструментов, давайте разберём типичный ML-пайплайн по шагам.
1️⃣ Сначала вы обучаете модель и начинаете экспериментировать: пробуете разные признаки, гиперпараметры, алгоритмы. Довольно быстро становится неудобно хранить результаты «вручную» — в блокнотах, Excel или названиях файлов вроде
2️⃣ Теперь представим, что ваша модель оказалась успешной, и её нужно выкатить в production — к примеру, рекомендательную систему. Что это значит? Как минимум то, что пользователи теперь должны регулярно получать актуальные рекомендации от вашей модели — а для этого её нужно регулярно перезапускать.
Если взять типичный пайплайн, то скорее всего, он будет состоять из нескольких частей: выгрузить свежие данные, подготовить датасет, обучить модель, провалидировать качество, сохранить артефакты, залить новые предсказания в базу или обновить сервис. И всё это должно происходить строго по порядку.
Делать такое руками каждый день довольно быстро становится невозможно. Особенно если пайплайнов несколько, а задач десятки…
3️⃣ Также при выкатке в прод почти все сталкиваются с проблемой: «локально всё работает, а на сервере внезапно нет».
Причины могут быть разные — например, другая версия Python, не та версия библиотеки, отсутствует нужный пакет, или модель вообще ведёт себя по-другому из-за окружения.
Благодаря этому можно один раз собрать окружение и потом запускать его где угодно:
локально, на сервере, в облаке или у другого разработчика в команде. Концепция Docker уже давно стала стандартом для ML, да и в принципе в разработке.
4️⃣ А уже после выкатки модели обычно хочется понимать, не упал ли сервис, не начала ли модель отвечать слишком медленно, не закончилась ли память, не выросла ли нагрузка на сервер.
5️⃣ А когда ML-систем становится много — появляются Kubernetes, feature store, CI/CD и другие инфраструктурные инструменты. Но это уже следующий уровень зрелости проекта.
Так что каждый инструмент MLOps решает вполне конкретную практическую проблему, с которой рано или поздно сталкивается любая ML-команда.
Сохраняйте, чтобы не потерять❤️
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Когда впервые сталкиваешься с MLOps, бывает сложно понять, для чего нужно такое множество инструментов и почему production не может без них жить.
Чтобы понять важность MLOps-инструментов, давайте разберём типичный ML-пайплайн по шагам.
final_model_v2_last_really_last 😁И как раз для этого существуют трекеры экспериментов: MLflow, Weights & Biases, ClearML! Они автоматически сохраняют параметры запуска, метрики, версии датасетов, модели, графики обучения и артефакты. Благодаря им потом можно нормально сравнивать эксперименты и наглядно видеть, почему одна версия модели сработала лучше другой.
Если взять типичный пайплайн, то скорее всего, он будет состоять из нескольких частей: выгрузить свежие данные, подготовить датасет, обучить модель, провалидировать качество, сохранить артефакты, залить новые предсказания в базу или обновить сервис. И всё это должно происходить строго по порядку.
Делать такое руками каждый день довольно быстро становится невозможно. Особенно если пайплайнов несколько, а задач десятки…
К счастью, для этого существуют оркестраторы: Airflow, Prefect, Luigi. Они позволяют описывать ML-процессы как последовательность задач и автоматически запускать их по расписанию. Плюс они умеют отслеживать статус задач, самостоятельно перезапускать упавшие этапы, хранить логи и строить зависимости между шагами пайплайна. По сути это инструмент для автоматизации и управления сложными процессами.
Причины могут быть разные — например, другая версия Python, не та версия библиотеки, отсутствует нужный пакет, или модель вообще ведёт себя по-другому из-за окружения.
Чтобы проект запускался одинаково на любой машине, используют Docker: он позволяет упаковать приложение вместе со всеми зависимостями, библиотеками и настройками в отдельный контейнер.
Благодаря этому можно один раз собрать окружение и потом запускать его где угодно:
локально, на сервере, в облаке или у другого разработчика в команде. Концепция Docker уже давно стала стандартом для ML, да и в принципе в разработке.
Для ответа на эти вопросы обычно используют связку Prometheus + Grafana. Prometheus — это система сбора метрик, она регулярно ходит в сервисы и собирает техническую информацию: нагрузку CPU, использование памяти, время ответа, количество запросов, ошибки и другие показатели. А Grafana — это инструмент для визуализации этих данных. В ней можно подключать разные источники данных и через UI собирать дашборды с графиками, таблицами и мониторингом сервисов.
Так что каждый инструмент MLOps решает вполне конкретную практическую проблему, с которой рано или поздно сталкивается любая ML-команда.
Сохраняйте, чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥3
Лучший совет для начинающих — начните 😄 Но с чего начать, когда вокруг столько информации?
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Хоть Data Science и относительно молодое направление, по нему уже успело накопиться ооочень много ресурсов и литературы. Собрала для вас 3 книги, которые хорошо подойдут на старте — без перегруза и с понятной логикой роста.
В итоге получается очень комфортная траектория:
➡️ «Грокаем» — чтобы понять основы ML;
➡️ Python ВандерПласа — чтобы начать делать руками;
➡️ «Статистика и котики» — чтобы научиться мыслить аналитически.
На такую базу можно уже «наращивать» более сложный материал.
Сохраняйте, чтобы не потерять❤️
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Хоть Data Science и относительно молодое направление, по нему уже успело накопиться ооочень много ресурсов и литературы. Собрала для вас 3 книги, которые хорошо подойдут на старте — без перегруза и с понятной логикой роста.
📕 Луис Серра «Грокаем машинное обучение»
Это одна из самых дружелюбных книг для входа в тему: здесь нет ощущения, что тебя сразу бросили в линейную алгебру или матанализ и сказали «разбирайся». В книге огромное множество интуитивных объяснений, которые отвечают на большую часть вопросов:➖ Что такое модель и почему она «учится»;➖ Что значит ошибка и качество;➖ Зачем делить данные на train/test;➖ И почему модели иногда «переучиваются».
Издание довольно новое (2024 года), и закрывает весь стек классического ML.
📖 Ссылка на PDF
📗 Джейк ВандерПлас «Python для сложных задач»
Это отличное практическое дополнение к теории. Несмотря на устрашающее название, в книге понятно и на примерах объясняются все базовые инструменты и библиотеки дата-сайентиста: NumPy, Pandas, визуализация и базовый ML через sklearn.
Хоть DS и считается исследовательско-математическим направлением, все идеи и алгоритмы реализуются через Python, поэтому его знание необходимо.
📖 Ссылка на PDF
📘 В. Савельев «Статистика и котики»
Если первые две книги дают понимание машинного обучения и практики, то эта очень мягко вводит в статистическое мышление. В книге удивительно просто объясняются сложные статистические явления — без перегруза и без ощущения, что ты снова на парах в университете 😄
Можно наконец-то осознать:➖ Почему маленькие выборки могут легко вводить в заблуждение;➖ Почему любые «примерные оценки» всегда с погрешностью и почему это нормально;➖ И как перестать воспринимать цифры как что-то точное, а начать видеть в них неопределённость.
И всё это через простые, жизненные примеры.
📖 Ссылка на PDF
В итоге получается очень комфортная траектория:
На такую базу можно уже «наращивать» более сложный материал.
Сохраняйте, чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3🔥3
Модель предскажет
Поэтому в задачах, где размер таблиц исчисляется более чем десятками миллионов строк, наилучшим выбором будет библиотека Polars! Её синтаксис очень похож на Pandas, но работает она гораздо быстрее и эффективнее.
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Записала отдельное видео про сравнение библиотек Pandas и Polars: где и в каких случаях их использовать, их возможности и технические ограничения. Надеюсь, будет полезно!
Смотрите там, где удобно:
📹 YouTube
📹 VK Видео
Записала отдельное видео про сравнение библиотек Pandas и Polars: где и в каких случаях их использовать, их возможности и технические ограничения. Надеюсь, будет полезно!
Смотрите там, где удобно:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥3
Всем привет! Я Валерия Елпатьевская, инженер данных в Альфа Банке и ментор Симулейтив 👋🏻
Мой путь начался не в IT: филология, преподавание, потом Data Science. Но быстро поняла, что без инженерной базы далеко не уедешь. Пошла разбираться в очередях, оркестрации и архитектуре… и как-то незаметно стала Data Engineer.
С 8 по 16 июля я буду ментором бесплатного ML-интенсива — буду помогать вам сделать первые шаги в data science и не дам застрять на задачах. Что ещё будет на интенсиве:
➖ Практика на Kaggle — решаете реальные задачи и сразу кладёте их в портфолио;
➖ Финальный эфир — разберём, как оформить готовый проект в GitHub так, чтобы его не стыдно было показать работодателю;
➖ Сертификат и призы самым активным участникам недели!
Продвинутый Python и математика не нужны — стартуем с азов, а разбираться в непонятных местах будет с кем. Буду ждать вас на интенсиве!
➡️ Зарегистрироваться на интенсив
Мой путь начался не в IT: филология, преподавание, потом Data Science. Но быстро поняла, что без инженерной базы далеко не уедешь. Пошла разбираться в очередях, оркестрации и архитектуре… и как-то незаметно стала Data Engineer.
С 8 по 16 июля я буду ментором бесплатного ML-интенсива — буду помогать вам сделать первые шаги в data science и не дам застрять на задачах. Что ещё будет на интенсиве:
Продвинутый Python и математика не нужны — стартуем с азов, а разбираться в непонятных местах будет с кем. Буду ждать вас на интенсиве!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥4✍2
Один из самых недооценённых лайфхаков в ML — это правильные негативные примеры
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Когда люди начинают изучать ML, обычно всё выглядит довольно просто: есть объект и есть правильный ответ. В процессе обучения мы показываем модели много таких примеров, чтобы она сама научилась предсказывать.
Но в серьёзных ML-задачах этого часто недостаточно, потому что модели важно не только понимать, что является правильным, но и уметь отличать это от неправильного. Например:
➖ В рекомендациях нужно выбрать лучшие товары среди тысяч других и расположить их в правильном порядке;
➖ Аналогично в поиске — найти самые подходящие документы;
➖ В матчинг-задачах — отличать похожие объекты от непохожих;
➖ В CV и NLP — понимать, какие изображения или тексты действительно близки по смыслу, а какие нет.
И тут всегда возникает проблема: потенциально «неправильных» вариантов обычно слишком много.
В процессе обучения нельзя каждый раз сравнивать покупку вообще со всеми остальными товарами маркетплейса — это слишком дорого по памяти и вычислениям. Поэтому во время обучения обычно берут только часть негативных примеров — то есть специально выбирают, какие «неправильные» ответы показать модели.
Простейший вариант — взять негативы случайно, но в этом есть свои риски: например, пользователь купил кроссовки, а в негативы попал холодильник. Формально всё правильно — холодильник действительно не купили, но проблема в том, что такой «негатив» слишком простой.
Другими словами, модель быстро выучится, что «кроссовки ≠ холодильник» — и почти ничего полезного из этого не получит. Потому что реальные ошибки обычно происходят не между совершенно разными объектами, а между похожими: то есть не между кроссовками и холодильником, а между двумя похожими моделями кроссовок.
Поэтому в хороших production ML-системах негативы стараются делать более «сложными». Например, в негативы могут специально добавлять товары из той же категории, похожие фильмы, близкие тексты, объекты с похожими эмбеддингами или товары, на которые пользователь кликнул, но не купил.
Такие примеры заставляют модель учиться гораздо лучше, потому что ей приходится разбираться в мелких различиях, а не в очевидных. И очень часто качество негативных примеров влияет на итоговый результат сильнее, чем очередная сложная архитектура или тюнинг гиперпараметров.
Поэтому две команды могут использовать одну и ту же модель, но получать совершенно разное качество 🙂
Сохраняйте, чтобы не потерять❤️
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Когда люди начинают изучать ML, обычно всё выглядит довольно просто: есть объект и есть правильный ответ. В процессе обучения мы показываем модели много таких примеров, чтобы она сама научилась предсказывать.
Но в серьёзных ML-задачах этого часто недостаточно, потому что модели важно не только понимать, что является правильным, но и уметь отличать это от неправильного. Например:
И тут всегда возникает проблема: потенциально «неправильных» вариантов обычно слишком много.
Представьте рекомендательную систему: пользователь купил кроссовки — это позитивный пример. Но товаров в магазине могут быть миллионы.
В процессе обучения нельзя каждый раз сравнивать покупку вообще со всеми остальными товарами маркетплейса — это слишком дорого по памяти и вычислениям. Поэтому во время обучения обычно берут только часть негативных примеров — то есть специально выбирают, какие «неправильные» ответы показать модели.
Простейший вариант — взять негативы случайно, но в этом есть свои риски: например, пользователь купил кроссовки, а в негативы попал холодильник. Формально всё правильно — холодильник действительно не купили, но проблема в том, что такой «негатив» слишком простой.
Другими словами, модель быстро выучится, что «кроссовки ≠ холодильник» — и почти ничего полезного из этого не получит. Потому что реальные ошибки обычно происходят не между совершенно разными объектами, а между похожими: то есть не между кроссовками и холодильником, а между двумя похожими моделями кроссовок.
Поэтому в хороших production ML-системах негативы стараются делать более «сложными». Например, в негативы могут специально добавлять товары из той же категории, похожие фильмы, близкие тексты, объекты с похожими эмбеддингами или товары, на которые пользователь кликнул, но не купил.
Такие примеры заставляют модель учиться гораздо лучше, потому что ей приходится разбираться в мелких различиях, а не в очевидных. И очень часто качество негативных примеров влияет на итоговый результат сильнее, чем очередная сложная архитектура или тюнинг гиперпараметров.
Поэтому две команды могут использовать одну и ту же модель, но получать совершенно разное качество 🙂
Сохраняйте, чтобы не потерять
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥4
Один из самых популярных вопросов, который часто задают: «Из какой профессии проще всего перейти в ML или Data Science?»
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
На самом деле в ML приходят из очень разных направлений. И почти всегда предыдущий опыт всё равно оказывается полезным — просто у каждого бэкграунда свои сильные стороны и свои пробелы, которые нужно закрывать.
⭐️ Например, аналитика — наверное, один из самых естественных входов в Data Science. DA хорошо умеют работать с данными, знают Python и SQL, понимают метрики, визуализацию и логику продуктовых задач. Обычно здесь остаётся посмотреть только темы, связанные непосредственно с машинным обучением: какие бывают модели, их валидацию, концепции подготовки данных для ML и базовый production-подход.
⭐️ А вот разработчикам легче даётся инженерная часть: код, архитектура, оптимизация, работа с инфраструктурой. При переходе в ML они обычно прокачивают математику и принципы работы с данными и экспериментами.
⭐️ У дата-инженеров часто уже есть очень сильная база по пайплайнам, хранению и обработке больших объёмов данных. Поэтому переход в ML тоже бывает довольно органичным — тут также нужно добавить понимание моделей и ML-логики.
⭐️ А ещё в ML очень много людей из совсем других сфер: экономики, физики, биологии, маркетинга, финансов — и это тоже нормально. Во многих задачах доменная экспертиза оказывается не менее важной, чем знание очередной библиотеки. Последнее время можно наблюдать интересную тенденцию: нередко в описаниях вакансий встречаются требования про знание доменной сферы.
Можно долго смотреть лекции и читать статьи, но настоящее понимание обычно появляется только в момент, когда сам пытаешься обучить модель, разобраться с данными, починить странную ошибку или понять, почему качество внезапно стало хуже.
Именно поэтому почти у всех успешных переходов в ML есть что-то общее: пет-проекты, стажировки, практические задачи, участие в соревнованиях или работа с наставником, который помогает быстрее пройти через типичные проблемы.
Так что если вам кажется, что у вас «не тот» бэкграунд для ML — скорее всего, это не так. Намного важнее другое: насколько системно вы готовы закрывать пробелы и превращать теорию в практику❤️
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
На самом деле в ML приходят из очень разных направлений. И почти всегда предыдущий опыт всё равно оказывается полезным — просто у каждого бэкграунда свои сильные стороны и свои пробелы, которые нужно закрывать.
Но есть вещь, которая почти одинаково важна для всех, независимо от точки входа:
без практики перейти в ML очень сложно.
Можно долго смотреть лекции и читать статьи, но настоящее понимание обычно появляется только в момент, когда сам пытаешься обучить модель, разобраться с данными, починить странную ошибку или понять, почему качество внезапно стало хуже.
Именно поэтому почти у всех успешных переходов в ML есть что-то общее: пет-проекты, стажировки, практические задачи, участие в соревнованиях или работа с наставником, который помогает быстрее пройти через типичные проблемы.
Так что если вам кажется, что у вас «не тот» бэкграунд для ML — скорее всего, это не так. Намного важнее другое: насколько системно вы готовы закрывать пробелы и превращать теорию в практику
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥3
Рексистемы — одна из тех областей, где красивая теория очень быстро встречается с суровой реальностью продакшена
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Разберём типичный кейс, через который проходит почти каждая команда, которая берётся за рекомендации с нуля.
Стартовая точка: а что вообще рекомендовать?
Обычно всё начинается так: есть каталог (товары, видео, статьи, треки — назовём их обобщённо айтемы) и есть пользователи, которые с ним как-то взаимодействуют. Бизнес говорит: «сделайте, чтобы люди больше кликали/покупали/смотрели». И тут появляется первая ловушка — кажется, что задача про алгоритмы, а на самом деле она про данные.
Первые вопросы, на которые приходится отвечать:
➡️ Какие взаимодействия считать «положительными» — клик? Просмотр дольше 30 секунд? Покупка?
➡️ Как быть с неявным фидбэком, когда пользователь просто проскроллил, и непонятно, понравилось ему или нет, а может просто кот прошёлся по клавиатуре;
➡️ Что делать с новыми юзерами и новыми айтемами, про которых мы ничего не знаем? (знаменитая проблема cold start).
✅ Первая итерация: baseline, который очень простой, но нужный
Классика жанра — начать с чего-то максимально простого: топ популярного, топ популярного в сегменте пользователя или content-based (похожие айтемы по описанию/тегам).
Звучит скучно, но именно на этом этапе выясняется куча важного: где в логах дырки и пропуски, какие товары давно неактуальны и их вообще не стоит рекомендовать, и — сюрприз — что простой топ популярного уже даёт вполне приличные клики, и обогнать его сложными моделями не так-то просто.
✅ Вторая итерация: коллаборативная фильтрация и двухстадийная схема
Дальше обычно строится честная двухстадийная архитектура:
➖ Candidate generation — быстро отобрать сотни кандидатов из миллионов (ALS, item2item, эмбеддинги);
➖ Ranking — аккуратно переранжировать топ градиентным бустингом или нейронкой с добавлением фичей.
Именно здесь появляется ощущение «настоящей» рексистемы. И именно здесь всплывает вторая типичная ловушка — оффлайн-метрики не всегда хорошо коррелируют с онлайном. Знакомая история: NDCG на исторических данных подрос, а в A/B-тесте — тишина. Причин может быть много:
🔶 Выбрана не совсем та оффлайн-метрика под бизнес-задачу;
🔶 Сказывается смещение в обучающих данных, особенно если они собраны предыдущей версией рексистемы — привет, feedback loop;
🔶 Иногда дело в том, что рост качества модели просто не транслируется в поведение пользователя напрямую.
Поэтому в зрелых командах оффлайн-эксперименты воспринимают скорее как фильтр гипотез, а финальное слово всегда за A/B.
✅ Третья итерация: а что мы вообще оптимизируем?
Момент, когда команда понимает: максимизировать CTR — это прямой путь к кликбейту в выдаче. Пользователь кликает, но не досматривает, не возвращается, отписывается. Поэтому в продовых системах почти всегда появляется:
➖ Многокритериальная оптимизация (клик + удержание + разнообразие);
➖ Бизнес-правила поверх модели (не показывать одно и то же, поддерживать новинки);
➖ Контроль за разнообразием выдачи, чтобы пользователь не оказался запертым в «пузыре» из одного и того же типа контента.
Рекомендации — та область, где инженерная аккуратность важнее модного алгоритма. И это, пожалуй, главный инсайт, который приходит с практикой❤️
Сохраняйте, если было полезно!
Привет! На связи Мария Жарова, ментор курсов «ML-инженер» и «Дата-сайентист» 👋🏻
Разберём типичный кейс, через который проходит почти каждая команда, которая берётся за рекомендации с нуля.
Стартовая точка: а что вообще рекомендовать?
Обычно всё начинается так: есть каталог (товары, видео, статьи, треки — назовём их обобщённо айтемы) и есть пользователи, которые с ним как-то взаимодействуют. Бизнес говорит: «сделайте, чтобы люди больше кликали/покупали/смотрели». И тут появляется первая ловушка — кажется, что задача про алгоритмы, а на самом деле она про данные.
Первые вопросы, на которые приходится отвечать:
Классика жанра — начать с чего-то максимально простого: топ популярного, топ популярного в сегменте пользователя или content-based (похожие айтемы по описанию/тегам).
Звучит скучно, но именно на этом этапе выясняется куча важного: где в логах дырки и пропуски, какие товары давно неактуальны и их вообще не стоит рекомендовать, и — сюрприз — что простой топ популярного уже даёт вполне приличные клики, и обогнать его сложными моделями не так-то просто.
Дальше обычно строится честная двухстадийная архитектура:
Именно здесь появляется ощущение «настоящей» рексистемы. И именно здесь всплывает вторая типичная ловушка — оффлайн-метрики не всегда хорошо коррелируют с онлайном. Знакомая история: NDCG на исторических данных подрос, а в A/B-тесте — тишина. Причин может быть много:
Поэтому в зрелых командах оффлайн-эксперименты воспринимают скорее как фильтр гипотез, а финальное слово всегда за A/B.
Момент, когда команда понимает: максимизировать CTR — это прямой путь к кликбейту в выдаче. Пользователь кликает, но не досматривает, не возвращается, отписывается. Поэтому в продовых системах почти всегда появляется:
Ещё раз кратко, что запомнить:📌 Сначала данные и метрика, потом модель, а не наоборот;📌 Простой baseline экономит месяцы — без него не с чем сравнивать;📌 Offline-качество ≠ бизнес-эффект, финальный судья — A/B-тест;📌 Рексистема — это не одна модель, а пайплайн из отбора, ранжирования и правил.
Рекомендации — та область, где инженерная аккуратность важнее модного алгоритма. И это, пожалуй, главный инсайт, который приходит с практикой
Сохраняйте, если было полезно!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3👍2
Гайд: практическое применение алгоритмов ML
Знаете, как компьютеры могут учиться на данных и делать точные прогнозы? Благодаря алгоритмам машинного обучения — набору методов, которые позволяют компьютерам учиться на данных и делать прогнозы без явного программирования.
Подготовили для вас материал с обзором и примерами применения таких алгоритмов.
Что вы получите от нашего материала?
⭐️ 16 алгоритмов с реальными примерами кода, такими как прогнозирование стоимости недвижимости, классификация электронных писем как спам или не-спам и многое другое;
⭐️ Разберётесь в принципах работы алгоритмов и их практическом применении. Вы узнаете, как использовать их для автоматизации рутинных задач и улучшения процессов принятия решений;
⭐️ Узнаете, как использовать эти алгоритмы для решения реальных задач в бизнесе, науке и других областях. Это может существенно повысить эффективность ваших проектов и дать вам конкурентное преимущество.
✅ Получить материал
Знаете, как компьютеры могут учиться на данных и делать точные прогнозы? Благодаря алгоритмам машинного обучения — набору методов, которые позволяют компьютерам учиться на данных и делать прогнозы без явного программирования.
Подготовили для вас материал с обзором и примерами применения таких алгоритмов.
Что вы получите от нашего материала?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2🔥2