Ошибки ML-валидации везде
Мы живем в интересном мире, где кучу топовых алгоритмов в рекомендациях, поиске и LLM неправильно валидируют
Казалось бы, что может быть проще метрики precision по топ-k рекомендациям (сокращенно precision@k)? Да на каждом курсе войти-в-ds этому учат!) Но нет, в мире рекомендаций все считают эту метрику по-разному. Целая статья на NIPS недавно про это вышла: табличка из нее прикреплена к посту
В мире LLM все еще хлеще. Обучение на тесте, на примерах из других моделей. ChatBot Arena тоже оверфитится prompt майнингом, разным подглядыванием в тест и опять же обучением на тестовые данные. Даже Андрей Карпатый уже бьет тревогу
В общем, если вы тоже сомневаетесь в оценке многих современных моделей - не сомневайтесь, она нечестная почти 💯
Эвалить риал-тайм системы особенно с feedback loop и правда нетривиальное дело. У меня есть вот такой список советов, как это сделать лучше:
- Подстройте train-val-test split под природу ваших данных: по времени, пользователям, стратифицированно или нет. Учтите лаг между трейном и инференсом
- Заведите себе базовый хорошо выверенный train-val-test датасет, на котором будете проверять все модели. Например, в поиске это может быть фиксированная «корзинка» частотных и важных запросов
- Потратьте время на поиск хорошей метрики. Чтобы она коррелировала с онлайн-прокси и с ключевыми бизнес-метриками. Это непросто. Придется периодически эту метрику улучшать: этого иногда требуют новые модели/подходы или новые бизнес-цели
Ну и еще сегодня день рождения Эйнштейна: пусть в AI и науке уже 21ого века будут более честные метрики и эксперименты 🧪