Машинное обучение считается открытым, когда основные компоненты доступны под открытыми лицензиями. Это означает, что исходный код библиотек и платформ доступен для всех. Поэтому люди могут изучать, как работают модели, адаптировать их под свои задачи и делиться улучшениями с другими.
При использовании программного обеспечения с закрытым кодом им владеет и в него может вносить изменения только один человек или организация, а пользователи обычно должны подписывать соглашение о том, что они не будут делать с этим программным обеспечением ничего, что владельцы не разрешили в явном виде.
И наоборот, ПО с открытым кодом доступно каждому для просмотра, изменения и совместного использования. Поэтому пользователи могут изменять исходный код и добавлять его в свои проекты.
Компоненты машинного обучения с открытым кодом
На практике использование машинного обучения с открытым кодом обычно предполагает наличие следующих компонентов.
Открытый код
Алгоритмы, скрипты для обучения и вспомогательные инструменты доступны для просмотра и изменения. Такая прозрачность помогает понимать проектные решения, проверять поведение и адаптировать модели под новые сценарии использования.
Разрешительная лицензия
Лицензии с открытым кодом определяют, как можно использовать, изменять и распространять программное обеспечение. Такие лицензии позволяют учащимся, исследователям и организациям развивать существующие решения без специального разрешения.
Вклад сообщества
Разработка ведется открыто: участники проверяют код, исправляют ошибки и добавляют новые функции. Такой совместный процесс помогает инструментам быстрее улучшаться и отражать реальные потребности в разных отраслях.
Общие экосистемы
Машинное обучение с открытым кодом редко существует обособленно. Библиотеки, наборы данных, блокноты и инструменты для отслеживания экспериментов часто используются совместно, упрощая переход от этапа обучения и экспериментирования к промышленной эксплуатации.
В отличие от них, защищаемые инструменты машинного обучения сохраняют код закрытым. Вы можете использовать это программное обеспечение, но не можете видеть, как оно работает изнутри, или изменять его под конкретные требования.
Подходы, основанные на открытом исходном коде, устраняют этот барьер; именно поэтому многие современные рабочие процессы машинного обучения опираются на инструменты с открытым кодом в сочетании с облачными платформами, что позволяет обеспечивать ответственное масштабирование.