К содержимому
MoranaLabs
Research4 мин чтения3 просмотра

Оверинжиниринг в ML-проекте: 7 признаков, что задачу решал бы regexp, а команда строит нейросеть ради грейда 

Команды жгут миллионы на GPU-кластеры и обучают трансформеры для задач, которые решаются за неделю простым скриптом. Разбираем, как распознать технический обман и остановить разработку ИИ ради строчки в резюме.

0xReality

Сколько миллионов ваша компания сожгла в этом квартале на то, чтобы строчка в резюме вашего миддла превратилась в сеньорскую? Вы подписываете сметы, думая, что инвестируете в индустриальный ИИ и конкурентное преимущество, а на деле спонсируете чужой карго-культ. Классический оверинжиниринг ml проект выглядит одинаково: команда полгода пилит тяжеловесную архитектуру, требует расширения квот в облаке, а на выходе выдает систему, которую невозможно ни масштабировать, ни поддерживать. При текущем дефиците сеньоров и зарплатах под полмиллиона рублей в месяц, инженеры хотят строить красивое. Никто не хочет писать регулярные выражения или SQL-запросы, потому что за это не берут в бигтех. Я покажу семь маркеров того, что вас водят за нос, и расскажу, как принудительно внедрить простое решение вместо ml, пока бюджет не кончился.

Отсутствие бейзлайна и генеративный хайп

Самый явный, шестой по счету в нашем аудите, но первый по важности признак технического обмана — это отсутствие тупого бейзлайна для честного сравнения. Вы спрашиваете команду, насколько их нейронка точнее банального статического правила, а в ответ получаете тишину. Инженерный процесс всегда начинается с простейшего baseline ml. Если система не сравнивалась с наивным алгоритмом, вы оплачиваете чье-то хобби. Проверить это руками элементарно: потребуйте от лида за пару часов набросать решение на if-else или эвристиках и замерьте метрику. Зачастую глупое правило закрывает 95% случаев, а нейросеть нужна лишь для оставшихся пяти. Замените несуществующий бейзлайн на жесткое требование: ни один ML-эксперимент не начинается, пока не написан и не замерен скрипт.

Эта проблема тесно связана с первым признаком — пиханием LLM в задачи с детерминированным ответом. Языковые модели галлюцинируют, долго генерируют токены и стоят дорого. Использовать 7B-параметровую модель, чтобы вытащить артикул или ИНН из стандартного документа — это стрельба из микроскопа по воробьям.

import re

# Базовый бейзлайн: никаких LLM и промпт-инжиниринга,
# микросекундный инференс с нулевой стоимостью инфраструктуры
def extract_sku_baseline(text):
    match = re.search(r'\b[A-Z]{3}-\d{4,6}\b', text)
    return match.group(0) if match else None

Когда ответом должно быть точное совпадение со словарем или закрытый класс, генеративная нейросеть только добавляет энтропии. Как только вы видите, что инженеры пытаются парсить логи промптами — бейте по рукам. Альтернатива всегда одна: регулярные выражения, конечные автоматы или классические методы NLP вроде TF-IDF.

Архитектурная гордыня и аппаратный шантаж

Второй симптом — это фанатичное обучение собственных моделей вместо использования готовых API или эвристик. NIH-синдром (Not Invented Here) цветет пышным цветом. Собрать датасет, разметить его асессорами, поднять пайплайн обучения — это месяцы работы. Для проверки спросите, сколько стоит облачное API распознавания или готовая zero-shot модель под ваш профиль нагрузки. Если чужой API обойдется в сто долларов в месяц, а команда просит полгода на разработку своей модели — рубите инициативу. Своя модель окупается только на экстремальных объемах данных или в жестко изолированных контурах.

