Construire un humain numérique IA - Montrer comment capter l'attention d'un client
Alors que nous préparions le design et le contenu de notre stand Supermicro pour le National Retail Federation's (NRF) Big Show en janvier 2025, nous savions que nous voulions avoir une démonstration d'un humain numérique capable d'interpréter les questions d'un visiteur de notre stand et de lui fournir des réponses détaillées. Plus important encore, nous savions que la démonstration devait être hébergée localement afin de garantir qu'une conversation entre un humain et un humain numérique se déroulerait dans les paramètres de latence normaux (50 à 100 ms) attendus lors d'une conversation avec un autre humain.
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
Notre désir de créer une démonstration d'humain numérique pour le NRF Big Show de 2025 n'était pas la première expérience de Supermicroen matière de création d'un humain numérique. Nous avions déjà travaillé avec deux partenaires ISV pour créer un humain numérique capable de répondre à des questions de recommandation de produits pour le portefeuille de produits de Supermicro. En fait, il s'agit de l'une des deux démonstrations d'humain numérique que nous avons présentées lors de l'événement Mobile World Congress 2024 à Barcelone, en Espagne.
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.
Pour répondre à ces exigences, nous avons choisi le système Supermicro SYS-221HE-FTNR, qui fait partie de notre famille de serveurs Hyper. Nous avons choisi ce serveur en particulier pour les raisons suivantes Nous avons choisi ce serveur pour les raisons suivantes
- 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
Outre les innombrables visiteurs qui sont venus à notre stand, nous avons également accueilli cinq groupes de visiteurs organisés par la NRF. Ces groupes se composent généralement d'une douzaine ou plus de participants au salon à la recherche d'une expérience immersive. Supermicro a été choisi pour faire partie de cette visite guidée en raison de notre démonstration d'une expérience humaine numérique.
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
- Installez Ubuntu 24.04 et assurez-vous que tous les paquets sont à jour.
- Installer le serveur OpenSSH.
- 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
- Installez Ubuntu 24.04 et assurez-vous que tous les paquets sont à jour.
- Installer le serveur OpenSSH.
- Assurez-vous que l'utilisateur dispose des privilèges sudo et qu'il peut exécuter sudo sans mot de passe.
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.comavec votre adresse électronique réelle :ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
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
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
Naviguez jusqu'au répertoire du script baremetal one-click :
cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
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>"
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
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
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 :
- Installer Docker et Docker Compose.
- Installez les derniers pilotes NVIDIA.
- Installez et configurez le NVIDIA Container Toolkit.
- 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. - 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
