«Искусственный интеллект и открытое программное обеспечение разделены при рождении?»

«У рождения искусственного интеллекта и открытого программного обеспечения есть разные судьбы?»

 

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

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

 

Создание с самого начала

 

Легким и очевидным сходством является тот факт, что как современное машинное обучение, так и современное программное обеспечение практически полностью создаются с использованием открытого программного обеспечения. Для программного обеспечения это компиляторы и редакторы кода; для машинного обучения – фреймворки для обучения и вывода, такие как PyTorch и TensorFlow. Эти области контролируются открытым программным обеспечением, и ничто не говорит о том, что это изменится.

Есть одно заметное исключение из этого: все эти фреймворки зависят от очень проприетарной аппаратной и программной платформы Nvidia. На самом деле, это параллель, чем кажется на первый взгляд. Долгое время открытое программное обеспечение работало в основном на проприетарных операционных системах Unix, продающихся проприетарными поставщиками оборудования. Только после появления Linux мы стали считать возможным открытое “основание” стека, и сейчас много разработки открытого программного обеспечения выполняется на MacOS и Windows. Неясно, как это будет развиваться в машинном обучении. Amazon (для AWS), Google (для облака и Android) и Apple все инвестируют в конкурирующие чипы и стеки, и возможно, одно или несколько из них могут следовать тропе, заложенной Линусом (и Intel), освобождая всю платформу.

 

Тренировочные данные: новая случайная цепочка поставок?

 

Еще одна важная параллель между созданием открытого программного обеспечения и созданием машинного обучения – это сложность и общедоступность данных, на которых они основаны.

Как подробно описано в нашей научной статье “The Data Provenance Project”, которую я соавторствую, современное машинное обучение создано на тысячах источников данных, точно так же, как современное открытое программное обеспечение создано на сотнях тысяч библиотек. И, как и каждая открытая библиотека, с собой они несут юридические, безопасностные и технические сложности.

В нашей организации мы говорим о таком вызове в открытом программном обеспечении, как “случайная цепочка поставок”. Программная индустрия начала создавать программы, потому что невероятные блоки из открытых библиотек позволяли нам это делать. Это означало, что индустрия начала рассматривать открытое программное обеспечение как поставщика в цепочке поставок – что стало сюрпризом для многих из этих “поставщиков”.

Для устранения этих трудностей в открытом программном обеспечении было разработано множество сложных (хотя и неполных) техник, таких как сканеры для определения использованных компонентов и метаданные для отслеживания вещей после развертывания. Мы также начинаем инвестировать в людей, чтобы попытаться устранить расхождение между промышленными потребностями и мотивацией добровольцев.

К сожалению, сообщество машинного обучения готово погрузиться в ту же “случайную” цепочку поставок – делать многое, потому что это возможно, не задумываясь о долгосрочных последствиях, когда вся экономика будет основана на этих наборах данных.

 

Открытое расширяется, заполняя множество ниш

 

Последнее важное сходство заключается в том, что я сильно подозреваю, что машинное обучение будет расширяться, заполняя множество ниш, так же, как и открытое программное обеспечение. В настоящее время все (заслуженное) внимание уделяется крупным генеративным моделям, но также существует множество малых моделей и изменений в больших моделях. Действительно, платформа хостинга HuggingFace, основная платформа машинного обучения, сообщает о экспоненциальном росте числа моделей на их сайте.

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

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

 

Метаданные не являются панацеей, но это первый шаг

 

Итак, если существуют такие важные параллели (особенно сложные цепи поставок и растущее распределение), чему машинное обучение может научиться у программного обеспечения с открытым исходным кодом?

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

В машинном обучении отслеживание метаданных – это работа в процессе выполнения. Несколько примеров:

  • Важная статья 2019 года, широко цитируемая в отрасли, призывает разработчиков моделей документировать свою работу с помощью «карточек моделей». К сожалению, недавние исследования показывают, что их реализация в реальности все еще слабая.
  • Спецификации SPDX и CycloneDX для программных материалов исходного кода работают над спецификациями программных материалов искусственного интеллекта (AI BOM), чтобы помочь отслеживать данные и модели машинного обучения более структурированным образом по сравнению с карточками моделей (подходящим для сложности, которую можно ожидать, если это действительно параллельное программное обеспечение с открытым исходным кодом).
  • HuggingFace создала различные спецификации и инструменты, чтобы авторы моделей и наборов данных могли документировать свои источники.
  • Упомянутая выше научная работа по происхождению данных MIT пытается понять «истину в последней инстанции» в лицензировании данных, чтобы помочь разрабатывать спецификации с реальными данными.
  • По неофициальным данным, многие компании, занимающиеся работой по обучению машинного обучения, кажется, относятся к отслеживанию данных достаточно безразлично, используя примету «чем больше, тем лучше», чтобы набивать данные в загрузчик без необходимости в надлежащем отслеживании.

Если мы что-то извлекли из открытых источников, то это то, что правильное формирование метаданных (сначала спецификации, затем фактические данные) станет проектом на несколько лет и может потребовать правительственного вмешательства. машинное обучение должно взять на себя погружение в метаданные скорее раньше, чем позднее.

 

Безопасность станет настоящей проблемой

 

Безопасность была еще одним важным стимулом спроса на метаданные программного обеспечения с открытым исходным кодом – если вы не знаете, что запускаете, вы не можете знать, подвержены ли вы бесконечному потоку атак.

