TGViewer
ML for Value / Ваня Максимов ML for Value / Ваня Максимов @ml4value · 5.7K subscribers
Post #41 653
Грабли универсальные: Тесты ds-кода

Сразу оговорюсь, что я ни разу не ML Engineer / Devops. Бакалавриат я закончил вообще по мат.методам в экономике. И до начала работы почти ничего не слышал о юнит- и других тестах

Но как только мои модели начали использоваться, даже мне стало очевидно, что без тестов - никуда. Без них пайплайны падают, их починка отнимает кучу времени, а бизнес-заказчики недоумевают где их 300кк/сек от внедрения ML

А если ваши пайплайны падают слишком часто - не за горами тот момент, когда и вы будете недоумевать про свои 300кк/сек 🙂

Так что начнем мое небольшое введение в тестирование ML-пайплайнов!

ML-тесты очень специфичны. В продакшене каждый день мы обучаемся на немного разных данных. При этом даже на одних и тех же inputs можно получать разные outputs. Мы в общем случае не знаем, какой должен быть ответ на одном или другом примере

Поэтому я предлагаю покрывать отдельными тестами:
— входные данные (да-да, и для нейронок тоже)
— каждый этап трансформации данных
— predict

В моем идеальном мире, код может выглядеть примерно так:

df = read_data()
test_on_inputs(df)

df = first_transform(df)
test_on_transform(type='first')

df = second_transform(df)
test_on_transform(type='second')

model = MyFavoriteModel()
model.fit(df)
test_on_predict(model, df)


Далее опишу тесты, которые я использую каждый день стараюсь использовать. А чтобы убедить вас, что тесты нужны, добавлю мои самые эпичные фейлы
More from @ml4value
  1. Sep 17, 2026Post #496
  2. Sep 14, 2026ML вообще работает? (эпизод 1) Давно не писал в канал. Понял, что сейчас сфокусирован на д…
  3. Jun 12, 2026The art of a strong baseline За последнее время все чаще понимаю, что создать сильный бейз…
  4. May 2, 2026Начинать писать после перерыва всегда непросто, поэтому пока легкий пост про мои новости)…
  5. Mar 29, 2026LLM - велосипед в новой обертке Холиварный пост выходного дня) Доля правды в этом есть - и…
  6. Mar 27, 2026LLM долгосрочные интересы пользователя Понемногу LLM-ки находят полезное применение в реко…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →