Теперь я дипломированный машинлёрнингсистемдезигнер

Три месяца пришлось просыпаться по выходным в 11:00 ради Zoom-лекций с Валерием Бабушкиным. Для меня это был курс, после которого мир стал не проще, а сложнее. Долго думал над аналогией и понял, что базовый fit-predict — это как бумажный самолётик, который взлетает и неизбежно снижается до полного падения. Но если хочется более долгого полёта через грозовые облака и стаи птиц, придётся проектировать боинг с соответствующими системами отказоустойчивости.

На курсе обсуждали все составляющие систем машинного обучения: метрики, валидация, метаданные, concept/data drift, мониторинг и т.д. Но если бы меня спросили, какая из этих тем самая главная, я бы безусловно ответил про бейзлайн. Это очень простая идея, которую многие избегают, но именно она подарит вам самые сильные эмоции, когда ваша сложнейшая выстраданная ML модель окажется хуже, чем if-else или какая-нибудь формула.

В контексте моих любимых временных рядов я получил сильнейший щелчок по носу, когда сравнился с константным бейзлайном (это когда мы говорим, что продажи завтра будут такими же, как вчера). Спойлер: бустинг проиграл "вчера".

Но есть ещё более весёлая байка. Пару лет назад одна госуха заказала у меня решить одну NLP-шную задачку классификации, сказали, что тут потребуется ИИ (жалко, что не квантовый компьютер).

Прежде чем ставить на скачивание веса актуальных опенсурсных LLM, я решил прогнать старую знакомую ruRoBERTa, с которой приходилось работать ещё в Сбере. Прогнал текст через модель, аггрегировал последние 4 слоя, чтобы получить эмбеддинги. Прикинул косинусное расстояние между векторами — а оно распределено 0.8 до 1, т.е. разделить на классы не получится, все вектора +- уже находятся близко друг к другу. Дообучение матрицы для корректировки векторного пространства тоже не помогло, даже когда я в отчаянии начал подмешивать тест в трейн.

Дальше я во всю развлекался с LLM: арендовал GPU, пробовал разные модельки, жёстко промпт инженерил, делал fine tune через LoRA адаптер. Получил вменяемый F-1 score, отдал результаты и забыл.

Вспомнил об этом кейсе только когда писал KPI-ную статью для вузовской конференции. А в статье обычно есть такой пунктик, как анализ существующих подходов. Я начинаю вспоминать, что у нас есть для NLP: статистические подходы (TF-IDF, BM-25), векторайзинг через модели (Word2Vec, BERT) и только потом уже LLM. Думаю: дай-ка я сейчас быстренько прогоню TF-IDF, получу низкий скор и обосную использование LLM через фундаментальные ограничения статистических методов. Но старик TF-IDF не думал сливаться — он решил задачу примерно с таким же скором, но только за секунды, а не за пару суток инференса LLM.

Навык ML System Design — это не только про хард скиллы. Это в первую очередь способность признать, что твой космолёт, над которым ты так старался, проигрывает простейшему решению.

Больше интересных постов в ТГ канале

Теперь я дипломированный машинлёрнингсистемдезигнер | Сетка — социальная сеть от hh.ru