Aller au contenu principal

Construire un humain numérique IA - Montrer comment capter l'attention d'un client

La solution Supermicro en deux semaines pour le salon NRF Big Show 2025

As we prepared our Supermicro booth design and content for the National Retail Federation’s (NRF) Big Show in January 2025, we knew we wanted to have a demonstration of a digital human that was capable of interpreting questions from a visitor to our booth and providing detailed responses. Importantly, we knew the demonstration needed to be hosted locally to ensure a conversation between a human and a digital human would occur within the normal latency parameters (50 – 100ms) expected when talking to another human.

Cet article explique pourquoi nous avons choisi de présenter un humain numérique, les défis auxquels nous avons été confrontés et que nous avons surmontés en seulement deux semaines, ainsi que l'accueil réservé par les personnes qui ont interagi avec notre humain numérique.

L'histoire que nous voulions raconter

Étant donné notre décision de présenter une application de l'humain numérique au NRF Big Show, nous voulions choisir une histoire convaincante dans le contexte de la vente au détail. Nous voulions également choisir un exemple concret qui montrerait la valeur inhérente d'un humain numérique. Le cas d'utilisation que nous avons décidé de présenter était un humain numérique qui répondrait à des questions en langage naturel sur les options du menu dans un restaurant.

Ce cas d'utilisation peut paraître simple, mais il nous a permis de raconter une histoire à trois publics différents susceptibles de venir à notre stand. Ces publics peuvent être décrits comme suit :

  • Un gérant/propriétaire de restaurant. Notre objectif pour ce persona est de lui présenter une application qui pourrait facilement être déployée et apporter de la valeur à son entreprise. Une expérience humaine numérique positive réduirait la difficulté de tenir les employés au courant des changements apportés aux choix et aux options du menu. Cette personne sait que la perte d'employés est coûteuse et qu'il est possible de montrer qu'il est possible d'avoir un humain numérique qui enrichit l'expérience de ses clients à un coût qui permet à l'entreprise d'économiser de l'argent.
  • Un technologue. Cette personne voudrait savoir comment nous avons créé notre humain numérique, quels ont été nos défis et comment nous les avons surmontés. Notre objectif est de montrer la réalité de la création d'un humain numérique et pourquoi il s'agit d'une opportunité à reproduire.
  • Un consommateur. Il s'agirait d'un consommateur de services de restauration, de sorte que pratiquement toutes les personnes qui verront la démonstration répondront à cette définition. Cette personne jugera l'humain numérique sur sa facilité d'utilisation, la précision de ses réponses et, en fin de compte, la crédibilité de ses interactions. Notre objectif est de montrer à quel point il serait simple d'utiliser un humain numérique dans la vie de tous les jours.

Ce n'est pas notre première expérience humaine numérique de l'IA

Our desire to build a digital human demonstration for the 2025 NRF Big Show was not Supermicro’s first experience with creating a digital human. We previously worked with two ISV partners to create a digital human capable of answering product recommendation questions for Supermicro’s product portfolio. In fact, this was one of two digital human demonstrations we showed at the 2024 Mobile World Congress event in Barcelona, Spain.

Si cette première expérience a été positive, notamment en raison des interactions en temps réel entre les gens et notre humain numérique, elle a nécessité beaucoup de travail de coordination, en particulier avec trois parties impliquées dans la réalisation du projet. Cette fois-ci, nous avons décidé de faire tout le travail nous-mêmes. En examinant le temps et l'énergie nécessaires à la réalisation de la démonstration par nos propres moyens, nous avons constaté qu'il était nettement plus facile de la gérer lorsque nous disposions de ressources et de la capacité de prendre des décisions rapides au sein de notre organisation.

Que devions-nous faire pour créer notre humain numérique ?

Nous avons commencé par réunir une équipe composée de nos experts internes en IA et de nos experts du marché de la vente au détail afin de déterminer le cas d'utilisation que nous souhaitions présenter et le message que nous voulions faire passer, comme nous l'avons vu plus haut.

