Triángulos de hierro: herramientas poderosas para analizar las compensaciones en el desarrollo de productos de IA

y operar productos de IA implica hacer concesiones. Por ejemplo, construir un producto de mayor calidad puede requerir más tiempo y recursos, mientras que las llamadas de inferencia complejas pueden ser más lentas y costosas. Estas compensaciones son una consecuencia natural de la noción económica fundamental de escasez, de que nuestros deseos potencialmente ilimitados sólo pueden satisfacerse parcialmente con un conjunto limitado de recursos disponibles. En este artículo, tomaremos prestado un marco de triángulo intuitivo de la teoría de la gestión de proyectos para explorar las compensaciones clave que los creadores y usuarios de productos de IA deben afrontar en el tiempo de diseño y ejecución, respectivamente.

Nota: Todas las figuras y fórmulas de las siguientes secciones han sido creadas por el autor de este artículo.

Introducción a los triángulos de hierro

Las tensiones entre el alcance, el costo y el tiempo del proyecto han sido estudiadas extensamente por académicos y profesionales en el campo de la gestión de proyectos desde al menos la década de 1950. Los esfuerzos por representar visualmente las tensiones (o compensaciones) entre estas tres dimensiones de la calidad han dado como resultado un marco triangular que recibe muchos nombres, incluido el “triángulo de hierro”, la “triple restricción” y el “triángulo de gestión de proyectos”.

El marco señala algunos puntos clave:

Es importante analizar las compensaciones entre el alcance del proyecto (qué beneficios, nuevas características o funcionalidades ofrecerá el proyecto), el costo (en términos de presupuesto monetario, esfuerzo humano, costos de TI) y el tiempo (cronograma del proyecto, tiempo de entrega). El costo del proyecto es una función del alcance y el tiempo (por ejemplo, los proyectos más grandes y los plazos de entrega más cortos costarán más) y, según la llamada ley común del equilibrio empresarial, “obtienes lo que pagas”. En un entorno donde los recursos son fundamentalmente escasos, puede resultar difícil minimizar el costo y el tiempo al mismo tiempo que se maximiza el alcance. Esta situación se refleja claramente en la frase “Bueno, rápido, barato. Elige dos”, que a menudo se atribuye (aunque sin pruebas sólidas) al crítico de arte victoriano John Ruskin. Por lo tanto, los gerentes de proyectos tienden a estar muy atentos a la variación del alcance (agregar más características al alcance del proyecto de las acordadas previamente sin una gobernanza adecuada), lo que puede causar retrasos en el proyecto y sobrecostos presupuestarios. En cualquier proyecto determinado, puede haber diversos grados de flexibilidad en los niveles de alcance, costo y tiempo que las partes interesadas consideren aceptables. Por lo tanto, puede ser posible ajustar una o más de estas dimensiones para derivar diferentes configuraciones aceptables para el proyecto.

El siguiente vídeo explica con más detalle el uso del marco triangular en la gestión de proyectos:

En el contexto del desarrollo de productos de IA, el marco del triángulo se presta a la exploración de compensaciones tanto en el momento del diseño (cuando se construye el producto de IA) como en el tiempo de ejecución (cuando los clientes utilizan el producto de IA). En las siguientes secciones, analizaremos más de cerca cada uno de estos dos escenarios.

Compensaciones en tiempo de diseño

La Figura 1 muestra una variante del triángulo de hierro que captura las compensaciones que enfrenta un equipo de producto de IA en el momento del diseño.

Figura 1: Triángulo de hierro en tiempo de diseño

Las tres dimensiones del triángulo son:

Alcance de la característica (S) del producto de IA medido en puntos de historia, puntos de función o unidades de características. Costo de desarrollo (C) en términos de días-persona de esfuerzo humano (PM, ingeniería, UX, ciencia de datos) y costos monetarios de personal (los desarrolladores experimentados pueden tener costos totales más altos) y TI (recursos en la nube, GPU para entrenar modelos de IA). Tiempo de comercialización (T), por ejemplo, en semanas o meses.