Машинное обучение не подвержено большинству типов традиционных атак на программное обеспечение, но это не значит, что оно непроницаемо. (В качестве примера можно привести возможность отравить обучающие наборы изображений, поскольку они часто получались из мертвых доменов.) Исследования в этой области настолько актуальны, что мы уже прошли от «доказательства концепта» до «есть достаточно атак для перечисления и классификации».

К сожалению, программное обеспечение с открытым исходным кодом не может предложить машинному обучению магические пули для безопасности – если бы у нас они были, мы бы их использовали. Но история распространения программного обеспечения с открытым исходным кодом во многие ниши подсказывает, что машинному обучению нужно относиться к этому вызову серьезно, начиная с отслеживания использования и развертывания метаданных, именно потому, что оно, вероятно, будет применяться во многих способах, превосходящих те, в которых оно в настоящее время применяется.

 

Регулирование и ответственность будут расти

 

Мотивы, которые подтолкнули метаданные программного обеспечения с открытым исходным кодом (лицензирование, а затем безопасность), указывают на следующую важную параллель: с ростом значимости отрасли, объем измеряемых и отслеживаемых вещей будет расширяться, потому что будут расширяться регулирование и ответственность.

В программном обеспечении с открытым исходным кодом первичным «регулирова”>

Искусственный интеллект также будет регулироваться в все более увеличивающемся многообразии способов по мере его всё более важного значения. Источники регулирования будут чрезвычайно разнообразными, включая контент (как вводные, так и выходные данные), дискриминацию и ответственность за продукт. Это требует того, что иногда называют “трассируемостью” – понимания того, как создаются модели и как эти выборы (включая источники данных) влияют на результаты моделей.

Это основное требование – что у нас есть? откуда это взялось? – теперь хорошо знакомо разработчикам предприятий с открытым исходным кодом. Однако это может быть радикальным изменением для разработчиков машинного обучения и нужно принять его.

 

“Долгосрочность” длиннее, чем люди думают

 

Еще один важный урок, который машинное обучение может извлечь из открытого программного обеспечения (и, действительно, из многих волн программного обеспечения, предшествующих ему, начиная по крайней мере с главного кадра), заключается в том, что его полезный срок будет очень и очень долгим. Как только технология становится “достаточно хорошей”, она будет развернута и, следовательно, должна быть поддерживаема очень и очень долго. Это подразумевает, что мы должны думать о поддержке этого программного обеспечения как можно раньше и думать о том, что это будет означать, если это программное обеспечение может существовать десятилетиями. “Десятилетия” – это не преувеличение; многие клиенты, с которыми я сталкиваюсь, используют программное обеспечение, которое достаточно старое, чтобы проголосовать. Многие компании с открытым исходным кодом и некоторые проекты теперь имеют так называемые версии “долгосрочной поддержки”, предназначенные для таких случаев использования.

В отличие от этого, OpenAI предоставлял свой инструмент Codex менее двух лет, что привело к большому недовольству, особенно в академическом сообществе. Учитывая быстрый темп изменений в машинном обучении и то, что большинство пользователей, вероятно, заинтересованы в использовании самых передовых технологий, это, вероятно, было не разумно. Но наступит день, который ближе, чем индустрия думает, и ей нужно будет планировать “долгосрочную перспективу”, включая взаимодействие с ответственностью и безопасностью.

 

Финансовые стимулы не всегда согласованы

 

Наконец, очевидно, что, подобно открытому программному обеспечению, в машинное обучение будет вливаться много денег, но большая часть этого денег сосредоточится в компаниях, которые один автор назвал “богатыми процессорами”. Если подобные параллели с открытым программным обеспечением оправдаются, эти компании будут иметь совсем разные заботы и расходы по сравнению с создателями (или пользователями) моделей.

Наша компания, Tidelift, долгое время задумывалась над этой проблемой вознаграждения в открытом программном обеспечении, и такие организации, как самый большой пользователь программного обеспечения – правительство США, также обсуждают эту проблему.

Компании, занимающиеся машинным обучением, особенно те, которые стремятся создать сообщества создателей, должны тщательно обдумать этот вызов. Если они зависят от тысяч наборов данных, как они обеспечат финансирование их поддержки, юридическую соответственность и безопасность на десятилетия? Если большие компании развертывают десятки или сотни моделей по всей компании, как они гарантируют, что люди с лучшим специалистическим знанием – те, кто создал модели, продолжают работать над новыми проблемами, по мере их обнаружения?

Как и в случае с безопасностью, на этот вызов нет простых ответов. Но чем быстрее машинное обучение уделяет этой проблеме серьезное внимание – не как акту благотворительности, а как ключевому компоненту долгосрочного роста, – тем лучше для всей отрасли и всего мира.

 

Вывод

 

Глубокие корни машинного обучения в академической культуре экспериментализма и культуре быстрого изменения, свойственной Силиконовой долине, служат ему хорошо, приводя к удивительному взрыву инноваций, которые бы казались волшебством менее десяти лет назад. Курс открытого программного обеспечения за последнее десятилетие, возможно, было менее гламурным, но за это время оно стало основой всего предприятий программного обеспечения и извлекло из этого много уроков. Надеюсь, что машинное обучение не будет изобретать эти колеса снова. Luis Villa – сооснователь и главный юрист Tidelift. Ранее он работал юристом по вопросам открытого программного обеспечения и консультировал клиентов, от компаний Fortune 50 до ведущих стартапов, по разработке продуктов и лицензированию открытого исходного кода.