Ensuite, nous avons documenté les exigences et créé un calendrier proposé pour développer, tester et dépanner un prototype. Nous avons également prévu de répéter un ou plusieurs de ces cycles qui seraient nécessaires pour finaliser notre humain numérique. Nous devions également nous assurer de laisser suffisamment de temps pour expédier nos serveurs périphériques, qui hébergeaient le LLM et l'application de l'homme numérique, à l'événement NRF, et pour les installer sur notre stand.

Nous nous sommes mis à l'œuvre dès que nous avons eu connaissance de nos exigences et d'un calendrier que nous pensions pouvoir respecter.

Ce que nous avons utilisé pour construire notre humain numérique

L'une de nos premières décisions a été de tirer parti de notre solide relation avec NVIDIA, leader du marché des outils de développement et de mise en œuvre de l'IA. Nous avons construit notre humain numérique sur la base du Digital Human Blueprint de NVIDIA. Cela nous a permis d'accélérer la création de valeur (dans notre cas, une démonstration fonctionnelle) tout en mettant en œuvre les meilleures pratiques de NVIDIA. En outre, cela nous a permis de nous concentrer sur la personnalisation qui différencie chaque démonstration, comme les caractéristiques de l'avatar et la personnalisation du LLM.

Les outils de développement de NVIDIA nous ont permis de personnaliser facilement la partie LLM de la solution en utilisant la génération augmentée par la recherche (RAG). La RAG est une technique d'IA qui associe un modèle de recherche à un modèle génératif. Elle extrait des informations connexes d'une base de données ou d'un ensemble de documents et les utilise pour générer des réponses plus précises et plus pertinentes sur le plan contextuel. Dans notre projet, nous avons connecté un pipeline RAG aux informations spécifiques de notre restaurant afin d'obtenir les derniers détails sur les plats et les boissons proposés, les prix, les heures d'ouverture et d'autres facteurs, tels que les plats du jour de la semaine. Cela nous a permis de nous assurer que nos données étaient à jour et que notre humain numérique était bien "formé".

Veuillez lire l'annexe A pour les détails techniques de la construction de notre humain numérique.

Répondre aux exigences d'un serveur Edge pour permettre à l'homme numérique de s'épanouir