Вслед за своей моделью неизбежно появляется третий маркер: кастомный фреймворк. Вместо того чтобы взять обкатанные PyTorch Lightning, MLflow или Triton Inference Server, инженеры начинают писать свой оркестратор и обертки над инференсом. Это чистый оверинжиниринг, который делает проект непередаваемым. Замените самописную дичь на индустриальные стандарты принудительно, иначе после ухода создателя этот код превратится в тыкву.

Четвертый признак — аппаратный шантаж. Внезапно выясняется, что в прод категорически нужен GPU-кластер для нагрузки, которую спокойно потянет CPU. Инженеры обожают закупать железо. Но пропускная способность и задержка — разные вещи. Когда мы в MoranaLabs катили реалтайм-систему дефект-детекта на промышленную линию с бюджетом на ответ в 15 миллисекунд, мы запускали инференс на индустриальных x86 процессорах прямо у конвейера, используя OpenVINO. Ставить туда стойку с видеокартами было бы операционным самоубийством. Заставьте команду сделать профилирование квантованной модели. Замените дорогой инференс на CPU, ONNX Runtime или тензорные ядра потребительского уровня.

Оторванные метрики и тест одной фразы

Пятая аномалия вскрывается на созвонах по статусу: F1-score или accuracy растут, а бизнес-метрика стоит на месте. Математика ради математики. Модель великолепно предсказывает отток пользователей с ROC AUC под 0.95, но выручка падает, потому что маркетинг не знает, что делать с этими предсказаниями. Команда оптимизирует функцию потерь в вакууме. Чтобы проверить обоснованность работы, заставьте их провести A/B тест на деньгах или конверсии. Если ML не двигает стрелку на приборной панели бизнеса, значит, этот ml без необходимости пора отправлять в архив.

И, наконец, седьмой маркер, ультимативный. Команда не может в одну фразу объяснить лицу, принимающему решения, зачем именно здесь нужна нейросеть. Если ответ начинается с долгих рассуждений про латентные пространства, многомерность данных и эмбеддинги — вас пытаются запутать. Правильный ответ звучит так: мы используем ML, потому что жесткие правила дают 60% точности, из-за чего мы теряем два миллиона в месяц, а модель поднимает точность до 85% и окупает разработку за квартал. Если этого ответа нет, бизнес-смысл в проекте отсутствует.

Прежде чем выделять бюджет на очередной AI-проект, проведите аудит. Запретите обучение до появления тупого бейзлайна, пресекайте разработку кастомных фреймворков, требуйте финансового обоснования для GPU и привяжите метрики модели к деньгам. Если вы чувствуете, что инженерия ради инженерии уже захватила ваш продукт — приходите за трезвой внешней оценкой от MoranaLabs. Мы посмотрим на архитектуру, прямо скажем, где искусственный интеллект вам не нужен, и отговорим от долгостроя, если задачу быстрее и надежнее решает простой regexp.

  • #ML
  • #Архитектура
  • #Оверинжиниринг
  • #Управление ИТ
ПоделитьсяTelegramX
рассылка

Новые статьи — на почту

Лонгриды про ML в проде, edge и компьютерное зрение — сразу после выхода.

Канал в Telegram: morana.log

Без спама. Нажимая «Подписаться», соглашаетесь с обработкой персональных данных

бесплатный pdf-гайд

Edge AI или облако: когда тащить нейросеть на железо

Признаки, фреймворк выбора и прикидка экономии — короткий PDF-гайд на почту.

PDF · 5 страниц · без спама. Нажимая «Получить», соглашаетесь с обработкой персональных данных

Читать дальше
— заявка

Опишите задачу  ответим как инженеры. 

Оставьте имя и Telegram — остальное обсудим. Без брифов на 40 слайдов и звонков по три раза.

Отвечаем за пару часовотвечает инженер, а не отдел продажNDA до передачи данных

Любой один канал — куда удобнее, туда и ответим

Или сразу написать в Telegram

Без спама и звонков-роботов. Нажимая кнопку, вы соглашаетесь с политикой конфиденциальности и обработкой персональных данных.