Construir un humano digital con IA - Mostrar cómo captar la atención de un cliente
La solución que Supermicro construyó en 2 semanas para el 2025 NRF Big Show Event
Mientras preparábamos el diseño y el contenido de nuestro stand de Supermicro para el Big Show de la Federación Nacional de Minoristas (NRF) en enero de 2025, sabíamos que queríamos tener una demostración de un humano digital que fuera capaz de interpretar las preguntas de un visitante de nuestro stand y proporcionar respuestas detalladas. Y lo que es más importante, sabíamos que la demostración debía alojarse localmente para garantizar que una conversación entre un humano y un humano digital se produjera dentro de los parámetros normales de latencia (50 - 100 ms) que se esperan cuando se habla con otro humano.
Este artículo profundiza en la historia de fondo de por qué decidimos hacer una demostración de un humano digital, los retos a los que nos enfrentamos y los superamos en sólo 2 semanas, y la acogida que tuvimos por parte de las personas que interactuaron con nuestro humano digital.
La historia que queríamos contar
Dada nuestra decisión de mostrar una aplicación humana digital en el NRF Big Show, queríamos elegir una historia convincente en el contexto de un entorno minorista. También queríamos elegir un ejemplo del mundo real que mostrara el valor inherente de un humano digital. El caso de uso que decidimos mostrar fue un humano digital que respondería a preguntas en lenguaje natural sobre las opciones de menú en un restaurante.
Aunque este caso de uso pueda parecer sencillo, nos dio la posibilidad de contar una historia a tres públicos diferentes que podían pasar por nuestro stand. Estos públicos pueden describirse de la siguiente manera:
- El gerente/propietario de un restaurante. Nuestro objetivo para esta persona es mostrarle una aplicación que podría desplegarse fácilmente y aportar valor a su negocio. Una experiencia humana digital positiva reduciría la dificultad de mantener a los empleados al día de los cambios en las opciones y elecciones del menú. Esta persona sabría que la rotación de empleados es cara, y ser capaz de mostrar que es posible tener un humano digital que enriquezca la experiencia de sus clientes a un coste que ahorre dinero a su negocio.
- Un tecnólogo. Esta persona querría saber cómo creamos nuestro humano digital, cuáles fueron nuestros retos y cómo los superamos. Pretendemos mostrar la realidad de la creación de un humano digital y por qué es una oportunidad replicable.
- Un consumidor. Se trataría de alguien que fuera consumidor de servicios de restauración, por lo que prácticamente todas las personas que vieran la demostración responderían a esta definición. Esta persona juzgaría al humano digital por la facilidad de uso, la precisión de sus respuestas y, en última instancia, la verosimilitud de sus interacciones. Nuestro objetivo es mostrar lo sencillo que sería utilizar un humano digital en su vida cotidiana.
No es nuestra primera experiencia humana digital con IA
Nuestro deseo de construir una demostración humana digital para el Big Show de la NRF de 2025 no fue la primera experiencia de Supermicroen la creación de un humano digital. Anteriormente trabajamos con dos socios ISV para crear un humano digital capaz de responder a preguntas de recomendación de productos para la cartera de productos de Supermicro. De hecho, esta fue una de las dos demostraciones de humano digital que mostramos en el evento Mobile World Congress 2024 en Barcelona, España.
Aunque esa primera experiencia fue positiva, sobre todo al ver las interacciones en tiempo real de la gente con nuestro humano digital, requirió mucho trabajo de coordinación, especialmente con tres partes implicadas para hacerlo realidad. Esta vez, decidimos que haríamos todo el trabajo por nuestra cuenta. Al examinar el tiempo y la energía que nos llevó construir la demostración por nuestra cuenta, determinamos que era definitivamente más manejable cuando teníamos recursos y la capacidad de tomar decisiones rápidas dentro de nuestra organización.
¿Qué tuvimos que hacer para crear nuestro ser humano digital?
Empezamos reuniendo a un equipo de nuestros expertos internos en IA y a nuestros expertos en el mercado minorista para decidir qué caso de uso queríamos mostrar y qué mensaje queríamos transmitir, tal y como se ha comentado anteriormente.
A continuación, documentamos los requisitos y creamos un calendario propuesto para desarrollar, probar y solucionar un prototipo. También planeamos repetir uno o más de estos ciclos que serían necesarios para finalizar nuestro humano digital. También necesitábamos asegurarnos de dejar tiempo suficiente para enviar nuestros servidores edge, que alojaban el LLM y la aplicación del humano digital, al evento de la NRF, y montarlo en nuestro stand.
Nos pusimos en marcha para hacerlo realidad una vez que tuvimos nuestros requisitos y un calendario que pensábamos que podíamos cumplir.
Lo que utilizamos para construir nuestro humano digital
Una de nuestras primeras decisiones fue aprovechar nuestra sólida relación con NVIDIA, líder del mercado de herramientas de desarrollo e implementación de IA. Construimos nuestro humano digital basándonos en el Digital Human Blueprint de NVIDIA. Esto aceleró nuestro tiempo de obtención de valor (en nuestro caso, una demostración en funcionamiento) al tiempo que aplicábamos las mejores prácticas de NVIDIA. Además, nos permitió centrarnos en la personalización que diferencia cada demostración, como las características del avatar y la personalización del LLM.
Las herramientas de desarrollo de NVIDIA nos facilitaron la personalización de la parte LLM de la solución utilizando la generación aumentada por recuperación (RAG). RAG es una técnica de IA que combina un modelo de recuperación con un modelo generativo. Recupera información relacionada de una base de datos o un conjunto de documentos y la utiliza para generar respuestas más precisas y contextualmente relevantes. En nuestro proyecto, conectamos un conducto RAG a la información específica de nuestro restaurante para disponer de los últimos detalles sobre sus opciones de comida y bebida, precios, horarios de funcionamiento y otros factores, como las ofertas semanales identificadas. Esto garantizó que nuestros datos estuvieran actualizados y que nuestro humano digital estuviera bien "entrenado".
Lea el Apéndice A para conocer los detalles técnicos de la construcción de nuestro humano digital.
Cumplir los requisitos para que un servidor Edge permita un humano digital
Una de las ventajas que teníamos para desarrollar nuestro humano digital era una cartera preexistente de servidores de borde diseñados para soportar los requisitos de las aplicaciones de IA de borde. Teníamos los siguientes requisitos para el servidor que iba a alojar/ejecutar nuestra demostración de humano digital:
- El pipeline de procesamiento de la GPU para el LLM y el RAG requirió un sistema con dos NVIDIA L40S.
- El sistema front-end tenía que soportar dos NVIDIA L40S y el cálculo de la CPU para apoyar la experiencia del usuario: convertir la voz en texto (de humano a máquina), convertir el texto en voz (de máquina a humano), animar y renderizar el avatar y sincronizar los labios del avatar con lo que están diciendo.
- Cada sistema necesitaba almacenar contenedores de aplicaciones y datos.
- El sistema back-end debía ser capaz de albergar la base de datos para dar soporte a la tubería RAG.
- Un entorno típico de venta al por menor no dispondría de espacio de rack de tamaño completo.
Para cumplir estos requisitos, seleccionamos el sistema Supermicro SYS-221HE-FTNR, que forma parte de nuestra familia de servidores Hyper. Elegimos este servidor específicamente porque:
- Sistema de poca profundidad optimizado para despliegues en el borde donde no se dispone de bastidores de centros de datos
- Sistema de doble procesador capaz de albergar los tipos y cantidades de GPU necesarios para la aceleración de la IA
Una conclusión exitosa
Además de los innumerables visitantes que se acercaron a nuestro stand, también dimos la bienvenida a cinco grupos de visitas organizadas por la NRF. Estos grupos solían estar formados por una docena o más de asistentes a la feria que buscaban una experiencia inmersiva. Supermicro fue seleccionada para ser una parada en esta visita guiada debido a nuestra demostración de una experiencia humana digital.
La demostración resonó muy bien entre los visitantes. Muchos no sólo vieron el valor del caso de uso que estábamos demostrando, sino que también empezaron a hacer una lluvia de ideas sobre cómo podría adaptarse el sistema a sus necesidades empresariales, lo que dio lugar a varias conversaciones estupendas y a reuniones posteriores a la feria.
Apéndice A - Detalles técnicos de la construcción de nuestro ser humano digital
Configuración del sistema
El humano digital consta de dos sistemas: un sistema front-end y un sistema back-end. El sistema front-end se encarga de renderizar al humano digital, mientras que el sistema back-end se encarga de ejecutar el pipeline RAG y alojar los modelos LLM.
Comience por obtener una clave API de NVIDIA para descargar los modelos y las imágenes de contenedor. Puede obtener una clave API accediendo al Catálogo API de NVIDIA. Debería haber una Desarrollar con este Blueprint pero si no aparece, haga clic en el botón Desarrollar con este Blueprint . A continuación, haga clic en el botón Generar clave API y guarde esta clave.
Configuración del sistema frontal
- Instale Ubuntu 24.04 y asegúrese de que todos los paquetes están actualizados.
- Instale el servidor OpenSSH.
- Asegúrese de que el usuario tiene privilegios sudo y puede ejecutar sudo sin contraseña.
Configuración del sistema back-end
- Instale Ubuntu 24.04 y asegúrese de que todos los paquetes están actualizados.
- Instale el servidor OpenSSH.
- Asegúrese de que el usuario tiene privilegios sudo y puede ejecutar sudo sin contraseña.
Genere un par de claves SSH para el usuario y copie la clave pública en el sistema front-end. Esto permitirá al sistema front-end conectarse al sistema back-end sin contraseña. Sustituya
your_email@example.com
con su dirección de correo electrónico real:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Copie la clave pública en el sistema front-end, sustituyendo
<user>
con su nombre de usuario y<frontend_ip_address>
con la dirección IP real del sistema frontal:ssh-copy-id <user>@<frontend_ip_address>
Aprovisionar el sistema Front-end
En el sistema back-end, descargue el script de despliegue clonando el repositorio GitHub de ACE.
git clone https://github.com/NVIDIA/ACE.git
Navegue hasta el directorio de scripts baremetal one-click:
cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
Configure el script de despliegue estableciendo las variables de entorno. Sustituya la información de myconfig.env por los valores reales para esta configuración.
cp config-template-examples/llm-ov-3d-cotrun-1x-stream/my-config.env my-config.env nano my-config.env export OPENAI_API_KEY="<replace-with-openai-api-key>" export NGC_CLI_API_KEY="<replace-with-your-NVIDIA-personal-API-Key>" export NVIDIA_API_KEY="<replace-with-you-NVIDIA-Personal-API-Key>" export APP_HOST_IPV4_ADDR="<replace-with-the-ip-address-of-front-end-system>" export APP_HOST_SSH_USER="<replace-with-the-username-of-front-end-system>" export COTURN_HOST_IPV4_ADDR="<replace-with-the-ip-address-of-front-end-system>" export COTURN_HOST_SSH_USER="<replace-with-the-username-of-front-end-system>"
Copie el archivo de plantilla de configuración y edite los valores para que coincidan con esta configuración.
cp config-template-examples/llm-ov-3d-cotrun-1x-stream/config-template.yml mi-config-template.yml
Ejecute el script de despliegue para aprovisionar el sistema front-end. Esto tardará un poco en completarse, así que sea paciente.
fuente mi-config.env ./envbuild.sh install --component all --config-file ./my-config-template.yml
Verifique que el sistema front-end está en funcionamiento ejecutando el siguiente comando en el sistema front-end:
kubectl get pods -n app
Aprovisionar los modelos RAG Pipeline y LLM
En el sistema back-end, realice los siguientes pasos para aprovisionar los modelos RAG pipeline y LLM:
- Instale Docker y Docker Compose.
- Instale los últimos controladores NVIDIA.
- Instale y configure el NVIDIA Container Toolkit.
- Siga las instrucciones aquí https://github.com/NVIDIA-AI-Blueprints/rag para el despliegue mediante Docker Compose.
Sustituya el NIM utilizado por el de Llama 3.1 8B. - En el sistema front-end, siga las instrucciones que aparecen aquí para personalizar el punto final RAG de Digital Human:
https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization