Обзор статьи, отмеченной наградой SEI 2022
Автор: Хуан Пабло Имилан
Проблемы совместной работы при создании систем с поддержкой машинного обучения: общение, документация, разработка и процессы
Надя Нахар, Грейс Льюис, Шуруи Чжоу, Кристиан Кестнер
+++
Оглавление
Введение
II. Редакция
- Абстрактный
— Ключевые слова
1. Идентификация
2. Рассматриваемая литература
3. Методология исследования
4. Анализ результатов
5. Обсуждение и последствия
6. Выводы и заключительные комментарии
III. Библиографические ссылки
+++
1.2 Важность темы
В результате внедрения компонентов машинного обучения (МО) в проекты информационных технологий (ИТ) инженерам-программистам теперь необходимо сотрудничать с учеными по данным и другими специалистами. Из-за процесса разработки исследовательской модели необходимы дополнительные навыки и знания, системы (ML) трудно тестировать, необходимы постоянные улучшения и мониторинг, а также требуются нетрадиционные стандарты качества, такие как справедливость и объяснимость. Интервью с сорока пятью профессионалами из двадцати восьми различных организаций были использованы для определения основных проблем совместной работы, с которыми сталкиваются группы по созданию и внедрению систем в продуктивных средах машинного обучения. Было установлено, что основные проблемы для поддержки систем с поддержкой ML сосредоточены на коммуникации, документации, проектировании и процессах. Были даны рекомендации для решения этих проблем.
Ключевые слова Совместная работа, Наука о данных, Разработка программного обеспечения, Машинное обучение, Коммуникация, Документация, Процесс, Междисциплинарное сотрудничество, Требования к модели, Сложность программного обеспечения, Спиральная модель, Жизненные циклы гибких и интегрированных процессов.
1.3 Цели
1.4 Фокус
Поставленная проблема связана с определением возможностей для улучшения сотрудничества между учеными данных и инженерами-программистами при создании систем с возможностями машинного обучения и, в частности, с возможностью определить, какие ключевые точки взаимодействия требуют большего внимания со стороны организаций, которые в основном не относятся к миру крупных корпораций, поскольку последние имеют различную эволюционную зрелость, когда сталкиваются с проблемами построения систем такого типа.
Эти возможности для улучшения совместной работы возникают в контексте разработки систем с поддержкой машинного обучения и подчеркивают дополнительные проблемы, которые представляет ML по сравнению с традиционными программными проектами. Эти возможности для улучшения совместной работы включают задачи для процессов разработки исследовательских моделей, дополнительные навыки и знания, внедрение систем машинного обучения, эволюционные разработки, непрерывный мониторинг реализованных моделей и нетрадиционные стандарты качества.
1.5 Взносы
2. Охваченная литература
Такие выводы, как тот факт, что Venturebeat (2019) упомянул, что 87% проектов машинного обучения терпят неудачу, или что Gartner (2020) указал, что 53% не переходят от прототипа к производству, подчеркивают важность решения проблем, поставленных в исследовании. В частности, для систем, поддерживающих машинное обучение (ML), становится важным обеспечить понимание и участие заинтересованных сторон и, следовательно, успех проектов ML.
Он выступает за необходимость улучшения практики междисциплинарного сотрудничества, учитывая, что ученые и другие специалисты находятся в постоянном цикле сотрудничества. Это создает уникальные проблемы с точки зрения коммуникации, координации и согласования целей, помогая определить проблемные точки сотрудничества и улучшить методы междисциплинарного сотрудничества.
Он учитывает этическую и качественную перспективу разработки систем с поддержкой ML и повышает потребности в улучшение аспектов справедливости, объяснимости и качества. Решение проблем, связанных с пониманием и обеспечением прозрачности, справедливости в обращении с данными и результатами, а также с необходимостью обеспечения общего качества систем машинного обучения.
2.1 Современное состояние
В этой статье предлагается всесторонний обзор существующих методов и инструментов для оценки проблем совместной работы при создании систем с поддержкой машинного обучения (ML); В нем описывается то, что уже известно о теме сотрудничества в традиционной разработке программного обеспечения и особенно о качественных моделях и показателях с теоретической и документальной основой. Статья призвана заставить нас задуматься об областях машинного обучения, которые требуют дальнейших исследований качественных вопросов в долгосрочной перспективе.
2.3 Методологические подходы
Это описательная работа, которая предлагает понять и интерпретировать социальные и человеческие явления с точки зрения вовлеченных участников, связанных с проблемами сотрудничества в создании систем, поддерживающих машинное обучение (ML), ориентированных на анализ и понимание препятствий и лучшие практики, связанные с сотрудничеством в этой области. Работа направлена на выявление конкретных проблем, возникающих при совместной работе над созданием систем с поддержкой машинного обучения, и изучение того, как эти проблемы можно преодолеть.
Это описательная работа, целью которой является понимание и интерпретация социальных и человеческих явлений с точки зрения точки зрения участников в отношении уникальных трудностей, возникающих при совместной разработке систем, поддерживающих машинное обучение (ML), с особым вниманием к пониманию и анализу проблем, связанных с сотрудничеством в этой области.
2.4 Вопросы поисковых исследований
Цель статьи — определить и понять конкретные проблемы, связанные с совместной работой при создании систем с поддержкой машинного обучения (ML). Это может позволить лучше понять и лучше понять препятствия, с которыми сталкиваются совместные команды в этой области, и помочь разработать стратегии для их преодоления.
Он направлен на предоставление рекомендаций и лучших практик для эффективного сотрудничества в проектах ML. Ожидается, что благодаря анализу тематических исследований и успешных примеров будут предложены рекомендации и практические подходы, которые улучшат качество и эффективность совместных проектов в области ML.
Он направлен на оценку влияния сотрудничества на создание ML- включенные системы. Измеряя успех проектов с точки зрения успешной реализации, качества результатов и удовлетворенности конечных пользователей, можно будет оценить, как сотрудничество влияет на эти ключевые аспекты. Это даст ценную информацию для улучшения и оптимизации совместной работы над будущими проектами машинного обучения.
Он призван внести свой вклад в развитие области совместной работы в области машинного обучения. Мы надеемся, что обмен результатами, рекомендациями и уроками, извлеченными из исследования, обогатит коллективные знания и поощрит разработку инновационных идей и подходов в области совместной работы в системах с поддержкой ML.
Вместе эти вклады направлены на повысить эффективность, результативность и качество проектов машинного обучения, связанных с совместной работой, а также способствовать более быстрому и эффективному продвижению в этой постоянно развивающейся области.
2.5 Основные гипотезы
В связи с этим можно утверждать, что работа не предлагает альтернатив для ограничения методологической направленности, а ограничивается представлением так называемого «современного состояния» вопроса и пытается локализовать в рамках непроверенной модели необходимость улучшения критических точек совместной работы для систем с поддержкой ML, рассмотренные аспекты: модели, инструменты, инструменты и индикаторы систем с поддержкой ML, расположенные в вашей концептуальной модели.
3. Методология исследования
4.1 Предварительная индикация
Вопросы исследовательского исследования в этом исследовании включают:
определение точек взаимодействия при создании систем с поддержкой машинного обучения (ML).
изучение проблем, связанных с совместной работой членов команды с разными навыками или образованием.
Понять взаимосвязь между совместной работой и качеством данных в командах, работающих над системами с поддержкой машинного обучения.
Проанализировать организационную структуру и обязанности в разных командах, участвующих в разработке систем с поддержкой машинного обучения.
Он исследует, как команды различаются по с точки зрения состава, динамики власти и формальностей сотрудничества в контексте систем с поддержкой машинного обучения.
Выявление различий и сходств в подходах к совместной работе между различными организациями и областями приложений в системах с поддержкой машинного обучения.
4.2. Основные результаты
Хотя они прямо не указаны в статье, вы можете увидеть несколько примеров, таких как:
Организационная структура, состав команды, динамика власти и обязанности различаются между организациями и могут влиять на проблемы совместной работы.
Проблемы совместной работы в ML -системы с поддержкой ориентированы в первую очередь на связь, документирование, разработку и процессы.
Внедрение компонентов машинного обучения в программные проекты создает проблемы в разработке программного обеспечения, такие как тестирование компонентов машинного обучения, неправильное использование библиотек машинного обучения и автоматизация процессов реализации для машинного обучения. компонентов.
Внедрение машинного обучения в программные проекты создает дополнительные проблемы с точки зрения координации и взаимодействия между командами с разным техническим образованием.
Совместная разработка систем с поддержкой ML создает дополнительные проблемы из-за исследовательской модели. процессы разработки, необходимые навыки и знания, трудности в тестировании систем машинного обучения, необходимость непрерывного развития и мониторинга, а также нетрадиционные требования к качеству, такие как справедливость и объяснимость.
Существуют критические точки сотрудничества при выявлении и разрушении требования, согласование качества и количества обучающих данных, а также объединение работы по науке о данных и разработке программного обеспечения.
Успешное междисциплинарное сотрудничество в системах с поддержкой машинного обучения зависит от профессиональной роли, структурных характеристик, личных характеристик и истории сотрудничества членов команды. .
Отсутствие систематического или общего понимания общих проблем совместной работы и передовых методов разработки систем с поддержкой машинного обучения препятствует эффективному сотрудничеству между членами команды.
Принятие передовых методов совместной работы, внимание к точкам сотрудничества, четкое документирование обязанностей и интерфейсы, рассматривая инженерную работу как ключевой вклад, а инвестиции в процессы и планирование могут улучшить методы совместной работы в системах с поддержкой ML. системы с поддержкой машинного обучения.
Участие высшего руководства в разработке архитектуры программного обеспечения является ключевым фактором успеха для организаций, имеющих системы разработки программного обеспечения с поддержкой машинного обучения, что обеспечивает стратегическую координацию узлов и поощрение инноваций.
4.3 Прочность
Предварительный вывод, основанный на результатах, заключается в том, что организациям, создающим системы с поддержкой машинного обучения, следует уделять больше внимания межфункциональному сотрудничеству и решать проблемы, выявленные в ключевых точках сотрудничества: требования и планирование проекта, данные для обучения модели и интеграция модель в продукт.
Чтобы улучшить сотрудничество, рекомендуется сосредоточиться на четырех основных областях:
Коммуникация: следует поощрять более тесную связь между учеными по данным, инженерами-программистами и другими участниками с различным опытом. Обучение машинному обучению и обучение программной инженерии могут способствовать взаимопониманию.
Документация. Важно установить четкие методы документирования, чтобы определить ожидания и требования между командами. Необходимо разработать соответствующие методы для документирования компонентов машинного обучения, таких как модели, требования к данным и гарантированные качества моделей.
Проектирование: должны быть признаны и выделены достаточные инженерные усилия для преобразования моделей машинного обучения в рабочие и ремонтопригодные продукты. Это включает в себя контроль качества данных, автоматизацию развертывания и производственное тестирование.
Процесс. Для систем с поддержкой машинного обучения требуется более глубокое понимание интегрированных жизненных циклов процессов. Требования к продукту должны включать специалистов по данным на предварительных этапах, и может быть полезно использовать подход «сначала модель» для снижения риска. Требуется сбалансированный взгляд на продукт и процесс.
Эти предварительные рекомендации направлены на улучшение междисциплинарного сотрудничества и внедрение передового опыта в создании систем с поддержкой машинного обучения.
5. Обсуждение и последствия
Ниже приведены основные результаты:
Ключевые моменты совместной работы. Были определены три центра совместной работы, в которых организации, создающие системы с поддержкой машинного обучения, сталкиваются с серьезными проблемами. Этими пунктами являются требования и планирование проекта, данные для обучения модели и интеграции модели в продукт.
Другие точки сотрудничества: В дополнение к упомянутым ключевым моментам были найдены другие точки сотрудничества, хотя они упоминались меньше. часто. К ним относятся взаимодействие с экспертами по правовым вопросам и операторами, документирование работы других специалистов по данным и традиционное сотрудничество, связанное с программными проектами.
Культурные и коммуникативные проблемы. Было подчеркнуто, что междисциплинарное сотрудничество сталкивается с культурными и коммуникационными проблемами. Хотя эти проблемы характерны не только для организаций, создающих системы с поддержкой машинного обучения, было отмечено, что многие из этих организаций уделяют мало внимания развитию междисциплинарного сотрудничества.
Общие темы, требующие внимания. внимание как в инженерной практике, так и в исследованиях. Этими темами являются коммуникация, документация, разработка и процесс. Предлагаются конкретные подходы, такие как обучение грамотности машинного обучения, четкое документирование ожиданий, признание инженерных усилий и более глубокое понимание интегрированных жизненных циклов процессов.
6. Выводы и заключительные комментарии
Результаты исследования обеспечивают прочную основу для понимания проблем и проблем, связанных с междисциплинарным сотрудничеством при создании систем с поддержкой машинного обучения. Исследование было основано на интервью и учитывало различные точки зрения специалистов по данным, инженеров-программистов и других соответствующих участников.
Определение трех важнейших аспектов сотрудничества и упоминание других менее частых моментов дает всестороннее представление о проблемах, с которыми приходится сталкиваться. организациями в этой области. Кроме того, обнаружение культурных и коммуникативных проблем подчеркивает важность решения этих аспектов для улучшения сотрудничества и успеха проектов машинного обучения.
Определенные общие темы, такие как общение, документация, разработка и процесс, дают четкое руководство. для организаций с точки зрения ключевых областей, на которых они должны сосредоточиться для преодоления проблем и расширения междисциплинарного сотрудничества.
Хотя каждая организация может иметь свои особенности и требовать индивидуальных подходов, результаты исследования обеспечивают прочную основу для инициирования обсуждений, планирования стратегий и продвижения передового опыта в создании систем с поддержкой машинного обучения.
В целом, надежность результатов проистекает из тщательного анализа опыта и точек зрения различных специалистов, участвующих в создании систем с поддержкой машинного обучения, что позволяет более полное понимание проблем и возможностей в этой области.
III. Библиографические ссылки
Из текста можно сделать следующие выводы:
Междисциплинарное сотрудничество в области систем с поддержкой машинного обучения (ML): организации, создающие системы на основе ML, сталкиваются с проблемами в трех основных областях сотрудничества: требования к проектам и планирование, данные для обучения моделей и интеграции моделей в продукты. Эти проблемы подчеркивают необходимость более тесного сотрудничества между специалистами по данным и инженерами-программистами.
Недостаточное внимание к междисциплинарному сотрудничеству. Хотя междисциплинарное сотрудничество создает известные проблемы с точки зрения культурных и коммуникационных проблем, многие организации, создающие системы с поддержкой ML, этого не делают. уделяйте достаточно внимания содействию более эффективному сотрудничеству между дисциплинами.
Необходимость планирования и анализа. Большинство организаций намеренно не планируют свои структуры и методы для решения проблем междисциплинарного сотрудничества в области машинного обучения. Кроме того, они плохо представляют себе имеющиеся варианты и компромиссы, на которые они могут пойти в отношении структур и практик.
Общие темы, требующие внимания: в дополнение к обсуждаемым конкретным проблемам определены четыре общие темы, которые могут выиграют от повышенного внимания как к инженерной практике, так и к исследованиям, связанным с ML: общение, документация, проектирование и процессы. Эти темы касаются важности образования, обучения, четкого документирования ожиданий, внимания к инженерным аспектам и адаптации жизненных циклов процессов к системам с поддержкой машинного обучения.
Эти выводы свидетельствуют о важности организационного участия, а также улучшения совместной работы и управления проектами. на арене ML.
Хуан Пабло Имилан
Почему 87% проектов по науке о данных не проходят стадию прототипа?
"Персональный сайт"
Обзор статьи, отмеченной наградой SEI 2022 Автор: Хуан Пабло Имилан
«Линкедин»
Введение
«Инстаграм»
II. Обзор
«Наборы данных»
Абстрактный
+++
"Исходный код"
- Рецензирование, также известное как рецензирование или рецензирование, является фундаментальным процессом в научных и академических исследованиях. Он состоит из критической оценки и рецензирования научной работы, например исследовательской статьи, экспертами или коллегами в той же области исследования.
Процесс рецензирования обычно состоит из следующих этапов:
Представление статья: автор представляет свою работу на рассмотрение в научный журнал или на научную конференцию.
Отбор рецензентов: редактор средства публикации выбирает экспертов в данной области, обычно ученых или активных исследователей, которые обладают соответствующим опытом для рецензирования работа.
Критическая оценка: рецензенты тщательно изучают работу и оценивают ее качество, достоверность, оригинальность, актуальность и научную строгость. Они также проверяют, соответствует ли работа стандартам и рекомендациям журнала или конференции.
Комментарии и предложения. Рецензенты предоставляют автору конструктивные отзывы и предложения, которые могут включать критику, исправления, методологические улучшения или пояснения. Эти комментарии могут быть анонимными или с раскрытием личности рецензента, в зависимости от процесса рецензирования.
Редакционное решение: Издатель средства публикации использует комментарии и оценки рецензентов для принятия решения о принятии, дальнейшем пересмотре, или отказ от работы. Это решение сообщается автору.
Рецензирование направлено на обеспечение качества и достоверности научных исследований путем их тщательного изучения экспертами в данной области. Этот процесс помогает фильтровать и улучшать работы перед публикацией, обеспечивая достоверность и надежность результатов и способствуя продвижению знаний в научном сообществе.
Стремясь к личному и профессиональному росту, я решил использовать обзор методологии с использованием публикации, которая уже получила награды и которую я нашел приятно обогащающей и направляющей для решения новых задач, связанных с машинным обучением.
Годовой обзор SEI 2022 освещает работу института в течение финансового года 1 октября 2021 г. , по 30 сентября 2022 г., и на этот раз три статьи, написанные в соавторстве с SEI, были награждены и признаны за их значительный вклад в свои области.
Было решено выбрать одну из этих отмеченных наградами статей, которая называется: Совместные задачи при создании систем с поддержкой машинного обучения: коммуникация, документация, разработка и процессы, Надя Нахар, Шуруи Чжоу, Грейс Льюис из SEI и Кристиан Кестнер. Эта статья получила награду Distinguished Paper Award в 44-м издании. ªIEEE/ACM. Международный конгресс инженеров-программистов (ICSE 2022). Краткий анализ и критический обзор представлены ниже (Garcés, J. and Duque, E. 2007). - Первоначально авторы определили, что исследователи и практики спорят о том, изменило ли внедрение компонентов модели машинного обучения в программные системы разработку программного обеспечения. Описание теоретических взаимосвязей сотрудничества в традиционной разработке программного обеспечения и разработке программного обеспечения, связанных с компонентами машинного обучения, как это было предложено Ахо, Т. и др. (2020).
Архитектура программного обеспечения. Это относится к общему дизайну и высокоуровневым решениям системы. Узнайте, как внедрение машинного обучения в программные проекты усложняет совместную работу. Степень того, насколько первоначальный архитектурный проект осуществим, практичен или желателен, ставится под сомнение, что отражает противоречие между стремлением к первоначальному планированию, техническими рисками и нестабильными требованиями (Басс, Л. и др., 1998; Уотерман, М. и др.). и др., 2015).
Сотрудничество в области разработки программного обеспечения. Он определяет, что сотрудничество и координация между несколькими разработчиками и командами происходит между командами, часто с формальными коммуникационными схемами, например внутри команд, где коммуникационные схемы имеют тенденцию быть более неформальными. Техническая структура (модульные компоненты, функции, подсистемы), разграниченная интерфейсами и зависимостями между компонентами, относится к деталям внутренней реализации. Разработка модульного программного обеспечения является общей и облегчает работу нескольких разработчиков, разделяет задачи и действия по их компонентам (модулям, функциям и подсистемам) и интерфейсам, причем последние являются отражением ключевых архитектурных решений для системы, целью которой является для достижения желаемых общих качеств. Жизненный цикл программного обеспечения учитывает каскадные модели, в которых планирование разработки программного обеспечения осуществляется после тщательного анализа требований; Спиральная модель с основным акцентом на устранение рисков в первую очередь и итерации путем создания прототипов, учитывающих факторы риска, и модели Agile обычно преуменьшают первоначальный архитектурный проект для достижения быстрой итерации в дополнительных прототипах (Bass, L. et al. 1998).
Проблемы координации. Авторы определили, что команды не могут общаться легко и неформально, что часто изучается в распределенных командах глобальных корпораций или экосистем с открытым исходным кодом.
Проблемы междисциплинарного сотрудничества. Авторы определили, что, когда члены команды различаются по своему академическому и профессиональному опыту, они часто имеют разные ожидания от одной и той же системы и коммуникации, при совместной работе часто возникают культурные и методические проблемы. Успех этого типа сотрудничества обычно зависит от профессиональной роли, структурных характеристик, личных характеристик и истории сотрудничества.
Барьеры на пути к сотрудничеству. Авторы определили препятствия для сотрудничества, такие как структурные факторы, такие как неясная миссия, нехватка времени, чрезмерная рабочая нагрузка и отсутствие административной поддержки.
Разработка программного обеспечения с компонентами машинного обучения. Он определяет, что эти системы имеют компоненты ML и не ML, и требует привлечения к разработке программного обеспечения этих систем специалистов по данным и инженеров-программистов с большей компетенцией и опытом с дополнительным акцентом на управление данными, безопасность, этику, качество на уровне системы, инженерные требования. , дизайн архитектуры и дизайн взаимодействия с пользователем. Например, они обосновывают, что для построения моделей машинного обучения требуется больше опыта в науке о данных. С другой стороны, они определяют, что для создания системы с возможностями машинного обучения, которая требует создания моделей, компонентов для обучения данных, компонентов мониторинга для моделей, создания конвейеров обучения и реализации моделей масштабируемым способом, часто требуется инженеры с необходимым опытом в области инженерии искусственного интеллекта, SysML и MLOPs (Aho, T. et al. 2020; Akkiraju, R. et al. 2020)
Барьеры для сотрудничества. Авторы определили препятствия для сотрудничества, такие как факторы различий в навыках и образовании внутри этих команд (Nahar, N. et al. 2022).
2.2 Подход к проблеме
В статье представлен полный обзор вклад в эту тему за последние 15 лет был сосредоточен на поиске проблем совместной работы, упомянутых в существующей литературе по разработке программного обеспечения для систем, поддерживающих компоненты ML. Они отобрали пятнадцать статей на основе анализа ключевых слов и собственных знаний в этой области. Выбор всех разделов в этих документах, которые потенциально связаны с проблемами совместной работы между членами команды с разными навыками или образованием, после открытого процесса кодирования. Хотя в большинстве статей не говорилось о проблемах, связанных с сотрудничеством, мы отметили обсуждения, которые могут относиться к сотрудничеству, например проблемы качества данных между командами (Strauss, A. and Corbin, J.M. 2002).
Возникают потенциальные подходы. например:
Сотрудничество на основе ролей. Предлагается изучить вопрос о том, как четко распределить роли и обязанности в группе разработчиков систем машинного обучения с учетом индивидуальных навыков и знаний членов команды. Это может включать в себя назначение таких ролей, как специалист по данным, инженер-программист, эксперт в предметной области и дизайнер взаимодействия с пользователем, а также определение их взаимодействия и вклада в процесс разработки.
Совместные методологии: предлагает изучить различные методологии и совместные подходы при разработке системы машинного обучения, такие как гибкая разработка, ориентированный на пользователя дизайн и подход DevOps. Эти методологии можно адаптировать и настроить для решения конкретных задач, связанных с совместной работой в системах машинного обучения.
Инструменты и платформы для совместной работы: предлагает углубить исследование использования конкретных инструментов и платформ, облегчающих совместную работу при разработке систем машинного обучения. . Среди прочего, это могут быть инструменты управления проектами, системы контроля версий, онлайн-платформы для совместной работы и инструменты визуализации данных.
Эффективная коммуникация и документация: предложите обратить внимание на методы коммуникации и документирования среди членов команды разработчиков систем машинного обучения. Это может включать принятие четких и эффективных подходов к обмену знаниями, отчетность о ходе проекта, документирование решений и учет извлеченных уроков. - Методологический подход, используемый в этом исследовании, представляет собой качественное исследование (Штраус, А. и Корбин, Дж., 1994). Была принята стратегия качественного исследования для изучения точек сотрудничества и соответствующих проблем при создании систем с поддержкой машинного обучения (ML). Дизайн исследования был основан на обоснованной теории Штрауса, которая включает получение исследовательских вопросов из литературы, анализ интервью с открытым и аксиальным кодированием и обращение к литературе на протяжении всего процесса.
В исследовании предпринимались следующие шаги:< br /> Подготовка к интервью: что я рассматривал выбор пятнадцати статей из существующей литературы по разработке программного обеспечения для систем с поддержкой ML и выявленные области сотрудничества из них.
Проведение интервью: были проведены полуструктурированные интервью с 45 участниками из двадцати восьми организаций, охватывающих различные роли, типы компаний и страны.
Триангуляция с литературой: По мере того, как знания были получены из интервью, мы обратились к литературе, чтобы определить соответствующие обсуждения и жизнеспособные решения.
Проверка достоверности с интервьюируемыми: участникам был представлен абстрактный и полный черновой вариант статьи с запросом комментариев и проверкой применимости и правильности результатов.
Что касается угроз достоверности и достоверности исследования, упоминается, что стандарт методы кодирования и запоминания соблюдались, но нельзя полностью исключить предубеждения, введенные исследователями. Кроме того, следует с осторожностью делать обобщения за пределами опрошенных участников, поскольку выборка не включала определенные роли и области. Также упоминается, что самостоятельный выбор участников может повлиять на результаты.
4. Анализ результатов
Анализ результатов показывает, что организации, создающие системы с поддержкой машинного обучения (ML), сталкиваются с серьезными проблемами на трех этапах. основные точки сотрудничества: требования и планирование проекта, данные для обучения модели и интеграция модели в продукт.
Другие точки сотрудничества упоминались, но реже, такие как взаимодействие с юридическими экспертами и операторами, документирование работы для других специалисты по данным и проблемы при взаимодействии с командами, которые создают и поддерживают нестабильные библиотеки машинного обучения.
Несмотря на то, что специалисты по данным и инженеры-программисты осведомлены о междисциплинарных проблемах, культурных и коммуникационных проблемах, многие организации, создающие системы с поддержкой машинного обучения, уделяют этому мало внимания. способствовать лучшему межфункциональному сотрудничеству.
Определены четыре основные темы, требующие дальнейшего внимания как в инженерной практике, так и в исследованиях:
Коммуникация: Отсутствие коммуникации между участниками с разным опытом лежит в основе многих проблем. Обучение грамотности в области машинного обучения предлагается инженерам-программистам и менеджерам, а также обучение специалистов по данным в области разработки программного обеспечения. Глубокий опыт в одной области упоминается как ключевой фактор, обширные знания в других дисциплинах - как требование при добавлении профессионалов в эти команды, сопровождаемое обучением.
Документация: важно четко документировать ожидания среди команд. Традиционные методы документирования для разработчиков программного обеспечения могут служить отправной точкой, но для документирования требований к модели, ожидаемых данных и гарантированного качества модели необходимы лучшие практики. Для улучшения и стандартизации документации по компонентам машинного обучения предлагаются такие подходы, как карты моделей и информационные бюллетени.
Проектирование. Многие организации недооценивают инженерные усилия, необходимые для превращения модели машинного обучения в надежно работающий и ремонтопригодный продукт. Внедрение машинного обучения увеличивает сложность программного обеспечения и делает инженерные методы, такие как контроль качества данных, автоматизация развертывания и производственное тестирование, еще более важными. Руководители проектов должны убедиться, что у них есть достаточные инженерные возможности во всех частях проекта.
Процесс. Процесс машинного обучения, больше похожий на науку, бросает вызов жизненным циклам традиционных программных процессов. Необходимы дополнительные исследования интегрированных жизненных циклов процессов для систем с поддержкой ML, охватывающих разработку программного обеспечения и науку о данных. Требования к продукту не могут быть установлены без участия специалистов по обработке и анализу данных в прототипировании модели, и часто рекомендуется использовать подход сначала модель, чтобы снизить риск. Чтобы избежать проблем, необходим сбалансированный подход к продукту и процессу. - Обсуждение результатов и их последствий сосредоточено на важности решения проблем, выявленных в междисциплинарном сотрудничестве при создании систем с поддержкой машинного обучения. Эти результаты имеют несколько важных последствий:
Улучшение совместной работы. Междисциплинарное сотрудничество имеет решающее значение для успеха проектов машинного обучения. Культурные и коммуникативные проблемы, отмеченные в исследовании, подчеркивают необходимость создания рабочей среды для совместной работы и содействия взаимопониманию между учеными, занимающимися данными, инженерами-программистами и другими участниками. Это подразумевает необходимость развивать эффективные коммуникативные навыки и способствовать обучению грамотности машинного обучения для различных заинтересованных сторон.
Документация и ясность ожиданий: четкое документирование требований, ожиданий данных и качества модели имеет решающее значение для предотвращения недоразумений и проблем во время процесс построения системы. В исследовании отмечается, что практика документирования в этих аспектах еще недостаточно устоялась в контексте машинного обучения. Поэтому предлагается использовать такие подходы, как карты моделей и информационные бюллетени, чтобы улучшить и стандартизировать документацию компонентов машинного обучения.
Признание необходимости разработки: внедрение машинного обучения увеличивает сложность программного обеспечения и требует значительных инженерных усилий для преобразования моделей. в рабочие и ремонтопригодные продукты. Очень важно, чтобы организации осознавали этот аспект и выделяли адекватные ресурсы для обеспечения качества программного обеспечения, автоматизации развертывания и производственного тестирования. Руководители проектов должны обеспечить наличие необходимых инженерных возможностей для поддержки как ML, так и других частей проекта.
Интегрированные жизненные циклы процессов. Жизненных циклов традиционных программных процессов может быть недостаточно для разработки ML. включенных систем из-за того, что они ближе к науке о машинном обучении. Требования к продукту должны включать специалистов по данным с начальных этапов, и может быть полезно использовать подход сначала модель для снижения риска. Требуются дальнейшие исследования интегрированных жизненных циклов процессов специально для систем с поддержкой машинного обучения.
В целом обсуждение результатов подчеркивает необходимость решения совместных задач при создании систем с поддержкой машинного обучения и дает конкретные рекомендации по улучшению коммуникации, документации. , проектирование и процесс. Эти последствия могут повысить эффективность, качество и успех проектов машинного обучения, а также способствовать лучшему междисциплинарному сотрудничеству в этой области. - Сингх Г., Гер Т., Пюшель М. и Вечев М. (2019). Абстрактный домен для сертификации нейронных сетей. проц. Программа АКМ. Ланг. 3, ПОПЛ, 1–30. (с.ф.).
Ахо, Т., Сиеви-Корте, О.К., Яман, С., и Микконен, Т. (2020). Демистификация проектов по науке о данных: взгляд на людей и процессы науки о данных сегодня. В проц. Международная конф. Ориентированное на продукт улучшение процесса разработки программного обеспечения, 153–167.
Ахо, Т., Сиеви-Корте, О., Киламо, Т., Яман, С. и Микконен, Т., (2020). Демистификация проектов по науке о данных: взгляд на людей и процессы науки о данных сегодня. В проц. Международная конф. Ориентированное на продукт улучшение процесса разработки программного обеспечения, 153–167. (с.ф.).
Аккираджу, Р., Синха, В., Сюй, А., Махмуд, Дж., Гундеча, П., Лю, З., Лю, X. и Шумахер, Дж. (2020) . Характеристика процессов машинного обучения: структура зрелости. Управление бизнес-процессами, 17–31. (с.ф.).
Амайзен, Э. (2020). Создание приложений на основе машинного обучения: от идеи к продукту. O’Reilly Media, Inc. (s.f.).
Amershi, S. e. (2019). Программная инженерия для машинного обучения: пример. В проц. 41-й междунар. конф. по разработке программного обеспечения: разработка программного обеспечения на практике (ICSE-SEIP), 291–300.
Amershi, S. et al. (2019). Руководство по взаимодействию человека и ИИ. В проц. конф. ЧИ. о человеческом факторе в вычислительных системах, 1–13. (с.ф.).
Amershi, S. et al. (2019). Программная инженерия для машинного обучения: пример. В проц. 41-й междунар. конф. по программной инженерии: программная инженерия на практике (ICSE-SEIP), 291–300. (с.ф.).
Эшмор, Р., Калинеску, Р. и Патерсон, К. (2021). Обеспечение жизненного цикла машинного обучения: пожелания, методы и проблемы. ACM Computing Surveys (CSUR), 54 (5): 1–39. (с.ф.).
Басс, Л., Клементс, П. и Казман, Р. (1998). Архитектура программного обеспечения на практике. (с.ф.).
Басс, М., Хербслеб, Дж. Д. и Лешер, К. (2009). Метод анализа координационных рисков для проектов с несколькими площадками: отчет об опыте. В проц. Международная конф. Глобальная разработка программного обеспечения, 31–40. (с.ф.).
Бэйлор, Д., Брек, Э., Ченг, Х.Т., Фидель, Н., Фу, С.Ю. и другие. (2017). TFX: платформа машинного обучения производственного масштаба на основе TensorFlow. В проц. Международная конф. Обнаружение знаний и интеллектуальный анализ данных, 1387–1395. (с.ф.).
Богарт, К., Кестнер, К., Хербслеб, Дж. и Тунг, Ф. (2021). Когда и как вносить критические изменения: политики и практики в 18 экосистемах программного обеспечения с открытым исходным кодом. ACM Transactions по программной инженерии и методологии. 30, 4, 1–56. (с.ф.).
Борг М. и соавт. (2019). Безопасный вход в глубь: обзор проверки и проверки для машинного обучения и выявления проблем в автомобильной промышленности. Журнал автомобильной разработки программного обеспечения. 1, 1, 1–9. (с.ф.).
Бош, Дж., Олссон, Х. Х. и Црнкович, И. (2021). Инженерные системы искусственного интеллекта: программа исследований. Парадигмы искусственного интеллекта для интеллектуальных киберфизических систем. ИГИ Глобал. (s.f.).
Boujut, J.-F. и Бланко, Э. (2003). Промежуточные объекты как средство развития сотрудничества в инженерном проектировании. Совместная работа с компьютерной поддержкой (CSCW). 12, 2, 205–219. (с.ф.).
Брайек, Х.Б. и Хомх, Ф. 2020. О тестировании программ машинного обучения. Журнал систем и программного обеспечения. 164, 110542. (с.ф.).
Брандштадтер, С. и Зоннтаг, К. (2016). Междисциплинарное сотрудничество. Достижения в области эргономичного проектирования систем, продуктов и процессов, 395–409. (с.ф.).
Брауде, Эрик Дж. и Бернштейн, Майкл Э. (2011). Программная инженерия: современные подходы, 2-е издание. Уайли. ISBN-13: 978–0471692089. (с.ф.).
Браун, G.F.C. (1995). Факторы, которые облегчают или препятствуют междисциплинарному сотрудничеству внутри профессиональной бюрократии. Университет Арканзаса. (с.ф.).
Кай, С.Дж., Винтер, С., Штайнер, Д., Уилкокс, Л. и Терри, М. (2019). Привет, ИИ: выявление потребностей практикующих врачей в совместном принятии решений человеком и ИИ. В проц. Взаимодействие человека с компьютером. 3, CSCW, 1–24. (с.ф.).
Cataldo, M. et al. (2006). Определение требований координации: последствия для разработки инструментов сотрудничества и осведомленности. В проц. конф. Совместная работа с компьютерной поддержкой (CSCW), 353–362. (с.ф.).
Чаттопадхьяй, С., Прасад, И., Хенли, А.З., Сарма, А. и Барик, Т. (2020). Что не так с вычислительными ноутбуками? Болевые точки, потребности и возможности дизайна. В проц. конф. Человеческий фактор в вычислительных системах (CHI), 1–12. (с.ф.).
Чен З., Цао Ю., Лю Ю., Ван Х., Се Т. и Лю Х. (2020). Понимание проблем при развертывании программного обеспечения на основе глубокого обучения: эмпирическое исследование. arXiv 2005.00760. (с.ф.).
Ченг Д., Цао К., Сюй К. и Ма К. (2018). Выявление ошибок в коде машинного обучения: исследовательское исследование с мутационным тестированием. В проц. Международная конф. Качество, надежность и безопасность программного обеспечения (QRS), 313–324. (sf).
Conway, ME (1968). Как изобретают комитеты? Датамация. 14, 4, 28–31. (sf).
Cossette, B.E. и Уокер, Р.Дж. (2012). В поисках истины: ретроактивное исследование эволюции и миграции программных библиотек. В проц. Международный симпозиум по основам программной инженерии (FSE), 1–11. (с.ф.).
Кертис, Б., Краснер, Х. и Иско, Н. (1988). Полевое исследование процесса проектирования программного обеспечения для больших систем. Коммуникации АКМ. 31, 11, 1268–1287. (с.ф.).
Даббиш, Л., Стюарт, К., Цай, Дж. и Хербслеб, Дж. (2012). Социальное кодирование в GitHub: прозрачность и совместная работа в открытом репозитории программного обеспечения. В проц. конф. Совместная работа с компьютерной поддержкой (CSCW), 1277–1286. (с.ф.).
Даббиш, Л., Стюарт, К., Цай, Дж. и Хербслеб, Дж. (2012). Социальное кодирование в GitHub: прозрачность и совместная работа в открытом репозитории программного обеспечения. В проц. конф. Совместная работа с компьютерной поддержкой (CSCW), 1277–1286. (с.ф.).
де Соуза, C.R.B. и Редмилес, Д.Ф. (2008). Эмпирическое исследование управления зависимостями и изменениями разработчиков программного обеспечения. В проц. Международная конф. Разработка программного обеспечения (ICSE), 241–250. (с.ф.).
Гарсес, Дж., Дуке, Э. (2007). Metodología пункт эль-анализа и ла ревизии crítica де artículos де расследования. (с.ф.).
Хаакман, М., Круз, Л., Хейгенс, Х. и ван Дерсен, А. (2021). Модели жизненного цикла ИИ нуждаются в пересмотре. Исследовательское исследование в области финансовых технологий. Эмпирическая разработка программного обеспечения. 26, 5, 1–29. (с.ф.).
Хербслеб, Дж. Д. и Гринтер, Р. Э. (1999). Разделение организации и интеграция кодекса: новый взгляд на закон Конвея. В проц. Международная конф. Разработка программного обеспечения (ICSE), 85–95. (с.ф.).
Хопкинс, А. и Бут, С. (2021). Практики машинного обучения за пределами больших технологий: как ограничения ресурсов мешают ответственному развитию. В проц. конф. по искусственному интеллекту, этике и обществу, 134–145. (с.ф.).
Хультен, Г. (2019). Создание интеллектуальных систем: руководство по машинному обучению. Апресс. (с.ф.).
Хультен, Г. (2019). Создание интеллектуальных систем: руководство по машинному обучению. Apress.
Исикава Ф. и Йошиока Н. (2019). Как инженеры воспринимают трудности в разработке систем машинного обучения? - Анкетный опрос. В проц. Международный семинар по проведению эмпирических исследований в промышленности (CESI) и исследованиям в области разработки программного обеспечения a. (с.ф.).
Кестнер, К. и Канг, Э. (2020). Преподавание разработки программного обеспечения для систем с поддержкой Al. В проц. Международная конф. Программная инженерия: образование и обучение программной инженерии (ICSE-SEET), 45–48. (с.ф.).
Ким, М.З.–1. (с.ф. ).
Лакшманан, В., Робинсон, С. и Манн, М. (2020). Шаблоны проектирования машинного обучения. O’Reilly Media, Inc. (с.ф.).
Мякинен, С. С.-С.-1. (с.ф.).
Мартинес-Фернандес, С., Богнер, Дж., Франч, X., Ориол, М., Зиберт, Дж., Трендович, А., Фоллмер, А.М. и Вагнер, С. (2021). Разработка программного обеспечения для систем на основе ИИ: обзор. архив 2105.01984. (s.f.).
Мартинес-Плюмед, Ф., Контрерас-Очандо, Л., Ферри, К., Эрнандес Оралло, Дж., Кулл, М., Лачиш, Н., Рамирес Кинтана, М.Дж. и Флач, П.А. (2021). CRISP-DM двадцать лет спустя: от процессов интеллектуального анализа данных к траекториям науки о данных. IEEE-транзакции на . (с.ф.).
Мейер, Б. (1997). Создание объектно-ориентированного программного обеспечения. Прентис-Холл. (с.ф.).
Мистрик, И., Гранди, Дж., ван дер Хук, А. и Уайтхед, Дж. (2010). Совместная разработка программного обеспечения. Спрингер. (s.f.).
Нахар, Н., Чжоу, С., Льюис, Г., Кестнер, К. (2022) Проблемы совместной работы при создании систем с поддержкой машинного обучения: связь, документация, проектирование и процесс. (с.ф.).
О'Лири, К. и Учида, М. (2020). Общие проблемы с созданием конвейеров машинного обучения из существующего кода. В проц. конф. Машинное обучение и системы (MLSys). (с.ф.).
Оваска, П., Росси, М. и Марттин, П. (2003). Архитектура как инструмент координации в многосайтовой разработке программного обеспечения. Улучшение программного процесса и практика. 8, 4, 233–247. (с.ф.).
Озкая, И. (2020). Что действительно отличается в разработке систем с поддержкой ИИ? (с.ф.).
Панетта, К. (2020). Gartner определяет основные стратегические технологические тенденции на 2021 год. URL: https:// www.gartner.com/ smarterwithgartner/gartner-top-strategic-technology-trends-for-2021.
Parnas, D.L. (1972). О критериях, которые следует использовать при декомпозиции систем на модули. Коммуникации АКМ. 15, 12, 1053–1058. (с.ф.).
Пасси, С., и Фиби С. (2020). Как заставить системы обработки данных работать. Большие данные и общество 7 (2): 1–13. (с.ф.).
Патель, К., Фогарти, Дж., Ландей, Дж.А. и Харрисон, Б. (2008). Изучение статистического машинного обучения как инструмента разработки программного обеспечения. В проц. конф. Человеческий фактор в вычислительных системах (CHI), 667–676. (с.ф.).
Ракова Б., Ян Дж., Крамер Х. и Чоудхури Р. (2021). Где ответственный ИИ встречается с реальностью: взгляды практиков на факторы, способствующие изменению организационной практики. проц. ACM Hum.-Comput. Взаимодействовать. 5, CSCW1, 1–23. (с.ф.).
Ракова Б., Ян Дж., Крамер Х. и Чоудхури Р. (2021). Где ответственный ИИ встречается с реальностью: взгляды практиков на факторы, способствующие изменению организационной практики. проц. ACM Hum.-Comput. Взаимодействовать. 5, CSCW1, 1–23. (с.ф.).
Салай, Р., Кейроз, Р. и Чарнецкий, К. (2017). Анализ ISO 26262: безопасное использование машинного обучения в автомобильном программном обеспечении. arXiv 1709.02435. (с.ф.).
Салай, Р., Кейроз, Р. и Чарнецкий, К. (2017). Анализ ISO 26262: безопасное использование машинного обучения в автомобильном программном обеспечении. arXiv 1709.02435. (с.ф.).
Sambasivan, N. et al. (2021). Каждый хочет работать с моделью, а не с данными: каскады данных в ИИ с высокими ставками. В проц. конф. по человеческому фактору в вычислительных системах (CHI). 1–15. (с.ф.).
Сарма, А., Редмилес, Д.Ф. и ван дер Хук, А. (2012). Palantir: раннее обнаружение конфликтов разработки, возникающих из-за параллельных изменений кода. IEEE Transactions по программной инженерии. 38, 4, 889–908. (sf).
SEI, (2022). Обзор SEI за 2022 год. (s.f.).
Сербан, А., ван дер Блом, К., Хус, Х. и Виссер, Дж. (2020). Принятие и влияние лучших практик разработки программного обеспечения в машинном обучении. В проц. Международный симпозиум по эмпирической разработке и измерению программного обеспечения, 1–12. (с.ф.).
Сербан, А., ван дер Блом, К., Хус, Х. и Виссер, Дж. (2020). Принятие и влияние лучших практик разработки программного обеспечения в машинном обучении. В проц. Международный симпозиум по эмпирической разработке и измерению программного обеспечения, 1–12. (с.ф.).
Зиберт Дж., Джокель Л., Хайдрих Дж., Накамичи К., Охаси К., Намба И., Ямамото Р. и Аояма М. ( 2020). К рекомендациям по оценке качества систем машинного обучения. В проц. Международная конф. по качеству информации и коммуникации. (с.ф.).
Смит, Д., Альшайх, А., Боян, Р., Как, А. и Манеш, М.М.Г. (2014). Преодоление барьеров для совместной работы в экосистеме с открытым исходным кодом. Обзор управления технологическими инновациями. 4, 1. (с.ф.).
Стафф, В.Б. (2019). Почему 87 % проектов по науке о данных никогда не реализуются? URL: https://venturebeat.com/ 2019/07/19/what-do-87-of-data-science-projects-never-make-it-into-production/ .
Штраус, А. и Корбин, Дж. (1994). Методология обоснованной теории: обзор. (с.ф.).
Штраус, А. и Корбин, Дж. М. (2002). Основы качественного исследования: обоснованные теоретические процедуры и методы. Публикации SAGE. (с.ф.).
Tramèr, F. et al. (2017). FairTest: обнаружение нежелательных ассоциаций в приложениях, управляемых данными. В проц. Европейский симпозиум по безопасности и конфиденциальности (EuroS P), 401–416. (с.ф.).
Фогельсанг, А. и Борг, М. (2019). Разработка требований для машинного обучения: взгляды специалистов по данным. В проц. Международная конференция по разработке требований. Семинары (РЭН), 245–251. (с.ф.).
Фогельсанг, А. и Борг, М. (2019). Разработка требований для машинного обучения: взгляды специалистов по данным. В проц. Международная конференция по разработке требований. Семинары (РЭН), 245–251. (с.ф.).
Ван, А.Ю., Миттал, А., Брукс, К. и Оней, С. (2019). Как специалисты по данным используют вычислительные ноутбуки для совместной работы в реальном времени. проц. Взаимодействие человека с компьютером. 3, CSCW, 39. (s.f.).
Waterman, M., Noble, J. and Allan, G. (2015). Насколько заранее? Обоснованная теория гибкой архитектуры. В проц. Международная конф. Разработка программного обеспечения, 347–357. (с.ф.).
Се, X., Хо, Дж.В.К., Мерфи, К., Кайзер, Г., Сюй, Б. и Чен, Т.Ю. (2011). Тестирование и проверка классификаторов машинного обучения с помощью метаморфического тестирования. Журнал систем и программного обеспечения. 84, 4, 544–558. (с.ф.).
Ян, К. (2018). Роль дизайна в создании пользовательского опыта с улучшенным машинным обучением. В проц. Серия весенних симпозиумов AAAI, 406–411. (с.ф.).
Ян, К., Сух, Дж., Чен, Н.-К. и Рамос, Г. (2018). Обоснование дизайна интерактивного инструмента машинного обучения в том, как на самом деле строят модели неспециалисты. В проц. конф. Проектирование интерактивных систем, 573–584. (с.ф.).
Ян, К., Сух, Дж., Чен, Н.-К. и Рамос, Г. (2018). Обоснование дизайна интерактивного инструмента машинного обучения в том, как на самом деле строят модели неспециалисты. В проц. конф. Проектирование интерактивных систем, 573–584. (sf).
Yokoyama, H. (2019). Архитектурный шаблон системы машинного обучения для повышения операционной стабильности. В проц. Международная конф. на компаньоне по архитектуре программного обеспечения (ICSA-C), 267–274. (с.ф.).
Чжан, А. X., Мюллер, М. и Ван, Д. (2020). Как сотрудничают специалисты по обработке и анализу данных? Роли, рабочие процессы и инструменты. проц. Взаимодействие человека с компьютером. 4, CSCW1, 1–23. (с.ф.).
Чжоу, С., Василеску, Б. и Кестнер, К. (2020). Как изменился форкинг за последние 20 лет? Исследование хард-форков на GitHub. В проц. Международная конф. Разработка программного обеспечения (ICSE), 445–456. (с.ф.).