![Как контейнеризация может быть хорошим выбором для среды проекта машинного обучения? googletag.cmd.push (function () {googletag.display (div-gpt-ad-1562928221186-0);}); Q: - Технология Как контейнеризация может быть хорошим выбором для среды проекта машинного обучения? googletag.cmd.push (function () {googletag.display (div-gpt-ad-1562928221186-0);}); Q: - Технология](https://a.continuousdev.com/technology/how-can-containerization-be-a-good-choice-for-a-machine-learning-project-environment-googletagcmdpushfunction-googletag.displaydiv-gpt-ad-1562928221186-0-q.jpg)
Содержание
Q:
Как контейнеризация может быть хорошим выбором для среды проекта машинного обучения?
A:
Некоторые компании переходят на контейнеризацию для проектов машинного обучения, основываясь на некоторых преимуществах, которые предлагают установки контейнеров с точки зрения платформ и программных сред.
Машинное обучение является сложным - сами алгоритмы выполняют множество очень подробных и сложных действий с данными. Однако ценностное предложение в некотором смысле довольно простое - алгоритмы машинного обучения работают с данными, поступающими из сред хранения.
Использование контейнеров подразумевает, как инженеры помещают данные в среду машинного обучения, и как работают алгоритмы.
Инженеры могут использовать виртуализацию контейнеров либо для размещения данных, либо для развертывания кода, выполняющего алгоритмы. Хотя контейнеры могут быть полезны для данных, их основное преимущество, вероятно, заключается в их использовании для размещения кода алгоритма.
Контейнерные архитектуры содержат автономные приложения и кодовые базы. Каждый контейнер получает свой собственный клон операционной системы, и он получает полную операционную среду для приложения или набора функций кода, который находится внутри него.
В результате отдельные приложения, микросервисы или кодовые базы, которые находятся в каждом контейнере, могут быть развернуты очень гибкими способами. Они могут быть развернуты на разных платформах и в разных средах.
Теперь предположим, что вы пытаетесь ускорить проект машинного обучения, в котором различные алгоритмы должны работать с различными частями данных итеративным способом. Если вы устали справляться с кроссплатформенными проблемами, проблемами с зависимостями или ситуациями, когда развертывание с использованием «голого железа» затруднено, контейнеры могут быть решением.
По сути, контейнеры обеспечивают способ размещения кода. Эксперты говорят о развертывании контейнеров по сравнению с сохраненными данными, чтобы получить хорошие результаты.
«(Приложения) можно смешивать и сопоставлять на любом количестве платформ, практически не требуя портирования или тестирования», - пишет Дэвид Линтикум в статье TechBeacon, в которой разъясняется значение контейнеров для проектов машинного обучения, «поскольку они существуют в контейнерах». они могут работать в сильно распределенной среде, и вы можете размещать эти контейнеры рядом с данными, анализируемыми приложениями ».
Linthicum продолжает рассказывать о том, как выставлять услуги машинного обучения как микросервисы. Это позволяет внешним приложениям - на основе контейнеров или нет - использовать эти сервисы в любое время без необходимости перемещать код внутри приложения.
В самом базовом смысле развертывание контейнеров - это то, что делает функциональность программы машинного обучения более адаптируемой - избавляясь от хранилищ и ненужных соединений - и опять-таки от зависимостей - которые могут нанести вред проекту. Для небольшого, среднего проекта машинного обучения, если отдельные части алгоритмов, приложений или функциональных возможностей размещаются внутри контейнеров, легко управлять этими автономными частями и создавать сложные проекты продуктов машинного обучения соответственно.