Estás leyendo la publicación: ¿En qué se diferencian los proyectos de IA? Hacia la IA
Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.
Guía para el desarrollo de software de IA
A menudo, los clientes potenciales me piden que explique el proceso de software de inteligencia artificial (IA), y recientemente me han pedido gerentes con amplia experiencia en desarrollo de software y ciencia de datos que querían implementar MLOps. Por lo tanto, pensé que el proceso del software de IA sería un buen tema de discusión en un artículo.
Este artículo pretende ser un resumen de las diferencias clave en lugar de una discusión exhaustiva sobre el tema del proceso de software de IA.
Un proyecto de IA está en la naturaleza, por lo que varias o muchas partes del programa de software pueden reemplazarse o modificarse con el tiempo. Por lo tanto, los cambios generalmente son el resultado de los resultados de varios pasos en el proceso en lugar de los requisitos del cliente/sistema, por lo que es importante diseñar el sistema de manera que no requiera una reconstrucción total si los resultados experimentales sugieren un enfoque diferente.
No hay teorema de almuerzo gratis: Dos algoritmos cualesquiera son equivalentes cuando su rendimiento se promedia entre todos los problemas posibles.
Además, escribir código científico tiene dos propiedades únicas: y .
Los errores en los cálculos suelen ser difíciles de rastrear, especialmente cuando el código es semánticamente correcto. No se encuentran errores. No se plantea ninguna excepción. Todo se ve bien, pero el resultado (numérico) es claramente incorrecto. Al implementar modelos probabilísticos, los resultados pueden verse bien dependiendo de algunas condiciones iniciales o un factor aleatorio.
Siempre habrá partes experimentales que estarán en constante cambio. Por lo tanto, la clave es diseñar cada componente para que la mayor parte del trabajo pueda permanecer y servir como una base sólida para la siguiente etapa de desarrollo.
Por lo tanto, muchos artículos como [3] concéntrese en los patrones de diseño que pueden ayudar a crear un código más robusto y reutilizable con menos errores.
Podemos ver mejor algunas de las diferencias con MLOps. MLOps es un conjunto de métodos y técnicas para implementar y mantener modelos de aprendizaje automático (ML) en producción de manera confiable y eficiente. MLOps es la intersección de Machine Learning, DevOps e Ingeniería de datos.
En general, el proceso MLOps consta de ocho etapas:
- Preparación de datos
- Ingeniería de características
- diseño de modelo
- Entrenamiento y optimización de modelos
- Evaluación del modelo
- Despliegue del modelo
- Sirviendo modelo
- Monitoreo de modelos
Cada paso del ciclo de vida de MLOps se basa en su propio sistema, pero requiere interconexión, que son los requisitos mínimos necesarios para escalar las aplicaciones de ML.
Sin profundizar en una discusión de MLOps, podemos identificar algunas ideas clave sobre las diferencias del proyecto:
- Necesidad de versión de código, datos y modelos
- Entrega continua y formación continua
- Seguimiento de experimentos con modelos
- Gestión de funciones de aprendizaje automático
- Modelo de Monitoreo en Producción
Seguimiento de experimentos con modelos
A diferencia del ciclo de desarrollo de software tradicional, el paradigma del ciclo de desarrollo de modelos es diferente.
Gestión de funciones de aprendizaje automático
Las tiendas de artículos abordan los desafíos operativos. Proporcionan un conjunto consistente de datos entre el entrenamiento y la inferencia. Evitan cualquier sesgo de datos o fuga de datos inadvertida. Ofrecen la capacidad personalizada de escribir transformaciones de características, tanto en lotes como en transmisión de datos, durante el proceso de extracción de características durante el entrenamiento. Permiten el aumento de solicitudes con datos históricos en la inferencia, lo cual es común en grandes modelos implementados de detección de fraudes y anomalías o sistemas de recomendación.
Supervisión de modelos en producción
Hay varios tipos de problemas que las aplicaciones de Machine Learning pueden encontrar con el tiempo [4]:
- Deriva de datos: cambios repentinos en los valores de las características o cambios en la distribución de datos.
- Desviación del modelo/concepto: cómo, por qué y cuándo cambia el rendimiento del modelo.
- Los modelos fallan con el tiempo: Los modelos fallan por razones inexplicables (falla del sistema, mala conexión de red, sobrecarga del sistema, mala entrada o solicitud corrupta), por lo que es importante detectar la causa raíz temprano o su frecuencia.
- valores atípicos: la necesidad de realizar un seguimiento de los resultados y el rendimiento de un modelo en caso de valores atípicos o situaciones no planificadas.
- Calidad de los datos: garantizar que los datos recibidos en producción se procesen de la misma manera que los datos de entrenamiento.
- Rendimiento de sistema: Las canalizaciones de entrenamiento fallan o tardan mucho tiempo en ejecutarse, latencia muy alta, etc.
- Los sistemas degradan la sobrecarga: También es importante monitorear constantemente la salud de los servidores o servicios modelo.
Conclusión
Claramente, la naturaleza experimental de los proyectos de IA es una diferencia clave del desarrollo de software tradicional. También podemos identificar algunas diferencias importantes con los proyectos de IA en el contexto de MLOps: la necesidad de versionar código, datos y modelos; seguimiento de experimentos modelo; Monitoreo de modelos en producción.
Referencias
[1] E. Alpaydin, 3.ª ed., MIT Press, ISBN: 978 — 0262028189, 2014.
[2] S. Russell y P. Norvig, 4ª ed. Upper Saddle River, Nueva Jersey: Prentice Hall, ISBN: 978–0–13–604259–4, 2021.
[3] Cómo escribir mejor código científico en Python
[4] Consideraciones para implementar modelos de aprendizaje automático en producción
En qué se diferencian los proyectos de IA se publicó originalmente en Hacia la IA en Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.
Publicado a través de Hacia la IA