[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"glossary-training-serving-skew::ru":3,"gloss-cluster-training-serving-skew::ru":26,"gloss-next-training-serving-skew::ru":9},{"slug":4,"category":5,"name":6,"definition":7,"meta_desc":8,"faq":9,"schema_markup":9,"related":10},"training-serving-skew","mlops","Расхождение обучения и обслуживания (Training-Serving Skew)","Расхождение обучения и обслуживания — это тонкий баг, при котором данные, поступающие модели в продакшене, отличаются от тех, на которых она обучалась, — и не потому, что изменился мир, а потому, что разошлись конвейеры. Например, при обучении использовался очищенный, посчитанный пакетно признак, а при обслуживании тот же признак вычисляется на лету слегка другим кодом; или значение, свежее при обучении, приходит устаревшим на инференсе. Тогда модель работает в продакшене куда хуже, чем обещали ваши офлайн-метрики. Это одна из классических неполадок MLOps именно потому, что она бесшумна: все тесты проходят, а реальная точность проседает. Обычный виновник — продублированная логика преобразований (одна копия для обучения, другая для обслуживания), которая со временем расходится. Во многом ради этого и существуют feature store: они позволяют обоим путям использовать ровно одно определение. Практическая заметка: логируйте реальные признаки на инференсе и периодически сравнивайте их распределение с обучающим набором; несовпадение — ваш ранний сигнал, что расхождение подкралось.","Расхождение обучения и обслуживания — когда продакшен-данные отличаются от обучающих не из-за изменений мира, а из-за разошедшихся конвейеров. Тихий убийца точности.",null,[11,14,17,20,23],{"slug":12,"name":13},"data-pipeline","Конвейер данных (Data Pipeline)",{"slug":15,"name":16},"drift-detection","Обнаружение дрейфа (Drift Detection)",{"slug":18,"name":19},"eval-harness","Испытательный стенд оценки (Eval Harness)",{"slug":21,"name":22},"feature-store","Хранилище признаков (feature store)",{"slug":24,"name":25},"model-serving","Обслуживание модели (Model Serving)",[27,31,35,38,41,45,48,51,54,57,58,59],{"slug":28,"category":5,"name":29,"updated_at":30},"annotation-guidelines","Инструкции по разметке","2026-08-24T03:30:02+00:00",{"slug":32,"category":5,"name":33,"updated_at":34},"baseline-model","Базовая модель (baseline)","2026-08-24T02:46:38+00:00",{"slug":36,"category":5,"name":37,"updated_at":34},"batch-inference","Батч-инференс",{"slug":39,"category":5,"name":40,"updated_at":34},"canary-prompt","Канареечный промпт",{"slug":42,"category":5,"name":43,"updated_at":44},"champion-challenger","Чемпион–претендент (A\u002FB-тестирование моделей)","2026-08-24T02:46:37+00:00",{"slug":46,"category":5,"name":47,"updated_at":34},"class-imbalance","Дисбаланс классов",{"slug":49,"category":5,"name":50,"updated_at":34},"continuous-batching","Continuous Batching (непрерывная пакетная обработка)",{"slug":52,"category":5,"name":53,"updated_at":34},"cross-validation","Перекрёстная проверка",{"slug":55,"category":5,"name":56,"updated_at":34},"data-labeling","Разметка данных",{"slug":15,"category":5,"name":16,"updated_at":44},{"slug":18,"category":5,"name":19,"updated_at":44},{"slug":60,"category":5,"name":61,"updated_at":44},"experiment-tracking","Трекинг экспериментов (Experiment Tracking)"]