Podemos teorizar el siguiente modelo mínimo de la triple restricción en tiempo de diseño:

El costo de desarrollo es proporcional a la relación entre el alcance y el tiempo, y k es un factor escalar positivo que representa la productividad. Un valor más alto de k implica un menor costo de tiempo de diseño por unidad de alcance por unidad de tiempo y, por lo tanto, una mayor productividad en tiempo de diseño. El modelo coincide con nuestra intuición básica: cuando T tiende al infinito (o S tiende a cero), C tiende a cero (es decir, ampliar el cronograma del proyecto o reducir el alcance hace que el proyecto sea más barato).

Por ejemplo, supongamos que nuestro proyecto consiste en construir un producto de IA con un valor de 300 puntos de historia, en un período de tiempo de 100 días, con un factor de productividad de 0,012. Suponiendo un costo total de $500 por punto de la historia, el modelo mínimo sugiere que deberíamos presupuestar alrededor de $125 mil para enviar el producto:

El modelo mínimo encapsula el núcleo similar a la física de la triple restricción en tiempo de diseño. De hecho, el modelo recuerda la ecuación que se enseña en la escuela y que vincula la distancia (d), la velocidad (v) y el tiempo

Las versiones extendidas del modelo en tiempo de diseño podrían considerar:

Costos fijos (por ejemplo, gastos generales de referencia para planificación, gobernanza, provisión de infraestructura), que implican un límite inferior para el costo total del tiempo de diseño. Impacto limitado del aumento de personal más allá de cierto punto. Como observó Fred Brooks en su libro de 1975 The Mythical Man-Month, “Agregar mano de obra a un proyecto de software tardío lo hace más tardío”. Productividad no lineal (por ejemplo, debido a las prisas o la desaceleración en diferentes fases del proyecto), que puede influir en la relación entre el costo y la relación alcance-tiempo. Contabilidad explícita de los estándares de calidad de la IA para permitir un seguimiento transparente de las métricas de éxito (por ejemplo, cumplimiento de los requisitos reglamentarios y acuerdos de nivel de servicio con los clientes). Actualmente, la contabilidad se realiza de forma indirecta por atribución al factor de productividad y alcance. La relación entre la productividad y la curva de aprendizaje del equipo de producto de IA, ya que la experiencia, la repetición de procesos y la reutilización de código hacen que el desarrollo sea más eficiente con el tiempo. Contabilizar el valor neto (es decir, beneficios menos costos) o el retorno de la inversión (ROI) en lugar de solo los costos de desarrollo. Teniendo en cuenta el intercambio de recursos escasos entre múltiples productos de IA que se desarrollan en paralelo. Esto implicaría adoptar una perspectiva de cartera de productos de IA en desarrollo en un momento dado.

Compensaciones en tiempo de ejecución

La Figura 2 muestra una variante del triángulo de hierro que captura las compensaciones que enfrentan los clientes o usuarios de un producto de IA en tiempo de ejecución.

Figura 2: Triángulo de hierro en tiempo de ejecución

Las tres dimensiones de este triángulo son:

Calidad de respuesta (Q) del producto de IA medida en términos de precisión predictiva, puntuación BLEU/ROUGE o alguna otra métrica de calidad específica de la tarea. Costos de inferencia (C) en términos de dólares o centavos por llamada de inferencia, segundos de GPU convertidos a dólares o costos de energía. Latencia de inferencia (L) en milisegundos, segundos, etc.

Podemos teorizar el siguiente modelo mínimo de la triple restricción en tiempo de ejecución:

El costo de inferencia es proporcional a la relación entre la calidad de la respuesta y la latencia, y k es un factor escalar positivo que representa la eficiencia del sistema. Un valor más alto de k implica un costo menor para la misma calidad de respuesta y latencia. Una vez más, el modelo se alinea con nuestra intuición básica: como L tiende a cero (o Q tiende a infinito), C tiende a infinito (es decir, un producto de IA que devuelve respuestas de alta calidad en tiempo real será más caro que un producto similar que proporcione respuestas más lentas e inferiores).

