ML / AI
Это ветка ML/AI-инженера: ты учишь машину находить закономерности там, где явных правил «если X, то Y» не хватает, и превращаешь это в работающий продукт — от кредитного скоринга и рекомендаций до LLM-ассистентов. Финал серии из четырёх гидов: ML садится поверх всего — данных, статистики и инженерии. И держи в голове главное: модель — это 20% работы, остальное — данные, признаки, честная оценка и прод.
На практике 80% времени — это не «магия нейросетей», а возня с данными: чистишь таблицы, придумываешь признаки, обучаешь модель, честно проверяешь её на отложенных данных и следишь за переобучением. Начинаешь всегда с простейшего baseline и усложняешь, только если он не тянет. А потом главное — довести модель до прода, чтобы она приносила пользу, а не пылилась в ноутбуке.
Python + scikit-learn как база; градиентный бустинг (XGBoost / LightGBM / CatBoost) — рабочая лошадка на таблицах; PyTorch и Hugging Face для нейросетей, CV и NLP; LLM-стек — эмбеддинги, векторные БД (Chroma/Qdrant), RAG, LangChain/LlamaIndex; для прода — MLflow, FastAPI, Docker и мониторинг дрейфа.
Заходит тем, кому мало «объяснить прошлое» — хочется, чтобы система сама принимала решения и предсказывала будущее. Тем, кто готов копаться в данных, признаках и метриках, а не гоняться за модными названиями из новостей. Особенно — аналитикам и дата-инженерам, которые уже освоили фундамент и ищут следующий шаг.
Аналитик отвечает «что произошло и почему» и несёт инсайт людям; дата-инженер строит трубы, по которым данные надёжно текут; ML-инженер учит модель предсказывать и живёт этой моделью в проде. Границы размыты: рекомендации и прогнозы — это уже ML поверх аналитики, а MLOps — по сути дата-инженерия для моделей. Ключевое отличие: твой продукт не дашборд и не пайплайн, а обученная модель, которая сама принимает решения.
Первая модель за 10 строк
пара вечеровПрочувствовать полный цикл ML на готовом датасете. Не бойся — это правда десять строк кода, а не полгода математики.
- Делишь данные на train/test и своими словами объясняешь, зачем это нужно
- Обучаешь модель одной командой .fit() и получаешь предсказания через .predict()
- Считаешь хотя бы одну метрику (например accuracy) на отложенной выборке
- Объясняешь, что значит «точность на новых данных» и почему это важнее точности на обучении
- Различаешь три типа задач (с учителем / без учителя / с подкреплением) и понимаешь, куда попадает твоя
Классика на табличных данных
2–4 неделиВзяться за регрессию и классификацию всерьёз: метрики под задачу, переобучение и кросс-валидация. Здесь ты перестаёшь копипастить и начинаешь понимать.
- Всегда строишь простой baseline (лог./лин. регрессия) прежде чем усложнять
- Выбираешь метрику под задачу (ROC-AUC / RMSE / accuracy) и обосновываешь выбор
- Ловишь переобучение, сравнивая качество на train и test
- Оцениваешь модель через кросс-валидацию, а не по одному сплиту
- Готовишь признаки: кодируешь категории, шкалируешь, разбираешься с пропусками
- Читаешь важность признаков и понимаешь, что двигает предсказание
Бустинг — король табличных
2–3 недели · ключевоеОсвоить то, что реально побеждает на структурированных данных — и в проде, и на Kaggle. Скажу прямо: это самый недооценённый и самый окупаемый навык в ML.
- Обучаешь градиентный бустинг и стабильно превосходишь свой baseline
- Понимаешь ключевые гиперпараметры (n_estimators, learning_rate, max_depth) и тюнишь их осмысленно
- Делаешь feature engineering — новые признаки реально поднимают метрику
- Объясняешь конкретное предсказание через SHAP, а не «модель так решила»
- Выбираешь между XGBoost / LightGBM / CatBoost под размер данных и категориальные признаки
- Замечаешь и убираешь утечку данных (data leakage) в признаках
Выбери направление
3–5 недельУглубиться в одно направление: NLP/LLM, компьютерное зрение или рекомендации. Не распыляйся — выбери то, что зажигает, и доведи до рабочего проекта.
- Осознанно выбираешь направление под свой интерес и тип данных
- Понимаешь основы нейросетей (слои, обучение, функция потерь) на PyTorch
- Берёшь готовую предобученную модель и адаптируешь под свою задачу, а не учишь с нуля
- Собираешь пайплайн от сырых данных домена до результата
- Оцениваешь доменной метрикой (F1 для текста, mAP для детекции, ranking-метрики для рекомендаций)
LLM-приложения (RAG)
3–4 неделиСобрать полезный AI-инструмент, а не «обёртку над API». Ценность у тех, кто строит надёжные системы на своих данных, а не просто дёргает чужой GPT.
- Строишь полный RAG-контур: документы → эмбеддинги → векторная БД → поиск → ответ
- Понимаешь, почему LLM галлюцинирует, и как опора на твои данные это лечит
- Пишешь рабочие промпты и держишь в голове лестницу: промпт → RAG → и только потом файнтюн
- Измеряешь качество ответов через eval, а не «на глаз»
- Осознанно выбираешь между закрытой API-моделью и open-weight под цену/приватность
- Понимаешь, что такое агент (LLM + инструменты) и когда он оправдан
Прод и MLOps
финиш · модель в боюДовести модель до прода: сервинг, мониторинг, дрейф, переобучение. Модель в ноутбуке пользы не приносит — ценность появляется, когда она живёт и не деградирует.
Финиш: Модель живёт в проде и переобучается, а не пылится в ноутбуке.
- Логируешь эксперименты и версионируешь модели в реестре (MLflow)
- Отдаёшь предсказания за API (FastAPI) или батчем — под характер задачи
- Выбираешь безопасный паттерн выката: canary / shadow / A-B
- Мониторишь дрейф данных и ставишь алерт на тихую деградацию качества
- Настраиваешь переобучение через оркестрацию, а не руками
- Понимаешь связь MLOps с дата-инженерией: Docker, пайплайны, feature store