Модуль 13. ML или LLM: выбор модели под задачу

Цель модуля: выбирать семейство модели под задачу — по природе данных, стоимости, латентности и требованиям к объяснимости: табличное → ML, язык → LLM, смешанное → гибрид с маршрутизатором. После модуля вы прикидываете экономику обоих путей до пилота и видите общую дисциплину оценки, версий и фидбека, которая связывает оба курса трека.

Перед началом: модули 1–12 (особенно 6, 7 и 11); из курса «Дообучение LLM» — модуль 4 (лестница решений) и модуль 8 (метрики). Инструменты: только чтение, диаграмма и расчёты — модуль без кода. Трудоёмкость: ~1 ч (чтение 40 мин · практика 20 мин).

🔥 Пять минут против токенов

Классификатор срочности тикетов на бустинге обучился на ноутбуке за пять минут, отвечает за миллисекунды и предсказывает с точностью, которую легко померить. Вариант «LLM на каждый тикет» выглядит соблазнительнее: не нужно размечать данные, модель «понимает» текст. Но за каждый тикет платятся токены, ответ приходит за секунды, а «почему срочный» — не объяснить.

Это не спор «что лучше»: для сортировки текста в фиксированную категорию бустинг почти всегда дешевле и точнее, а вот написать клиенту вежливое объяснение он не умеет. Развилка проходит не по модности технологии, а по вопросу «что на входе и что должно быть на выходе». Этому выбору посвящён финальный модуль — и он сводит вместе оба курса трека.

📖 13.1. Первый вопрос: что на входе и что на выходе

Прежде чем спорить о моделях, опишите задачу двумя строками: что приходит на вход и что должно получиться на выходе. Дальше решение почти автоматическое:

  • Табличные и структурированные данные — метрики, события, транзакции: числа и категории без свободного текста. Выход — число или класс. Это территория классического ML: бустинг (модуль 6) или линейная модель (модуль 3). Дёшево, точно, объяснимо, учится за минуты.
  • Свободный текст, диалог, генерация, «прочитай и объясни» — ответом должно быть связное сообщение, объяснение или резюме. Здесь работает LLM: классификатор выдаст метку, но не текст (курс «Дообучение LLM»).
  • Смешанная задача — текст на входе, но решение из фиксированного набора («тема обращения», «нужен ли ответ оператора»). Тут часто выигрывает гибрид: лёгкий классификатор решает, что просто, LLM обрабатывает остальное (13.3).

Четыре фактора решают спор в пограничных случаях: стоимость инференса (микросекунды против токенов), латентность (миллисекунды против секунд), объяснимость (важности фич против «модель так решила») и приватность. Если всё это не критично, а задача текстовая — начинайте с промпта у LLM.

📖 13.2. Диаграмма: маршрутизатор решений

Какая модель под какую задачу: бустинг, LLM или гибрид-маршрутизатор

Читаем сверху вниз. Вопрос «какая у вас задача?» расходится на три ветки. Зелёная — табличные данные: к ним идёт градиентный бустинг (модуль 6), а от него подпись про деньги: стоимость — рубли за обучение раз в неделю, инференс — микросекунды. Фиолетовая — свободный текст, диалог и генерация: здесь LLM с дообучением или RAG из курса «Дообучение LLM»; стоимость — токены за каждый вызов и GPU-часы за тюнинг. Жёлтая — смешанная задача: гибрид, где лёгкий классификатор маршрутизирует запросы, а LLM обрабатывает только то, что реально требует языка.

Самое важное на диаграмме — два пунктирных ребра от гибрида. Верхнее: «80% запросов закрываются бустингом без LLM» — простые, типовые случаи дешевле и быстрее решить классификатором. Нижнее: «20% сложных уходят в LLM» — там, где нужен язык, платим токенами честно. Пропорция 80/20 — из учебного примера; на ваших логах она другая, и её нужно померить, а не угадать. Но направление верное: в любой потоке текста большинство запросов типовые.

📖 13.3. Гибрид: классификатор-маршрутизатор перед LLM

