La inteligencia artificial generativa tiene el potencial de aumentar significativamente la productividad humana; sin embargo, solo unas pocas organizaciones cuentan con la experiencia y los recursos necesarios para desarrollar y entrenar modelos fundamentales desde cero. Los desafíos son dobles: primero, recolectar los datos de entrenamiento necesarios es cada vez más difícil debido a los estrictos derechos de propiedad intelectual de los propietarios de contenido. Segundo, los recursos financieros requeridos para el entrenamiento pueden ser prohibitivamente costosos. No obstante, los beneficios sociales de hacer accesibles las tecnologías de IA generativa son sustanciales.
Entonces, ¿cómo pueden las pequeñas empresas o los desarrolladores individuales integrar la IA generativa en sus aplicaciones? La solución radica en crear y desplegar versiones personalizadas de modelos fundamentales existentes.
Dado que la inversión para desarrollar nuevos modelos de IA generativa es considerable, estos deben ser versátiles para acomodar diversas aplicaciones, similar a las múltiples formas en que se utilizan actualmente los modelos basados en GPT. Sin embargo, un modelo de propósito general puede no satisfacer adecuadamente las necesidades específicas de diferentes dominios. Utilizar un gran modelo de propósito general para una aplicación de nicho puede llevar al consumo innecesario de recursos informáticos, tiempo y energía.
Por lo tanto, la mayoría de las empresas y desarrolladores se benefician al comenzar con un gran modelo de IA generativa como base, adaptándolo a sus necesidades específicas con mucho menos esfuerzo de desarrollo. Este enfoque también ofrece flexibilidad en la infraestructura al utilizar CPUs disponibles o aceleradores de IA, evitando problemas relacionados con la escasez de GPUs. La clave es concentrarse en el caso de uso específico, reduciendo el alcance del proyecto mientras se optimiza la flexibilidad mediante software abierto basado en estándares y hardware ampliamente disponible.
Adopción del Enfoque de Caso de Uso para el Desarrollo de Aplicaciones de IA
En el desarrollo de software, un caso de uso describe las características del usuario objetivo, el problema a resolver y cómo la aplicación logrará esto. Esta definición determina los requisitos del producto, influye en la arquitectura del software y proporciona una hoja de ruta para el ciclo de vida del producto. Lo más importante es que aclara lo que está fuera del alcance del proyecto.
Para proyectos de IA generativa, establecer un caso de uso puede reducir el tamaño del modelo, las necesidades computacionales y el consumo de energía, al tiempo que mejora la precisión al centrarse en un conjunto de datos específico. Este enfoque dirigido conlleva menos esfuerzos y costos de desarrollo.
Los factores que definen un caso de uso para la IA generativa pueden variar según el proyecto, pero varias preguntas orientadoras pueden ayudar:
- Requisitos de Datos: ¿Qué tipo y cantidad de datos de entrenamiento son necesarios y disponibles? ¿Los datos son estructurados (almacenamiento de datos) o no estructurados (lago de datos)? ¿Qué restricciones aplican? ¿Cómo manejará la aplicación los datos: a través de procesamiento por lotes o en tiempo real? ¿Cuál es la frecuencia de las actualizaciones del modelo? Entrenar modelos de lenguaje grande (LLMs) desde cero consume tiempo, por lo que si el conocimiento en tiempo real es vital para su aplicación (por ejemplo, atención médica), pueden ser necesarios enfoques alternativos para asegurar datos actualizados.
- Requisitos del Modelo: Consideraciones sobre tamaño del modelo, rendimiento y transparencia de resultados son cruciales al seleccionar el modelo adecuado. El rendimiento en LLMs puede variar de miles de millones a billones de parámetros; el Llama 2 de Meta ofrece versiones de 7 a 70 mil millones de parámetros, mientras que se informa que el GPT-4 de OpenAI tiene 1.76 billones de parámetros. Los modelos más grandes por lo general ofrecen un rendimiento superior, pero los modelos más pequeños pueden alinearse mejor con sus necesidades. Los modelos abiertos permiten una personalización más profunda, mientras que los modelos cerrados ofrecen soluciones listas para usar con acceso API. Adaptar un modelo a sus datos puede ser importante para aplicaciones que requieren trazabilidad, como la generación de resúmenes de estados financieros para inversores, mientras que un modelo estándar puede ser suficiente para tareas creativas como generar textos publicitarios.
- Requisitos de la Aplicación: Identifique los estándares necesarios para precisión, latencia, privacidad y seguridad. ¿Cuántos usuarios concurrentes debería soportar? ¿Cómo interactuarán los usuarios con la aplicación? Por ejemplo, si su modelo opera en un dispositivo de borde de baja latencia o en un entorno de nube de alta capacidad, esto influirá significativamente en las decisiones de implementación.
- Requisitos de Cómputo: Una vez que se aclaran los factores anteriores, determine los recursos computacionales necesarios. ¿Necesita paralelizar el procesamiento de datos usando Modin? ¿Sus requisitos de ajuste fino e inferencia justifican una configuración híbrida de nube y borde? Incluso si tiene el talento y los datos para desarrollar un modelo de IA generativa desde cero, evalúe si su presupuesto puede soportar la reestructuración necesaria de la infraestructura de cómputo.
Estas consideraciones guiarán las discusiones para definir y delimitar los requisitos de su proyecto. Los aspectos financieros—que abarcan la ingeniería de datos, los gastos de desarrollo inicial y el modelo de negocio que respalda los costos de inferencia—también dictan las estrategias para los datos, el entrenamiento y el despliegue.
Cómo Pueden Ayudar las Tecnologías de IA Generativa de Intel
Intel ofrece soluciones de hardware de IA heterogéneas adaptadas a diversas necesidades de computación. Para maximizar el potencial de su hardware, Intel proporciona versiones optimizadas de herramientas populares de análisis de datos y de IA de extremo a extremo. Recientemente, Intel introdujo un modelo optimizado, el modelo de 7B parámetros clasificado como #1 en el ranking de LLMs abiertos de Hugging Face (a partir de noviembre de 2023). Estos recursos, junto con los del ecosistema de desarrolladores de IA de Intel, pueden satisfacer las demandas de precisión, latencia y seguridad de sus aplicaciones. Comience con cientos de modelos preentrenados disponibles en Hugging Face o GitHub optimizados para hardware de Intel. Puede preprocesar datos utilizando herramientas de Intel como Modin, ajustar modelos fundamentales utilizando herramientas como Intel® Extension for Transformers o Hugging Face Optimum, y automatizar el ajuste de modelos con SigOpt, todo basado en optimizaciones contribuidas a marcos de IA de código abierto como TensorFlow, PyTorch y DeepSpeed.
Ejemplos de Casos de Uso de IA Generativa
1. Servicio al Cliente: Caso de Uso de Chatbots
Los chatbots basados en LLM mejoran la eficiencia del servicio al proporcionar respuestas inmediatas a preguntas comunes, permitiendo que los representantes se concentren en problemas más complejos. Los LLMs de propósito general pueden conversar en varios idiomas, pero pueden carecer de conocimiento específico del negocio o "alucinar" información con confianza pese a no tener fundamento. El ajuste fino actualiza el modelo de manera incremental, mientras que los métodos de recuperación, como la generación aumentada por recuperación (RAG), extraen datos relevantes de una base de datos externa construida a partir de documentos específicos del negocio. Ambos enfoques generan respuestas específicas al contexto y pueden utilizar CPUs disponibles como los procesadores Intel® Xeon® Scalable.
2. Retail: Caso de Uso de Pruebas Virtuales
La IA generativa puede ofrecer experiencias de compra en línea inmersivas, como pruebas virtuales, mejorando la satisfacción del cliente y optimizando la eficiencia de la cadena de suministro. Esta aplicación se basa en la generación de imágenes y debe centrarse en una línea de ropa específica. El ajuste fino de modelos de imagen como Stable Diffusion puede requerir solo un número limitado de imágenes procesadas en plataformas de CPU. Para salvaguardar la privacidad del cliente, las imágenes deben almacenarse localmente, posiblemente en dispositivos del consumidor.
3. Salud: Caso de Uso de Monitoreo de Pacientes
Combinar la IA generativa con el monitoreo en tiempo real de pacientes puede generar informes personalizados y planes de acción. Este caso de uso requiere IA multimodal para procesar varios tipos de entrada y generar informes. Entrenar modelos en salud genera preocupaciones de privacidad, por lo que los datos de pacientes deben permanecer con los proveedores. El aprendizaje federado permite que el modelo se entrene localmente sin transferir datos sensibles. Si bien la inferencia local es ideal, pueden ser necesarias soluciones híbridas que involucren componentes de borde y de nube, lo que podría requerir técnicas de optimización.
Cómo Comenzar
Empiece definiendo su caso de uso utilizando las preguntas orientadoras anteriores para aclarar los requisitos de datos, cómputo, modelo y aplicación. Luego, explore modelos fundamentales relevantes, implementaciones de referencia y recursos comunitarios disponibles en el ecosistema de IA. Identifique y emplee las técnicas de ajuste y optimización que mejor se adapten a su proyecto.
Reconocer las necesidades computacionales puede llevar tiempo, y a menudo evolucionan durante el proyecto. Intel® Developer Cloud ofrece diversas CPUs, GPUs y aceleradores de IA para ayudarle en el desarrollo inicial.
Finalmente, para facilitar la transición entre diferentes plataformas de cómputo durante el desarrollo y despliegue, elija herramientas y marcos de IA que sean abiertos, basados en estándares y capaces de un rendimiento óptimo en varios dispositivos sin requerir importantes reescrituras de código.