A medida que la inteligencia artificial (IA) continúa evolucionando, su influencia abarca distinto sectores, transformando las operaciones y mejorando el proceso de toma de decisiones. A esta altura, creo que la mayoría de nosotros podemos vislumbrar que en un futuro cercano la IA formará tan parte de la vida cotidiana de un desarrollador de software como de la vida de un agricultor. Para que esta visión se materialice a esta escala, es necesario democratizar la evolución de las tecnologías de IA para crear un ecosistema que brinde oportunidades para la colaboración abierta. Ya se ha intentado en el pasado y el desarrollo de software open source es un ejemplo exitoso que demuestra que se puede lograr. Hoy en día, desarrollar software en un ecosistema open source es la nueva norma y si podemos decir lo mismo del desarrollo de IA, no estaríamos exagerando. Además, en mi opinión, el impacto de la democratización de la IA será mucho mayor que el impacto del desarrollo de software open source.
Como la tecnología se puede aplicar en una amplia variedad de dominios, potenciarla para cada dominio en particular y ofrecerla a la amplia variedad de dominios de usuarios será todo un desafío. Una adopción más amplia de la IA a este nivel exige un esfuerzo colectivo a gran escala. Aunque esta tarea parezca ciclópea, creo que el desafío no consiste específicamente en reunir a las personas para que contribuyan, sino más bien en proporcionar herramientas simples y consumibles que minimicen los obstáculos para contribuir.
InstructLab es un esfuerzo sin precedentes en la democratización de la tecnología de IA. Es una plataforma capaz de hacer posible que usuarios con o sin habilidades relacionadas con la IA contribuyan y construyan una visión de IA personalizada que se adecue a sus necesidades específicas. Este es el primer paso en un largo camino, pero soy optimista de que evolucionará como una herramienta sumamente útil para los usuarios con diversos niveles de habilidades necesarias para adoptar la tecnología de IA en su vida cotidiana.
Hoy en día, aprovechar los beneficios de la IA y los modelos de lenguaje de gran tamaño (LLM) exige contar con conocimientos de ciencia de datos y desarrollo de software, lo cual hace que una adopción más amplia de la tecnología y sus posibles ventajas comerciales sea limitada. En el supuesto que los usuarios necesiten tener un conocimiento mínimo de la tecnología de IA para aprovecharla en su ámbito de trabajo, necesitarán responder las siguientes preguntas cuando comiencen a experimentar con la IA:
- ¿Cómo puedo interactuar con los modelos existentes y configurar un entorno que facilite esa interacción?
- ¿Posee el modelo una habilidad o conocimiento que el usuario está buscando?
- ¿Cómo puedo aportar la habilidad o el conocimiento específico del dominio al modelo?
- ¿Cómo puedo alimentar documentos específicos del dominio para ayudar al modelo a formular mejores respuestas, como, por ejemplo, alimentarle documentos financieros de la empresa para que genere mejores respuestas a las preguntas relacionadas?
- ¿Cómo puedo verificar que el modelo brindará respuestas más precisas a las mismas preguntas luego del entrenamiento?
Responder cada una de estas preguntas individuales puede derivar en una discusión tecnológica en la cual el usuario común no sienta ánimo de participar. Por ejemplo, estoy bastante seguro de que a un experto no tecnológico no le gustaría profundizar en la configuración de controladores gráficos en la distribución de Linux. Eso plantea el requisito de crear una abstracción muy general, simple y consumible que exprese la intención de los usuarios y que también sea fácil de seguir sin tener que profundizar en los detalles tecnológicos. Además, debe garantizar que se pueda traducir en un conjunto de instrucciones que se ejecuten a través de los complejos componentes de backend de la IA que se utilizan para crear y ajustar los modelos.
Como explico anteriormente, la eficacia y la adopción de la IA no están determinadas solamente por la sofisticación de sus algoritmos o el poder de su procesamiento de datos. A la hora de determinar el éxito de la IA, las abstracciones del usuario, como la interfaz de usuario (IU), juegan un rol igualmente crítico. El cuadro de texto de entrada de ChatGPT habilitado para el procesamiento de lenguaje natural (PLN) fue tan importante como la infraestructura de IA de backend que entrena el LLM. La IU habilitada para el PLN hace de puente entre los usuarios humanos y los complejos sistemas de IA, fomentando la comprensión, la interacción y la confianza. Sin una IU intuitiva y accesible, hasta el sistema de IA más potente podría no captar el interés de los usuarios, lo que derivaría en la infrautilización o el escepticismo.
La IU de InstructLab se creó en respuesta a los requisitos de IU mencionados anteriormente en el contexto del proyecto InstructLab. La IU de InstructLab surgió a partir de la intención de crear una IU eficaz con la ayuda de los aportes y los comentarios de la comunidad open source que contribuyan a optimizar el potencial de InstructLab y la IA e impulsar una mayor adopción. Un grupo de ingenieros de red y plataformas de la oficina del CTO de Red Hat, sin ninguna experiencia previa en el diseño de IU, creyeron ser los mejores candidatos para resolver este desafío, dado que el objetivo principal era crear una abstracción que no se viera influenciada por la tecnología de IA en sí, sino por la perspectiva de cómo un usuario general entendía la IA como tecnología. El resultado previsto consiste en una IU simple e intuitiva para el usuario humano, pero que oculte la complejidad del sistema de IA de backend.
InstructLab como plataforma responde la mayoría de las preguntas mencionadas anteriormente. Una vez que el software de la plataforma se instala y se configura en una máquina con una unidad de procesamiento gráfico (GPU), permite a los usuarios descargar cualquier modelo existente y alojarlo localmente para chatear con él. Si el modelo carece de habilidades o conocimientos, proporciona una estructura jerárquica taxonómica a la cual los usuarios pueden aportar sus habilidades o conocimientos en un formato YAML que se ajusta al esquema taxonómico. Una vez realizado el aporte, la plataforma proporciona una función para entrenar el modelo en función de la habilidad o el conocimiento recién aportados. Una vez que el modelo se entrena con los nuevos aportes, se puede volver a alojar para interactuar con él y verificar las nuevas respuestas.
Para un ingeniero de software con conocimientos básicos de IA, esto puede parecer una buena descripción general del funcionamiento de InstructLab, pero para un agricultor que desea alimentar datos agrícolas a un modelo de IA, puede resultar intimidante. Aunque el enunciado del problema es bastante claro (entrenar un modelo de IA con conocimientos del usuario), las herramientas que se pueden utilizar para resolver este problema son limitadas, especialmente si la solución debe tener en cuenta a un amplio espectro de usuarios. A partir de este requisito, la IU de InstructLab supuso mínimamente que el usuario sabe cómo usar un navegador y completar los campos de entrada básicos o cargar archivos mediante las funciones simples de arrastrar y soltar.
El siguiente desafío fue traducir la intención del usuario en una interfaz simple y fácil de usar. La primera pregunta obvia fue: ¿cómo puede el usuario verificar si el modelo existente conoce la habilidad o el conocimiento que el usuario desea aportar? Un chatbot basado en un navegador es probablemente una interfaz intuitiva, simple y comprobada que se puede ofrecer a los usuarios para que interactúen con el modelo. La IU de InstructLab implementó el chatbot básico para interactuar con diferentes modelos. Los usuarios pueden seleccionar el modelo predeterminado proporcionado e interactuar con él.
Los usuarios también pueden agregar su propio modelo alojado a la lista si quieren interactuar con él, aunque el modelo debe estar alojado en una máquina a la que se pueda acceder a través de la URL o una dirección IP. No hay dudas de que la interfaz que se muestra a continuación se puede mejorar y los miembros de la comunidad ya están pensando en cómo simplificar la interfaz para implementar cualquier modelo y chatear con él sin tener que conocer la información que se solicita en el formulario.
Si el modelo existente no proporciona la respuesta correcta o una respuesta de buena calidad a las preguntas, el usuario querrá mejorar el modelo aportando una habilidad o un conocimiento. Como mencioné anteriormente, la plataforma InstructLab brinda la función para entrenar el modelo. Para ello, los usuarios deben enviar su aporte en un formato YAML que se ajuste a un esquema específico. Es posible que los usuarios que no sean desarrolladores no comprendan algunos de los atributos definidos en el esquema o incluso no sepan escribir el conocimiento en formato YAML. Ese es el primer desafío importante que aborda la IU de InstructLab: abstraer esos complejos atributos del esquema y eliminar la necesidad de escribir documentos en formato YAML. Para hacerlo, la IU de InstructLab presenta un formulario web muy simple e intuitivo que el usuario debe completar con la información que conoce y comprende.
La siguiente imagen muestra el formulario de conocimiento que el usuario puede completar con todos los datos del conocimiento, incluido un breve resumen del conocimiento y los ejemplos iniciales que desea introducir en el modelo para su entrenamiento. El ejemplo inicial incluye un contexto y un conjunto de pares de preguntas y respuestas según el contexto dado.
Una vez que un usuario aporta un conjunto de habilidades y conocimientos, las siguientes preguntas obvias son:
- ¿Cómo puedo entrenar el modelo sobre la base de estos aportes?
- ¿Cómo pueden los usuarios interactuar con el modelo entrenado?
Hoy por hoy, se requiere que el usuario configure la plataforma InstructLab en una máquina (solo CPU o GPU) para entrenar el modelo. Los miembros de la comunidad de IU de InstructLab trabajan activamente para ofrecer funciones que activen estos próximos pasos a través de la misma IU sin necesidad de configurar manualmente la plataforma de determinada forma.
A continuación, se presenta un vistazo de las características del proyecto InstructLab actualmente en desarrollo que permiten al usuario ejecutar el flujo de trabajo completo del entrenamiento, desde el aporte hasta el entrenamiento mismo, a través de la IU:
- Proporcionar una interfaz para activar el entrenamiento del modelo a partir de los aportes del usuario a través de la IU. Activar el entrenamiento puede ser tan simple como hacer clic en un botón.
- Mejorar los formularios de envío de conocimientos, en los que los usuarios puedan simplemente cargar el documento de conocimientos y la IU proporcionará la lista de contextos que los usuarios pueden aceptar o rechazar. Una vez que se acepta el contexto, la IU proporcionará una lista de pares de preguntas y respuestas generados automáticamente para que el usuario seleccione. Esto simplificará la experiencia del usuario para el aporte de conocimientos y reducirá considerablemente el tiempo total necesario para presentar el aporte de conocimientos.
- Proporcionar una IU que permita a los usuarios realizar la generación aumentada de recuperación (RAG) sin la complejidad que suele llevar asociada.
Este blog analiza la IU en el contexto del aporte del usuario a un modelo open source para mejorarlo a través de diversas habilidades y conocimientos. Sin embargo, las empresas también pueden aprovechar esta plataforma para replicar el proceso de entrenamiento de modelos de la comunidad a nivel interno a fin de entrenarlos según sus propios aportes de habilidades y conocimientos. Los desafíos que requieren una IU simple e intuitiva existen incluso dentro del ámbito de la empresa, porque ellas también cuentan con un amplia variedad de usuarios, desde los desarrolladores de IA principales hasta equipos de ventas y marketing.
El éxito de la IA depende de algo más que sus algoritmos. Requiere una IU bien diseñada y ejecutada que empodere a los usuarios, democratice la tecnología y facilite su integración en los flujos de trabajo diarios sin inconvenientes. La IU de InstructLab es una iniciativa de la comunidad que explora y experimenta con IU para abordar estas necesidades de la plataforma.
Para participar de la IU de InstructLab, visite nuestro GitHub. Para explorar la IU actual de InstructLab y usarla para contribuir a InstructLab, visite el sitio web de la IU de InstructLab. Obtenga más información acerca de cómo utilizar InstructLab y cómo la IU de InstructLab puede ayudar a que los usuarios contribuyan a InstructLab.
Sobre los autores
Anil is part of the Network Team at the Office of CTO, RedHat. He has been doing research, design and development of software networking products for more than 18 years. Anil's expertise spans across Software-Defined Networking (SDN), Data Center Networking, Network Virtualization, Cloud Networking and application of AI in networking. He is a passionate contributor to open-source communities, actively engaging with projects such as OpenDaylight, OpenStack, CNCF projects and more recently the InstructLab Initiative. Over the past decade, he has held various leadership roles in open-source projects, including project maintainer, project chair, technical oversight committee member, and community-elected board member.
Anil is a frequent speaker at international research conferences, industry summits, and local meetups, sharing insights and innovations in networking technologies. His research contributions are available here. Committed to advancing disruptive networking technologies and application of AI in networking space, Anil believes in the power of open-source collaboration to drive innovation.
Ryan Cook is the platform and Enterprise AI lead within the Emerging Technologies group. Ryan has been at Red Hat since 2012 doing everything from Jenkins to building distributed systems.
Navegar por canal
Automatización
Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos
Inteligencia artificial
Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar
Nube híbrida abierta
Vea como construimos un futuro flexible con la nube híbrida
Seguridad
Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías
Edge computing
Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge
Infraestructura
Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo
Aplicaciones
Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones
Programas originales
Vea historias divertidas de creadores y líderes en tecnología empresarial
Productos
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Servicios de nube
- Ver todos los productos
Herramientas
- Training y Certificación
- Mi cuenta
- Soporte al cliente
- Recursos para desarrolladores
- Busque un partner
- Red Hat Ecosystem Catalog
- Calculador de valor Red Hat
- Documentación
Realice pruebas, compras y ventas
Comunicarse
- Comuníquese con la oficina de ventas
- Comuníquese con el servicio al cliente
- Comuníquese con Red Hat Training
- Redes sociales
Acerca de Red Hat
Somos el proveedor líder a nivel mundial de soluciones empresariales de código abierto, incluyendo Linux, cloud, contenedores y Kubernetes. Ofrecemos soluciones reforzadas, las cuales permiten que las empresas trabajen en distintas plataformas y entornos con facilidad, desde el centro de datos principal hasta el extremo de la red.
Seleccionar idioma
Red Hat legal and privacy links
- Acerca de Red Hat
- Oportunidades de empleo
- Eventos
- Sedes
- Póngase en contacto con Red Hat
- Blog de Red Hat
- Diversidad, igualdad e inclusión
- Cool Stuff Store
- Red Hat Summit