Por ejemplo, supongamos que un producto de IA logra constantemente una precisión predictiva del 90 % con una latencia de respuesta promedio de 0,5 segundos. Suponiendo un factor de eficiencia de 180, podemos esperar que el costo de inferencia sea de alrededor de un centavo:

Las versiones extendidas del modelo de tiempo de ejecución podrían considerar:

Costos fijos de referencia (por ejemplo, de carga de modelos, procesamiento previo y posterior de solicitudes de usuarios). Costos de escala variables debido a una relación no lineal entre costo y calidad (por ejemplo, pasar del 80% al 95% de precisión puede ser más fácil que pasar del 95% al ​​99%). Esto también podría capturar una forma de rendimiento decreciente en optimizaciones sucesivas de productos. Naturaleza estocástica de la calidad, que puede variar según la entrada (“basura que entra, basura que sale”). Esto se puede hacer utilizando el valor esperado de la calidad, E(Q), en lugar de un valor absoluto en el modelo de triple restricción; consulte este artículo para profundizar en el análisis del valor esperado en la gestión de productos de IA. Gastos generales de latencia fija y variable. El costo de inferencia podría modelarse como una función de la latencia efectiva, teniendo en cuenta retrasos en las colas, saltos de red, etc. Efectos del rendimiento y la concurrencia. El costo por inferencia podría ser menor para las inferencias por lotes (debido a una especie de amortización de costos entre las inferencias de un lote) o mayor si hay congestión en la red. Contabilización explícita de las eficiencias de los componentes del algoritmo de IA (debido a una arquitectura de modelo optimizada, uso de poda o cuantificación), hardware (rendimiento de GPU/TPU) y energía (uso de electricidad por FLOP) descomponiendo el factor de eficiencia k en consecuencia. Adaptación dinámica del factor de eficiencia k con respecto a carga, hardware o tipo/grado de optimizaciones. Por ejemplo, la eficiencia podría mejorar con el almacenamiento en caché o la destilación de modelos y deteriorarse bajo cargas pesadas debido a la limitación o el bloqueo de recursos.

Finalmente, las decisiones tomadas en tiempo de diseño pueden moldear la situación y los tipos de decisiones que se pueden tomar en tiempo de ejecución. Por ejemplo, el equipo de producto puede optar por invertir importantes recursos en la formación de un modelo básico integral, que puede ampliarse mediante el aprendizaje en contexto en tiempo de ejecución; En comparación con un algoritmo de aprendizaje automático convencional, como un bosque aleatorio, el modelo básico es una opción en tiempo de diseño que puede permitir una mejor calidad de respuesta en tiempo de ejecución, aunque a un costo de inferencia potencialmente mayor. Las inversiones en tiempo de diseño en código limpio e infraestructura eficiente podrían aumentar el factor de eficiencia del sistema en tiempo de ejecución. La elección del proveedor de la nube podría determinar el costo de inferencia mínimo alcanzable en tiempo de ejecución. Por lo tanto, es vital considerar las compensaciones entre el diseño y el tiempo de ejecución de manera conjunta y holística.

La envoltura

Como lo demuestra este artículo, el triángulo de hierro de la teoría de la gestión de proyectos se puede reutilizar para producir marcos simples pero poderosos para analizar las compensaciones entre el diseño y el tiempo de ejecución en el desarrollo de productos de IA. Los equipos de producto pueden utilizar el triángulo de hierro en tiempo de diseño para tomar decisiones sobre presupuestos, asignación de recursos y planificación de entregas. El triángulo de hierro complementario del tiempo de ejecución ofrece varias ideas sobre cómo la relación entre los costos de inferencia, la calidad de la respuesta y la latencia puede afectar la adopción del producto y la satisfacción del cliente. Dado que las decisiones en tiempo de diseño pueden limitar la opcionalidad en tiempo de ejecución, es importante pensar en las compensaciones entre diseño y tiempo de ejecución de manera conjunta desde el principio. Al reconocer las compensaciones desde el principio y trabajar en torno a ellas, los equipos de producto y sus clientes pueden crear más valor a partir del diseño y uso de la IA.