Как гибрид устроен на практике, на примере поддержки:

  1. Роутер. Классификатор (модули 3–6) по тексту обращения предсказывает категорию: «оплата», «доступ», «доставка» — или флаг «нестандартный запрос». Обучается на тех же логах, что и любая модель, метрики — из модуля 7.
  2. Простая ветка. Типовые категории закрываются бустингом и шаблонами: «оплата» — инструкция и ссылка. Ноль токенов, миллисекунды.
  3. Сложная ветка. Всё, что роутер пометил как нестандартное или где уверенность ниже порога, уходит в LLM — с контекстом, который собрал роутер («категория: оплата, сложность: высокая»).

Экономика гибрида очевидна: если 80% запросов не доходят до LLM, счёт за токены падает в разы, а латентность большинства ответов — миллисекунды. Но есть и новая цена: ошибка роутера — новый класс ошибок. Запрос, неверно отправленный в простую ветку, LLM никогда не увидит; поэтому полноту роутера на классе «сложное» нужно мерить отдельно (для него ложный пропуск дороже ложного срабатывания), а golden set (модуль 8 llm-курса) должен покрывать оба маршрута. Роутер — обычная модель: её тоже версионируют и переобучают.

📖 13.4. Экономика: токены за вызов vs обучение раз в неделю

Формула стоимости LLM: вызовы × токены × цена токена — расход линеен по трафику и растёт с длиной контекста. Формула ML-подхода: стоимость обучения (раз в неделю, минуты-часы CPU) плюс железо инференса, где сам инференс — микросекунды и почти не зависит от объёма входа. Порядок величин: пятьдесят тысяч обращений в сутки по восемьсот токенов — это десятки миллионов токенов ежедневно; бустинг на том же потоке — одна небольшая машина. Точные рубли подставьте по прайсу вашего провайдера — важно, что у ML расход фиксирован и предсказуем, у LLM — пропорционален трафику.

Но «дешевле» — не универсальный аргумент. Если задача редкая (сто вызовов в день) и текст сложный, LLM дешевле, чем строить MLOps ради классификатора. Если данные нельзя выпускать наружу — выбор диктует приватность; если нужен ответ за десять миллисекунд — LLM не подходит по физике. Стоимость решения — это деньги плюс латентность, поддержка и риски.

И тонкость про «свою модель vs API»: своё — контроль, приватность, on-prem, но нужны данные, разметка, обучение и мониторинг. API — быстрый старт и ноль инфраструктуры, но платите за каждый вызов и зависите от провайдера (таймауты, лимиты, смена цен — модуль 12 llm-курса).

📖 13.5. Модель и человек: кто кого

Модель сильна там, где человек слаб: масштаб (миллионы решений), постоянство (не устаёт, не забывает, не зависит от настроения), много слабых сигналов одновременно, круглосуточная работа. Человек сильнее там, где модель слепа: единичные высокоставочные решения, ответственность и подпись, контекст, которого нет в данных, ситуации, которых не было раньше.

Практический вывод — не «заменить» или «оставить», а эскалация: модель ранжирует и закрывает типовое, человек разбирает исключения. Механизмы вам уже знакомы: порог классификатора выбирается по цене ошибки (модуль 7), fallback-цепочка и фидбек «человек → датасет» — из модуля 12 llm-курса. И честная рамка сравнения: новую модель сравнивают с текущим процессом, а не с идеальным человеком, который никогда не ошибается и не устаёт.

📖 13.6. Одна дисциплина на два курса: метрики, версии, фидбек

Выбор между ML и LLM — не религиозный спор, потому что оба пути живут по одним правилам:

  • Метрики одни. Precision, recall, ROC-AUC, порог как бизнес-решение (модуль 7) применимы и к классификатору, и к LLM-классификатору; golden set из модуля 8 llm-курса годится обоим — меняется лишь способ получить предсказание.
  • Версия одна по смыслу. «Обученная модель — это версия» (модуль 12 llm-курса): у ML в тройку «данные + код + параметры» добавляются схема фич и порог; любое изменение — новая версия, откат — одна строка.
  • Петля фидбека одна. Логи → разметка → следующий датасет — что для тюнинга LLM (модуль 5 llm-курса), что для переобучения бустинга.
  • Дрейф общий. Меняется распределение — деградируют оба; мониторить нужно и там и там.

