Работали ли вы с TensorFlow
Что проверяют
Трогали ли вы фреймворк руками дальше учебного примера: как устроен пайплайн данных, как идёт обучение и контроль переобучения, что происходит с моделью после обучения. Ответ уровня «звал fit и смотрел на точность» закрывает тему сразу.
Как отвечать
Пройдитесь по слоям:
- API:
tf.kerasдля описания и обучения модели,tf.dataдля конвейера данных,tf.functionкомпилирует функцию в граф, форматSavedModelдля выкатки; - данные:
Datasetсmap,shuffle,batchиprefetch, чтобы ускоритель не простаивал в ожидании препроцессинга. Узкое место обучения обычно здесь, а не в архитектуре; - обучение: ранняя остановка, сохранение лучшего чекпоинта, снижение шага обучения на плато, смешанная точность, распределение по нескольким устройствам через стратегии;
- выкатка: сервер моделей для бэкенда, облегчённый формат для мобильных, экспорт в промежуточный формат, если инференс уходит в чужой рантайм.
Обязательно расскажите про валидацию: как делили выборку, почему именно так, какую метрику смотрели и почему не точность, если классы несбалансированы.
Где спотыкаются
Называют круглую цифру качества без контекста. Не сказано, на каком наборе, как он собран, каким было разделение и что считалось базовым решением. Ровная цифра без описания проверки звучит как строчка из шаблона резюме, и её начинают раскапывать.
Второе: путают немедленное выполнение и граф. Внутри скомпилированной функции питоновский код отрабатывает при трассировке, поэтому обычная печать срабатывает один раз, а счётчик в переменной языка не увеличивается, хотя автор ждал обратного.
Третье: утечка информации из будущего. Нормализацию и кодирование категорий считают по всей выборке до разделения, метрики на валидации получаются красивыми, а на реальных данных модель проседает. Преобразования должны обучаться только на обучающей части.