Чтобы подготовить конвейеры машинного обучения к работе, вам необходимо сделать следующее:
- Предоставление вычислительных ресурсов для ваших конвейеров
- Внедрение журналирования, мониторинга и оповещений
Предоставление вычислительных ресурсов
Для работы конвейеров машинного обучения требуются вычислительные ресурсы, такие как ОЗУ, ЦП и графические процессоры/ТПУ. Без адекватных вычислительных ресурсов вы не сможете управлять своими конвейерами. Поэтому обязательно получите достаточную квоту для предоставления необходимых ресурсов, необходимых вашим конвейерам для работы в рабочей среде.
Конвейеры обслуживания, обучения и проверки . Для этих конвейеров требуются TPU, GPU или CPU. В зависимости от вашего варианта использования вы можете обучать и обслуживать на другом оборудовании или использовать одно и то же оборудование. Например, обучение может происходить на процессорах, а обслуживание может использовать TPU, и наоборот. Обычно обучение проводится на более крупном оборудовании, а затем обслуживается на меньшем оборудовании.
При выборе оборудования учитывайте следующее:
- Можете ли вы тренироваться на менее дорогом оборудовании?
- Повысит ли производительность переход на другое оборудование?
- Какого размера модель и какое оборудование оптимизирует ее производительность?
- Какое оборудование идеально подходит для архитектуры вашей модели?
Конвейеры данных . Конвейеры данных требуют квоты на ОЗУ и ЦПВам нужно будет оценить, какая квота необходима вашему конвейеру для создания обучающих и тестовых наборов данных.
Вы можете не выделять квоту для каждого конвейера. Вместо этого вы можете выделить квоту, которую совместно используют конвейеры. В таких случаях убедитесь, что у вас достаточно квоты для запуска всех конвейеров, а также настройте мониторинг и изменения, чтобы предотвратить использование всей квоты одним ошибочным конвейером.
Оценка квоты
Чтобы оценить квоту, необходимую для конвейеров данных и обучения, найдите похожие проекты, на которых можно будет основывать свои оценки. Чтобы оценить квоту обслуживания, попробуйте спрогнозировать количество запросов к службе в секунду. Эти методы обеспечивают основу. Когда вы начнете создавать прототип решения на этапе экспериментирования, вы начнете получать более точную оценку квоты.
При оценке квоты не забудьте учитывать квоту не только для ваших производственных конвейеров, но и для текущих экспериментов.
Проверьте свое понимание
Ведение журнала, мониторинг и оповещение
Регистрация и мониторинг поведения производственной модели имеют решающее значение. Надежная инфраструктура мониторинга подтверждает, что ваши модели предоставляют надежные и высококачественные прогнозы.
Хорошие методы ведения журналов и мониторинга помогают заблаговременно выявлять проблемы в конвейерах машинного обучения и смягчать потенциальное влияние на бизнес. При возникновении проблем члены вашей команды получают оповещения, а подробные журналы помогают диагностировать основную причину проблемы.
Вам следует реализовать ведение журнала и мониторинг, чтобы обнаружить следующие проблемы с конвейерами ML:
Трубопровод | Монитор |
---|---|
Обслуживание |
|
Данные |
|
Обучение |
|
Проверка |
|
Вам также понадобится регистрация, мониторинг и оповещение о следующем:
- Задержка . Сколько времени нужно, чтобы дать прогноз?
- Отключения . Модель перестала давать прогнозы?
Проверьте свое понимание
Развертывание модели
Для развертывания модели вам потребуется задокументировать следующее:
- Для начала развертывания и расширения масштабов развертывания необходимы утверждения.
- Как запустить модель в производство.
- Где развертывается модель, например, при наличии промежуточной или канареечной среды.
- Что делать, если развертывание не удалось.
- Как откатить уже находящуюся в производстве модель.
После автоматизации обучения модели вам понадобится автоматизировать проверку и развертывание. Автоматизация развертываний распределяет ответственность и снижает вероятность того, что развертывание будет затруднено одним человеком. Это также уменьшает потенциальные ошибки, повышает эффективность и надежность, а также обеспечивает ротацию по вызову и поддержку SRE.
Обычно вы развертываете новые модели для подмножества пользователей, чтобы проверить, что модель ведет себя должным образом. Если это так, продолжайте развертывание. Если это не так, вы откатываете развертывание и начинаете диагностику и отладку проблем.