Смотрите на трек как на два инструмента одного навыка: выбрать подход, померить честно, выкатить и поддерживать. Модуль 13 закрывает курс, но не тему — следующая задача на работе снова начнётся с вопроса «ML или LLM».

📖 13.7. Компромиссы

  • ML vs LLM. Табличное — точно, дёшево, объяснимо, но требует данных и разметки; языковое — гибко и быстро стартует с промпта, но платите токенами и латентностью.
  • Гибрид vs только LLM. Гибрид дешевле и быстрее на типовом трафике, но это два контура и роутер — новый класс ошибок, который надо мерить.
  • Своя модель vs API. Контроль, приватность и on-prem против скорости старта: API не требует ни данных, ни инфраструктуры, но зависите от провайдера и платите за каждый вызов.
  • Латентность vs качество. Миллисекунды бустинга против секунд LLM: для интерактивных сценариев это первый фильтр, а не деталь.
  • Простота эксплуатации vs точность. Одна модель в Pipeline проще в поддержке, чем цепочка «роутер → LLM → fallback»; усложняйте, только если выигрыш виден в цифрах.

💻 Практика

  1. (15 мин) Три свои задачи. Возьмите три задачи со своей работы. Для каждой выпишите: что на входе, что на выходе, и какую ветку диаграммы из 13.2 вы выбираете. Для пограничных — назовите решающий фактор (стоимость, латентность, приватность, объяснимость).
  2. (15 мин) Прикидка стоимости. Для одной задачи посчитайте по логам (или оценке) число вызовов в месяц и средние токены. Умножьте на цену провайдера — получите order of magnitude расхода LLM. Сравните с «одна машина + переобучение раз в неделю». Запишите вывод одной строкой.
  3. (10 мин) Дизайн гибрида. Для задачи «срочность тикета» опишите роутер: какие категории закрывает классификатор, что уходит в LLM, что делать с низкой уверенностью (порог). Назовите, как померите полноту роутера на «сложных».
  4. (10 мин) Общие метрики. Соберите список из пяти артефактов и метрик, которые вы зафиксируете для сравнения ML- и LLM-пути одной задачи (подсказка: golden set, precision/recall, латентность, стоимость, версия модели).

🧩 Quiz "Проверь себя"

1. Когда для задачи лучше классический ML, а не LLM?
2. Что общего у ML- и LLM-подхода в этом треке?
3. В чём главный риск гибрида?
4. Какая задача — заведомо территория LLM?
5. Что делает классификатор-маршрутизатор в гибриде?

✅ Итоги модуля

  • По входу и выходу задачи выбирать путь: ML, LLM или гибрид.
  • Читать диаграмму и объяснять рёбра «80% без LLM / 20% в LLM».
  • Спроектировать маршрутизатор и назвать его цену: новый класс ошибок.
  • Считать экономику: токены за вызов против обучения раз в неделю.
  • Назвать ситуации, где модель лучше человека и наоборот.
  • Перечислить общую дисциплину: метрики, версии, фидбек, дрейф.

🧭 Куда дальше

Курс закончился, а трек — нет. Два соседних курса продолжают этот:

  • «Дообучение LLM» — вторая половина трека: токены и attention, LoRA/QLoRA, датасеты и golden set, дообучение YandexGPT и эксплуатация LLM-фичи (версии, A/B, fallback). Модуль 13 был мостиком к нему — читайте курс как продолжение: те же метрики и та же дисциплина, другое семейство моделей.
  • «Архитектурный полигон» — наблюдаемость на живом стенде: алерты, SLO, инциденты. Ваш навык из модуля 10 («что считать аномалией», z-score vs IQR) и из модуля 12 (мониторинг модели) там пригодится буквально — модуль 6 полигона целиком про алерты и метрики.

Инструменты, которые стоит держать под рукой:

И привычка, которую стоит забрать из курса: перед любой моделью — задача, метрика и baseline; любое изменение — версия и честный замер; любая ошибка — кандидат в данные. Это работает и для бустинга на табличных, и для LLM, и для гибрида, с которого начнётся ваша следующая задача.