1.5к
0
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

Научное сообщество и его влияние на open source на примере ИИ

Время чтения 3 минуты
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
1.5к
0
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

Всем здравствуйте. Андрей Федоров на связи. Продолжаю уже в четвертой статье разбирать важные события и взаимосвязи в open source. Следовательно, всё написанное — мое скромное мнение.

В первой статье был helicopter view проблем open source. Во второй немного погрузились в «противостояние» сообщества и бизнес-интересов. В третьей рассмотрели, как люди зарабатывают деньги на особенностях открытого ПО.

Первые три статьи посвящены общим вопросам. Время разобраться в нюансах.

Когда бизнес уже более-менее освоился с тем, как правильным образом пристраивать к своим процессам модель заработка на открытом ПО, возникли нюансы с лицензированием. В этой статье я постараюсь разобраться, как так получилось. 

Научное сообщество и его влияние на open source на примере ИИ

Началось всё не с бизнеса, а с науки

Научное сообщество было и остается одним из ключевых компонентов мягкой силы для популяризации open source. Ученые и исследователи — активные пользователи и разработчики открытого ПО. 

В научном сообществе вопрос, что выбрать, проприетарное или свободное, так же важен, как и в бизнес-сообществах. Если есть бесплатный GROMACS, зачем брать платное ПО? Всё те же причины: поддержка, обновление, планы на будущее. Исключения появляются, когда ПО закупают централизованно через университет или научное учреждение либо в проприетарном ПО есть функциональность, которой нет в открытом. В бизнесе эту историю осознают, предлагая дорогое проприетарное ПО для исследователей (ANSYS и другие) со скидками или бесплатно при определенных условиях. 

Исследователи и инженеры, работающие в области обработки данных и искусственного интеллекта, активно используют open source для создания и тестирования новых алгоритмов, нейронных сетей, методов машинного обучения и других технологий. Открытые библиотеки и фреймворки, такие как TensorFlow, PyTorch, scikit-learn и другие, стали основой для многих инновационных проектов в области искусственного интеллекта. А открытый доступ к коду и данным способствует повышению прозрачности и воспроизводимости научных исследований в этой области. 

Однако вместе с прогрессом пришли и большие проблемы. Не сразу, поэтому посмотрим на историю. Забегу вперед, к выводам: сегодня некоторые эксперты предполагают, что золотая эра открытого ПО в науке кончилась. 

Исторический экскурс 

Я выбрал тему искусственного интеллекта по двум причинам. Первая: все об этом говорят, в отличие от проблематики открытого ПО в нефтегазовом секторе. Вторая: open source играет центральную роль в развитии ИИ. В отличие от того же нефтегазового сектора, где его роль никогда не была настолько выпуклой. 

Исследователи истории связывают первые шаги самого искусственного интеллекта как оформленной концепции с 50-ми годами 20-го века.

1950 год: первые искусственные «нейроны», тест Тьюринга. 

1956 год: в городе Дартмуте на одноименной конференции объявили о том, что нас ждет большое будущее и уже сейчас нужно задумываться над Artificial Intelligence. Дартмутский воркшоп — отдельная интересная история

Следующей вехой для ИИ стала победа IBM Deep Blue в шахматной партии 90-х. Многие увидели, что машинное обучение — это процесс, контролируемый человеком, но в этом процессе рождаются тысячи комбинаций, которые не могли бы появиться в человеческой голове, и часть из них выстраивается в комбинацию комбинаций, которая для человеческого мозга уже сложна. 

В 2010 году последовали победа IBM Watson и начало поисков монетизации искусственного интеллекта. 

2015 год: тектонический сдвиг. В open source выходит TensorFlow от Google. 

Перед TensorFlow выкладывались и другие библиотеки, например Caffe, но впервые это было сделано с маркетинговыми и DevRel-инвестициями, серьезным индустриальным игроком и не в нишевой теме. Что могло пойти не так?

Инструмент может быть замечательным, но отсутствие примеров использования и руководств снизит его популярность. В самом начале надо было самостоятельно готовить, загружать в TensorFlow свои данные и тренировать предиктивные модели. Большой труд. Аналогично и сейчас, но сегодня вокруг TensorFlow — глобальное сообщество и большое количество подготовленной документации. 

Правильно оценив ситуацию, Google выложил в open source модель BERT, и снежный ком начал свое путешествие. В одном 2023 году было выложено больше 65 000 проектов, связанных с open source ИИ. Здесь уместно замечание, что выкладка в open source TensorFlow по сравнению с BERT или GPT — это совершенно разные по сложности процессы. TensorFlow — набор инструкций, а BERT — сложная модель применения этих инструкций к большим объемам данных, очистка данных, тренировка. И то, что Google смог это сделать, заслуживает уважения. 

Состав проекта ИИ 

Выше я упоминал только датасеты и инструменты по работе с ними. Начал я с них, так как чаще всего о них и вспоминают. В прошлой статье я упоминал проблему с лицензиями, которых уже стало так много, что сложно уследить. В ИИ еще сложнее, так как ИИ-проект состоит из большего количества компонентов, каждый из которых может иметь свою лицензию. 

В ИИ-проект входит: 

  • 1. Программный код. Реализация основной функциональности. Бонусом — документация, которую иногда пишут. Документация описывает не только функциональность и основные нюансы, но и необходимое оборудование, спецификации и другие нужные для запуска и поддержки проекта данные. 
  • 2. Параметры и гиперпараметры модели. Тестовые либо реальные данные, тренированная модель, нужная для того, чтобы проект настроить и запустить. 
  • 3. Датасет. Набор сырых данных, разметка, валидация, комментарии и прочие полезные для тренировки на этом датасете метаданные. 
  • 4. Исходный код для тренировки. Код, берущий гиперпараметры, датасет и остальное и переводящий всё это в параметры модели. Плюс документация. 
  • 5. Фреймворки, на основе которых написан программный код. Это PyTorch, TensorFlow и другие. 

Это список в первом приближении. Вне зависимости от детализации компоненты связаны между собой и могут быть выложены в open source отдельно, создавая прецеденты. 

Чтобы понять, почему это проблема, представим себе классическое программное обеспечение, код которого выложили в open source, а документацию о том, как собрать, какие зависимости нужны, форматы входа и выхода — нет. Разобраться, конечно, можно, но это потребует времени. В случае ИИ-проекта, любая часть которого из списка выше отсутствует в открытом доступе, нет никакой гарантии, что разберемся мы корректно. Выкладывая в open source часть системы, разработчики ограничивают либо лишают сообщество возможности полноценно оценивать ее работоспособность и расширять функционал. Почему это происходит — подумаем в следующей статье.

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники