Simple Science

Ciencia de vanguardia explicada de forma sencilla

# Informática# Ingeniería del software# Aprendizaje automático

Desafíos al construir software con Machine Learning

Un resumen de los problemas clave que enfrentan los desarrolladores que usan aprendizaje automático en software.

― 9 minilectura


Desafíos de IntegraciónDesafíos de Integraciónde MLde aprendizaje automático.desarrollo de software con componentesIdentificando dificultades en el
Tabla de contenidos

Construir productos de software que incluyan componentes de aprendizaje automático (ML) no es tarea fácil. Trae nuevos desafíos y hace que los existentes sean aún más difíciles para los desarrolladores. Muchos expertos han estado tratando de entender cuáles son estos desafíos hablando con gente del campo. Han recopilado información de miles de profesionales a través de entrevistas y encuestas. Este documento tiene como objetivo recopilar y resumir estos hallazgos para ayudar a guiar la investigación y la educación sobre el tema.

El Cambio de Enfoque

En el pasado, la investigación en ML se centraba principalmente en crear mejores modelos. Recientemente, investigadores y profesionales de la industria han comenzado a prestar más atención a cómo construir productos de software que usen estos modelos de manera efectiva. Integrar un componente de ML en el software es a menudo más complicado que agregar características tradicionales. Esto se debe a que ML depende en gran medida de los datos y tiene su propio conjunto único de requisitos, incluyendo equidad y transparencia, que deben considerarse a lo largo de todo el ciclo de vida del producto.

Los Desafíos del Proceso de Desarrollo

El proceso de desarrollo de software tradicional viene con su propio conjunto de problemas. Sin embargo, cuando se añade aprendizaje automático a la mezcla, se complican muchas de las suposiciones que tienen los ingenieros de software. Los profesionales suelen expresar sus luchas con las complejidades de construir, implementar e incorporar ML en su software, incluso cuando los modelos iniciales parecen prometedores.

Investigación Previa

Muchos expertos han estudiado estos desafíos mediante entrevistas y encuestas con varios profesionales. Algunos se centran en aspectos específicos, como arquitectura y colaboración, mientras que otros discuten los desafíos de manera más amplia. La mayoría de los estudios informan problemas similares, lo que indica que ahora hay una fuerte comprensión de los desafíos que enfrentan los profesionales.

Meta-Sumario de Hallazgos

Este documento recopila y analiza hallazgos de 50 estudios que involucran a más de 4758 profesionales. Usando un enfoque sistemático, categorizamos los desafíos reportados por estos expertos. Identificamos áreas clave donde surgen desafíos durante el proceso de desarrollo, proporcionando grupos de ideas sobre Ingeniería de Requisitos, arquitectura, desarrollo de modelos, Aseguramiento de Calidad y trabajo en equipo.

Categorías de Desafíos

  1. Ingeniería de Requisitos

    • Los profesionales suelen tener dificultades para entender y definir lo que necesitan para sus proyectos de ML. Un gran problema son las expectativas poco realistas de los clientes que pueden no comprender del todo las capacidades de ML. Esta falta de comprensión lleva a especificaciones vagas y requisitos que no se alinean con el rendimiento real, lo que dificulta alcanzar los objetivos comerciales.
  2. Arquitectura, Diseño e Implementación

    • Desarrollar la arquitectura del sistema que incorpora ML presenta grandes obstáculos. Los equipos luchan por pasar del trabajo centrado en el modelo a una visión más amplia del sistema, creando desafíos en la configuración de tuberías automatizadas e integrando ML con componentes de software tradicionales.
  3. Desarrollo de Modelos

    • Hay desafíos de ingeniería notables durante la fase de Desarrollo del Modelo. Los profesionales informan sobre la falta de infraestructura y herramientas inadecuadas, lo que dificulta crear y refinar modelos de manera efectiva.
  4. Aseguramiento de Calidad

    • Probar y validar modelos de ML se complica por la ausencia de especificaciones claras. Establecer estándares de calidad y determinar qué constituye un rendimiento aceptable es a menudo un punto de controversia durante el proceso de desarrollo.
  5. Proceso y Organización

    • A menudo hay una falta de procesos estructurados para integrar componentes de ML en los flujos de trabajo existentes. La incertidumbre inherente a los proyectos de ML dificulta planificar líneas de tiempo y asignación de recursos, lo que lleva a enfoques improvisados.
  6. Dinámicas de Equipo

    • La integración exitosa de ML requiere habilidades diversas dentro de los equipos, incluyendo ingeniería, experiencia comercial y conocimiento del dominio. Muchos profesionales se encuentran con desafíos en la comunicación y colaboración entre disciplinas, lo que obstaculiza el trabajo en equipo.

Análisis Detallado de los Desafíos

Problemas de Ingeniería de Requisitos

  • Muchos profesionales informan que los clientes no tienen una buena comprensión de las tecnologías de ML. Esto lleva a demandas poco realistas, como esperar una precisión perfecta con un error mínimo. Tales conceptos erróneos a menudo afectan el proyecto desde el principio, ya que los interesados pueden tener dificultades para definir requisitos claros.
  • Además, muchos profesionales encuentran difícil conectar los objetivos comerciales de alto nivel con las necesidades técnicas específicas de sus modelos. Esta brecha a menudo existe porque los objetivos del proyecto pueden ser vagos o exploratorios, comenzando sin una base concreta.
  • Las restricciones regulatorias, como las leyes de privacidad, a menudo complican los requisitos para los proyectos de ML. Los profesionales señalan que a menudo tienen que navegar por estos requisitos legales, lo que puede introducir limitaciones en cómo se desarrollan y despliegan los modelos.

Desafíos en Arquitectura, Diseño e Implementación

  • Muchos equipos luchan por pasar del desarrollo exploratorio del modelo a crear sistemas totalmente funcionales y listos para producción. Esta transición puede ser desalentadora, ya que los profesionales a menudo enfrentan complejidades al integrar múltiples herramientas y marcos.
  • Hay desafíos de diseño sustanciales asociados con los sistemas de ML. La necesidad de gestionar flujos de datos y dependencias en constante cambio hace que sea difícil mantener la modularidad y la encapsulación, que son principios fundamentales del diseño de software tradicional.
  • Escalar soluciones de ML puede presentar dificultades, particularmente al abordar la compatibilidad de hardware y software en diferentes entornos. Los profesionales a menudo se sienten abrumados por la cantidad de herramientas disponibles y enfrentan desafíos para seleccionar la configuración adecuada para sus necesidades.

Desafíos en el Desarrollo de Modelos

  • Los profesionales expresan frecuentemente la necesidad de un mejor soporte de ingeniería, incluyendo infraestructura mejorada y herramientas especializadas para gestionar datos y desarrollo de modelos. Las limitaciones en las herramientas disponibles a menudo requieren que los equipos creen soluciones personalizadas, lo que puede agotar recursos.
  • La calidad del código es otra área de conflicto durante el desarrollo del modelo. A menudo hay una falta de estandarización en los procesos de revisión de código, lo que lleva a disparidades en las expectativas entre los miembros del equipo con diferentes roles.

Obstáculos en Aseguramiento de Calidad

  • Probar y depurar modelos de ML presenta desafíos significativos, principalmente debido a la ausencia de especificaciones tradicionales. Los profesionales luchan por establecer criterios de calidad, lo que dificulta saber qué métricas de rendimiento deben cumplirse.
  • La dificultad para curar datos de prueba apropiados añade complejidad a la verificación del rendimiento del modelo. En muchos casos, los profesionales reconocen la importancia de probar en entornos reales, pero carecen de estrategias claras para una evaluación efectiva.
  • Los problemas relacionados con la equidad y la seguridad también complican el proceso de aseguramiento de calidad. Muchos profesionales se sienten poco preparados para abordar estos aspectos debido a la falta de pautas o metodologías claras.

Desafíos de Proceso y Organización

  • Los equipos a menudo informan que carecen de procesos bien definidos para integrar componentes de ML en sus esfuerzos de desarrollo. Esto puede resultar en flujos de trabajo desorganizados y prácticas inconsistentes que varían de un proyecto a otro.
  • Dado que la incertidumbre es inherente al desarrollo de ML, los profesionales tienen dificultades para planificar y estimar el tiempo y el esfuerzo requeridos para los proyectos. Esta incertidumbre lleva a desafíos para establecer líneas de tiempo y expectativas claras del proyecto.
  • La documentación tiende a pasarse por alto, a pesar de ser crucial en el proceso de desarrollo de ML. Las malas prácticas de documentación pueden obstaculizar la colaboración y dificultar que los equipos sigan el proceso de toma de decisiones y resultados.

Dinámicas de Equipo y Colaboración

  • La necesidad de colaboración entre individuos con diferentes habilidades y experiencia es un tema central en los desafíos que enfrentan los profesionales. A menudo hay una falta de conocimiento interdisciplinario, lo que lleva a malentendidos y problemas de comunicación.
  • Los profesionales a menudo encuentran que las estructuras organizativas pueden crear barreras para un trabajo en equipo efectivo. Los silos en la comunicación y las prioridades divergentes entre departamentos pueden llevar a problemas de integración al desarrollar productos de ML.

Conclusión

Este documento describe los muchos desafíos que enfrentan los profesionales al construir productos de software con componentes de ML. Desde la recopilación de requisitos y el diseño de arquitecturas, hasta la garantía de calidad y la promoción del trabajo en equipo, el proceso está lleno de complejidades que a menudo van más allá de los obstáculos técnicos.

Al resumir las experiencias de más de 4758 profesionales, esperamos arrojar luz sobre estos problemas y allanar el camino para futuras investigaciones y esfuerzos educativos en el campo de la ingeniería de software para el aprendizaje automático. A través de un enfoque en la colaboración, mejores herramientas y procesos mejorados, hay potencial para un progreso significativo en la resolución de estos desafíos y mejorar la experiencia general de desarrollo.

Fuente original

Título: A Meta-Summary of Challenges in Building Products with ML Components -- Collecting Experiences from 4758+ Practitioners

Resumen: Incorporating machine learning (ML) components into software products raises new software-engineering challenges and exacerbates existing challenges. Many researchers have invested significant effort in understanding the challenges of industry practitioners working on building products with ML components, through interviews and surveys with practitioners. With the intention to aggregate and present their collective findings, we conduct a meta-summary study: We collect 50 relevant papers that together interacted with over 4758 practitioners using guidelines for systematic literature reviews. We then collected, grouped, and organized the over 500 mentions of challenges within those papers. We highlight the most commonly reported challenges and hope this meta-summary will be a useful resource for the research community to prioritize research and education in this field.

Autores: Nadia Nahar, Haoran Zhang, Grace Lewis, Shurui Zhou, Christian Kästner

Última actualización: 2023-03-31 00:00:00

Idioma: English

Fuente URL: https://arxiv.org/abs/2304.00078

Fuente PDF: https://arxiv.org/pdf/2304.00078

Licencia: https://creativecommons.org/licenses/by-sa/4.0/

Cambios: Este resumen se ha elaborado con la ayuda de AI y puede contener imprecisiones. Para obtener información precisa, consulte los documentos originales enlazados aquí.

Gracias a arxiv por el uso de su interoperabilidad de acceso abierto.

Más de autores

Artículos similares