Основные моменты, на которые необходимо обратить внимание: • Наличие данных у заказчика, их качество. • Платформа, на которой мы запустим решение. • Требования по точности и производительности. • Наличие примеров реализации похожих задач. • Наличие наработок с нашей стороны. • Требования к железу для разработки. • Инфраструктура. • Ожидания заказчика, сопротивление внедрению
эксперимента есть цель, план, критерии принятия или опровержения гипотез, данные и ожидаемые результаты. Эксперимент, разбитый на этапы, с указанием последовательности исполнения, называется пайплайном.
для проверки различных гипотез в поисках лучшего решения поставленной задачи. Этапы: 1. Получаем данные. 2. Подготавливаем данные. 3. Обучаем. 4. Валидируем. Все просто и понятно, но...
все с самого начала Хорошая практика: запуск пайплайна — проверка одной гипотезы иначе не определить влияние на результат. И самое главное — эксперименты воспроизводимы, пайплайн покрыт тестами... ...и data scientist, понимающий как разрабатываемое решение принесет пользу заказчику.
достижение решением текущих метрик при повторении всех предыдущих шагов. Воспроизводимость — основное требование эксперимента и одна из основ научного метода познания. “non-reproducible single occurrences are of no significance to science” - Карл Поппер, Логика научного исследования, 1959
этап Требование к пайплайну — удобство R&D. Требование к коду для Production — скорость при имеющихся ресурсах. Поэтому часто все этапы решения переносятся на другой фреймворк, который будет использоваться для запуска на целевой платформе.
1. Отсутствие соответствия вывода алгоритмов на разных фреймворках — тесты на бинарное соответствие. 2. Фреймворк не содержит реализации используемых слоев, функций и т.д. — предусмотреть до обучения как и на чем будем запускать/оценить время на написание собственных реализаций. 3. Версии библиотек, фреймворков — до обучения проверить, какая версия доступна на платформе и использовать ее.
потерять доверие заказчика к решению. Основные меры для снижения рисков до релиза: - Unit тесты + тесты на бинарное соответствие. - Валидация на тестовых данных перед выкаткой. Меры после релиза: - мониторинг: ресурсы, производительность, валидация выдаваемых значений (если возможно). - валидирование вручную результатов, оценка корректности работы - смотрим в данные и результаты.