tgoop.com/partially_unsupervised/273
Last Update:
Когда-то я думал, что ML метрика - это довольно простая функция от двух параметров: обученной модели и тестового датасета. Но это абстракция, конечно, не выдерживает столкновения с реальным миром, а параметров значительно больше.
С локальными факторами справиться как будто несложно. О роли random seed довольно быстро узнают даже новички. Зафиксировать библиотеки тоже учат на software engineering 101.
То, что совпадение версии библиотеки - не признак эквивалентности, узнают не все (я когда-то два полных дня искал причину расхождения в ML тестах, и кроличья нора привела меня к нюансам линковки libjpeg в билдах pillow пятилетней давности).
Влияет и железо, причем не только на уровне "на какой платформе и с какой версией драйверов" - вот нетривиальный пример:
The most compelling proof came when we took a failed L20 experiment and resumed it from a checkpoint on H20 GPUs. The training immediately stabilized and recovered, proving the hardware's first-order impact on the problem.
Когда бенчмарки стали считаться поверх LLM API, отмазка "на моей машине воспроизводится" перестала работать. К локальным факторам добавился целый пласт скрытых факторов на стороне провайдера. Сначала по аналогии с random seed = 42 все учились выставлять температуру в 0, потом широко известный в узких кругах стартап всем рассказал, что размер батча важен.
И вот недавно я наступил на новые грабли: внутренний агентский бенчмарк по генерации приложений начал демонстрировать явную сезонность. Видел такое раньше, когда человек додумался использовать
datetime.now() где-то в feature engineering. Ручная работа с фичами - история почти античных времен, явно не про prompt2app кодогенерацию. Ничего хитрого: у агента было два ограничения, на количество шагов и на общее время генерации. И вот в час пик по американскому времени провайдеру становилось хуже, скорость ответа падала => случались таймауты.
BY partially unsupervised
Share with your friend now:
tgoop.com/partially_unsupervised/273