L'un des avantages dont nous disposions pour développer notre humain numérique était un portefeuille préexistant de serveurs de périphérie conçus pour répondre aux exigences des applications d'IA de périphérie. Nous avions les exigences suivantes pour le serveur qui allait héberger/exécuter notre démonstration d'humain numérique :

  • Le pipeline de traitement GPU pour le LLM et le RAG a nécessité un système avec deux NVIDIA L40S.
  • Le système frontal devait prendre en charge deux NVIDIA L40S et le calcul du CPU pour soutenir l'expérience de l'utilisateur : conversion de la parole en texte (d'humain à machine), conversion du texte en parole (de machine à humain), animation et rendu de l'avatar, et synchronisation des lèvres de l'avatar avec ce qu'il dit.
  • Chaque système doit stocker des conteneurs d'application et des données.
  • Le système dorsal devait être en mesure d'héberger la base de données nécessaire au fonctionnement de la filière RAG.
  • Un environnement de vente au détail typique ne dispose pas d'un espace de rack de taille normale.

To meet these requirements, we selected the Supermicro SYS-221HE-FTNR system, which is part of our Hyper-E family of servers. We chose this server specifically because it:

  • Système à faible profondeur optimisé pour les déploiements en périphérie où les baies des centres de données ne sont pas disponibles
  • Système bi-processeur capable de contenir les types et quantités de GPU nécessaires à l'accélération de l'IA

Une conclusion réussie

Besides the countless visitors who came to our booth, we also welcomed five tour groups hosted by NRF. These groups typically consisted of a dozen or more show attendees looking for an immersive experience. Supermicro was selected to be a stop on this guided tour because of our demonstration of a digital human experience.

La démonstration a été très bien accueillie par les visiteurs. Nombre d'entre eux ont non seulement compris la valeur du cas d'utilisation que nous leur présentions, mais ont également commencé à réfléchir à la manière dont le système pourrait être adapté à leurs besoins professionnels, ce qui a donné lieu à plusieurs conversations intéressantes et à des réunions ultérieures après l'exposition.


Annexe A - Détails techniques de la construction de notre humain numérique

Configuration du système

L'homme numérique se compose de deux systèmes : un système frontal et un système dorsal. Le système frontal est responsable du rendu de l'homme numérique, tandis que le système dorsal est responsable de l'exécution du pipeline RAG et de l'hébergement des modèles LLM.

Commencez par obtenir une clé API NVIDIA pour télécharger les modèles et les images de conteneurs. Vous pouvez obtenir une clé API en vous rendant sur le catalogue API de NVIDIA. Il devrait y avoir une clé d'API NVIDIA. Développer avec ce Blueprint mais si ce n'est pas le cas, cliquez sur le bouton Développer avec ce Blueprint sur le bouton Développer avec ce Blueprint. Cliquez ensuite sur le bouton Générer une clé API et enregistrez cette clé.

Configuration du système frontal

  1. Installez Ubuntu 24.04 et assurez-vous que tous les paquets sont à jour.
  2. Installer le serveur OpenSSH.
  3. Assurez-vous que l'utilisateur dispose des privilèges sudo et qu'il peut exécuter sudo sans mot de passe.

Configuration du système dorsal

  1. Installez Ubuntu 24.04 et assurez-vous que tous les paquets sont à jour.
  2. Installer le serveur OpenSSH.
  3. Assurez-vous que l'utilisateur dispose des privilèges sudo et qu'il peut exécuter sudo sans mot de passe.
  4. Générez une paire de clés SSH pour l'utilisateur et copiez la clé publique sur le système frontal. Cela permettra au système frontal de se connecter au système dorsal sans mot de passe. Remplacer your_email@example.com avec votre adresse électronique réelle :

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  5. Copier la clé publique dans le système frontal, en remplaçant <user> avec votre nom d'utilisateur et <frontend_ip_address> avec l'adresse IP réelle du système frontal :

    ssh-copy-id <user>@<frontend_ip_address>

Approvisionnement du système frontal

  1. Sur le système dorsal, téléchargez le script de déploiement en clonant le dépôt ACE GitHub.

    git clone https://github.com/NVIDIA/ACE.git
  2. Naviguez jusqu'au répertoire du script baremetal one-click :

    cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
  3. Configurez le script de déploiement en définissant les variables d'environnement. Remplacez les informations contenues dans le fichier myconfig.env par les valeurs réelles pour cette configuration.

    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>"
  4. Copiez le fichier modèle de configuration et modifiez les valeurs pour qu'elles correspondent à cette configuration.

    cp config-template-examples/llm-ov-3d-cotrun-1x-stream/config-template.yml my-config-template.yml
  5. Exécutez le script de déploiement pour approvisionner le système frontal. Cela prendra un certain temps, soyez patient.

    source my-config.env
    ./envbuild.sh install --component all --config-file ./my-config-template.yml
  6. Vérifiez que le système frontal est opérationnel en exécutant la commande suivante sur le système frontal :

    kubectl get pods -n app

Mise à disposition des modèles RAG Pipeline et LLM

Sur le système back-end, procédez comme suit pour approvisionner le pipeline RAG et les modèles LLM :

  1. Installer Docker et Docker Compose.
  2. Installez les derniers pilotes NVIDIA.
  3. Installez et configurez le NVIDIA Container Toolkit.
  4. Suivez les instructions ici https://github.com/NVIDIA-AI-Blueprints/rag pour le déploiement en utilisant Docker Compose.
    Remplacez le NIM utilisé par celui de Llama 3.1 8B.
  5. Sur le système frontal, suivez les instructions ici pour personnaliser le point de terminaison RAG de Digital Human :
    https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization