Zum Hauptinhalt springen

Der Aufbau eines KI Digital Human - Wie man die Aufmerksamkeit eines Kunden erregt

Die Lösung, die Supermicro innerhalb von 2 Wochen für die NRF Big Show 2025 entwickelt hat

Als wir das Design und die Inhalte unseres Supermicro für die National Retail Federation's (NRF) Big Show im Januar 2025 vorbereiteten, wussten wir, dass wir eine Demonstration eines digitalen Menschen haben wollten, der in der Lage war, die Fragen eines Besuchers unseres Standes zu interpretieren und detaillierte Antworten zu geben. Wir wussten, dass die Demonstration lokal gehostet werden musste, um sicherzustellen, dass ein Gespräch zwischen einem Menschen und einem digitalen Menschen innerhalb der normalen Latenzzeit (50 - 100 ms) abläuft, die man bei einem Gespräch mit einem anderen Menschen erwartet.

In diesem Artikel erfahren Sie, warum wir uns für einen digitalen Menschen entschieden haben, mit welchen Herausforderungen wir konfrontiert waren und wie wir sie in nur zwei Wochen gemeistert haben, und wie die Menschen, die mit unserem digitalen Menschen interagiert haben, uns aufgenommen haben.

Die Geschichte, die wir erzählen wollten

Angesichts unserer Entscheidung, auf der NRF Big Show eine Anwendung für den digitalen Menschen vorzustellen, wollten wir eine fesselnde Geschichte im Kontext eines Einzelhandelsumfelds auswählen. Außerdem wollten wir ein reales Beispiel wählen, das den inhärenten Wert eines digitalen Menschen zeigt. Der Anwendungsfall, für den wir uns entschieden haben, war ein digitaler Mensch, der in natürlicher Sprache auf Fragen zu Menüoptionen in einem Restaurant antwortet.

Dieser Anwendungsfall mag zwar einfach erscheinen, aber er gab uns die Möglichkeit, drei verschiedenen Zielgruppen, die an unserem Stand vorbeikommen konnten, eine Geschichte zu erzählen. Diese Zielgruppen können wie folgt beschrieben werden:

  • Ein Restaurantleiter/Besitzer. Unser Ziel für diese Persona ist es, ihr eine Anwendung zu zeigen, die leicht eingesetzt werden kann und einen Mehrwert für ihr Unternehmen bietet. Ein positives digitales Erlebnis für den Menschen würde die Schwierigkeit verringern, die Mitarbeiter über Änderungen bei der Menüauswahl und den Optionen auf dem Laufenden zu halten. Diese Person weiß, dass die Abwanderung von Mitarbeitern kostspielig ist, und wir können ihr zeigen, dass es möglich ist, einen digitalen Menschen zu haben, der die Erfahrung ihrer Kunden zu einem Kostenpunkt bereichert, der ihrem Unternehmen Geld spart.
  • Ein Technologe. Diese Person würde wissen wollen, wie wir unseren digitalen Menschen erschaffen haben, welche Herausforderungen wir hatten und wie wir sie gemeistert haben. Wir wollen zeigen, wie die Schaffung eines digitalen Menschen in der Realität abläuft und warum dies eine nachahmenswerte Möglichkeit ist.
  • Ein Verbraucher. Dies wäre jemand, der ein Verbraucher von Restaurantdienstleistungen ist, so dass praktisch jeder, der die Demonstration sieht, diese Definition erfüllt. Diese Person würde den digitalen Menschen nach der Benutzerfreundlichkeit, der Genauigkeit seiner Antworten und letztlich der Glaubwürdigkeit seiner Interaktionen beurteilen. Unser Ziel ist es, zu zeigen, wie einfach es wäre, einen digitalen Menschen in seinem Alltag zu benutzen.

Nicht unsere erste KI Digital Human Experience

Unser Wunsch, eine digitale menschliche Demonstration für die NRF Big Show 2025 zu erstellen, war nicht Supermicroerste Erfahrung mit der Erstellung eines digitalen Menschen. Wir haben bereits mit zwei ISV-Partnern zusammengearbeitet, um einen digitalen Menschen zu schaffen, der in der Lage ist, Fragen zu Produktempfehlungen für das Produktportfolio von Supermicrozu beantworten. Tatsächlich war dies eine von zwei Demonstrationen eines digitalen Menschen, die wir auf dem Mobile World Congress 2024 in Barcelona, Spanien, gezeigt haben.

Diese erste Erfahrung war zwar positiv, vor allem, weil wir die Echtzeit-Interaktionen der Menschen mit unserem digitalen Menschen gesehen haben, aber es war auch viel Koordinationsarbeit nötig, vor allem, weil drei Parteien beteiligt waren, um das Ganze zu realisieren. Dieses Mal haben wir beschlossen, die gesamte Arbeit selbst zu übernehmen. Bei der Prüfung des Zeit- und Energieaufwands für die Erstellung der Demonstration stellten wir fest, dass es definitiv leichter zu bewältigen war, wenn wir über Ressourcen verfügten und in der Lage waren, innerhalb unserer Organisation schnelle Entscheidungen zu treffen.

Was mussten wir tun, um unseren digitalen Menschen zu schaffen?

Wir begannen damit, ein Team aus unseren internen KI und unseren Experten für den Einzelhandelsmarkt zusammenzubringen, um zu entscheiden, welchen Anwendungsfall wir präsentieren und welche Botschaft wir vermitteln wollten (siehe oben).

Als Nächstes dokumentierten wir die Anforderungen und erstellten einen Zeitplan für die Entwicklung, Prüfung und Fehlerbehebung eines Prototyps. Wir planten auch, einen oder mehrere dieser Zyklen zu wiederholen, die für die Fertigstellung unseres digitalen Menschen erforderlich sein würden. Wir mussten auch genügend Zeit einplanen, um unsere Edge-Server, auf denen das LLM und die Digital Human-Anwendung gehostet wurden, zur NRF-Veranstaltung zu schicken und an unserem Stand einzurichten.

Sobald wir unsere Anforderungen und einen Zeitplan hatten, von dem wir glaubten, ihn einhalten zu können, machten wir uns daran, ihn umzusetzen.

Was wir zum Aufbau unseres digitalen Menschen verwendet haben

Eine unserer ersten Entscheidungen war es, unsere enge Beziehung zu NVIDIA zu nutzen, einem Marktführer für KI und Implementierungstools. Wir haben unseren digitalen Menschen auf der Grundlage des Digital Human Blueprint von NVIDIA entwickelt. Dadurch konnten wir die Zeit bis zur Wertschöpfung (in unserem Fall eine funktionierende Demonstration) verkürzen und gleichzeitig die Best Practices von NVIDIA umsetzen. Darüber hinaus konnten wir uns auf die Anpassungen konzentrieren, die jede Demonstration auszeichnen, wie z. B. die Avatareigenschaften und die LLM-Anpassung.

Die Entwicklungstools von NVIDIA machten es uns leicht, den LLM-Teil der Lösung mit Retrieval-Augmented Generation (RAG) anzupassen. RAG ist eine KI , die ein Retrieval-Modell mit einem generativen Modell kombiniert. Es ruft verwandte Informationen aus einer Datenbank oder einem Dokumentensatz ab und verwendet diese, um genauere und kontextuell relevante Antworten zu generieren. In unserem Projekt haben wir eine RAG-Pipeline mit den spezifischen Informationen unseres Restaurants verbunden, um die neuesten Details über die Speisen- und Getränkeauswahl, die Preise, die Öffnungszeiten und andere Faktoren, wie z. B. die wöchentlichen Sonderangebote, zu erhalten. So konnten wir sicherstellen, dass unsere Daten auf dem neuesten Stand waren und unser digitales Personal gut "trainiert" war.

Bitte lesen Sie Anhang A für die technischen Details zum Aufbau unseres digitalen Menschen.

Erfüllung der Anforderungen an einen Edge-Server zur Ermöglichung eines digitalen Menschen

Einer der Vorteile, die wir bei der Entwicklung unseres digitalen Menschen hatten, war ein bereits vorhandenes Portfolio von Edge-Servern, die für die Anforderungen von KI ausgelegt sind. Wir hatten die folgenden Anforderungen an den Server, auf dem unsere digitale Menschendemonstration laufen sollte:

  • Die GPU-Verarbeitungspipeline für LLM und RAG erforderte ein System mit zwei NVIDIA L40S.
  • Das Front-End-System musste zwei NVIDIA L40S und CPU-Computing unterstützen, um das Benutzererlebnis zu unterstützen: Konvertierung von Sprache in Text (Mensch zu Maschine), Konvertierung von Text in Sprache (Maschine zu Mensch), Animation und Rendering des Avatars und Synchronisierung der Lippen des Avatars mit dem, was er sagt.
  • Jedes System musste Anwendungscontainer und Daten speichern.
  • Das Back-End-System musste in der Lage sein, die Datenbank zur Unterstützung der RAG-Pipeline zu hosten.
  • In einer typischen Einzelhandelsumgebung gibt es keinen Platz für Regale in voller Größe.

Um diese Anforderungen zu erfüllen, haben wir uns für das Supermicro SYS-221HE-FTNR-System entschieden, das zu unserer Hyper gehört. Wir haben uns speziell für diesen Server entschieden, weil er:

  • System mit geringer Tiefe, das für den Einsatz in Randbereichen optimiert ist, in denen keine Racks in Rechenzentren verfügbar sind
  • Dual-Prozessor-System, das die für die KI erforderlichen Arten und Mengen von GPUs aufnehmen kann

Ein erfolgreicher Abschluss

Neben den zahllosen Besuchern, die unseren Stand aufsuchten, begrüßten wir auch fünf von der NRF organisierte Reisegruppen. Diese Gruppen bestanden in der Regel aus einem Dutzend oder mehr Messebesuchern, die ein intensives Erlebnis suchten. Supermicro wurde für diese geführte Tour ausgewählt, weil wir eine digitale menschliche Erfahrung demonstrieren.

Die Vorführung kam bei den Besuchern sehr gut an. Viele erkannten nicht nur den Wert des von uns demonstrierten Anwendungsfalls, sondern begannen auch mit einem Brainstorming darüber, wie das System an ihre geschäftlichen Anforderungen angepasst werden könnte, was zu mehreren großartigen Gesprächen und anschließenden Treffen nach der Messe führte.


Anhang A - Technische Details zum Aufbau unseres digitalen Menschen

System einrichten

Der digitale Mensch besteht aus zwei Systemen: einem Front-End-System und einem Back-End-System. Das Front-End-System ist für das Rendering des digitalen Menschen verantwortlich, während das Back-End-System für die Ausführung der RAG-Pipeline und das Hosting der LLM-Modelle zuständig ist.

Besorgen Sie sich zunächst einen NVIDIA-API-Schlüssel, um die Modelle und Container-Images herunterzuladen. Einen API-Schlüssel erhalten Sie über den NVIDIA API-Katalog. Dort sollte ein Entwickeln mit diesem Blueprint Pop-up-Fenster erscheinen, falls nicht, klicken Sie auf die Schaltfläche Mit diesem Blueprint entwickeln Schaltfläche. Klicken Sie dann auf die Schaltfläche API-Schlüssel generieren und speichern Sie diesen Schlüssel.

Einrichtung des Front-End-Systems

  1. Installieren Sie Ubuntu 24.04 und stellen Sie sicher, dass alle Pakete auf dem neuesten Stand sind.
  2. Installieren Sie den OpenSSH-Server.
  3. Stellen Sie sicher, dass der Benutzer über sudo-Rechte verfügt und sudo ohne Passwort ausführen kann.

Backend-Systemeinrichtung

  1. Installieren Sie Ubuntu 24.04 und stellen Sie sicher, dass alle Pakete auf dem neuesten Stand sind.
  2. Installieren Sie den OpenSSH-Server.
  3. Stellen Sie sicher, dass der Benutzer über sudo-Rechte verfügt und sudo ohne Passwort ausführen kann.
  4. Erzeugen Sie ein SSH-Schlüsselpaar für den Benutzer und kopieren Sie den öffentlichen Schlüssel auf das Front-End-System. Dadurch kann sich das Front-End-System ohne Passwort mit dem Back-End-System verbinden. Ersetzen Sie your_email@example.com mit Ihrer tatsächlichen E-Mail-Adresse:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  5. Kopieren Sie den öffentlichen Schlüssel auf das Front-End-System und ersetzen Sie <user> mit Ihrem Benutzernamen und <frontend_ip_address> mit der tatsächlichen IP-Adresse des Front-End-Systems:

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

Bereitstellung des Front-End-Systems

  1. Laden Sie auf dem Back-End-System das Deployment-Skript herunter, indem Sie das ACE GitHub-Repository klonen.

    git clone https://github.com/NVIDIA/ACE.git
  2. Navigieren Sie zum Verzeichnis des Baremetal One-Click-Skripts:

    cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
  3. Konfigurieren Sie das Deployment-Skript, indem Sie die Umgebungsvariablen setzen. Ersetzen Sie die Informationen in der Datei myconfig.env durch die tatsächlichen Werte für diese Einrichtung.

    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. Kopieren Sie die Konfigurationsvorlagendatei und passen Sie die Werte an diese Einrichtung an.

    cp config-template-examples/llm-ov-3d-cotrun-1x-stream/config-template.yml my-config-template.yml
  5. Führen Sie das Bereitstellungsskript aus, um das Front-End-System bereitzustellen. Dies wird einige Zeit in Anspruch nehmen, haben Sie also Geduld.

    Quelle meine-konfig.env
    ./envbuild.sh install --component all --config-file ./my-config-template.yml
  6. Vergewissern Sie sich, dass das Front-End-System betriebsbereit ist, indem Sie den folgenden Befehl auf dem Front-End-System ausführen:

    kubectl get pods -n app

Bereitstellung der RAG-Pipeline und der LLM-Modelle

Führen Sie auf dem Back-End-System die folgenden Schritte aus, um die RAG-Pipeline und LLM-Modelle bereitzustellen:

  1. Installieren Sie Docker und Docker Compose.
  2. Installieren Sie die neuesten NVIDIA-Treiber.
  3. Installieren und konfigurieren Sie das NVIDIA Container Toolkit.
  4. Folgen Sie den Anweisungen hier KI für die Bereitstellung mit Docker Compose.
    Ersetzen Sie die verwendete NIM durch die Llama 3.1 8B.
  5. Befolgen Sie auf dem Front-End-System die Anweisungen hier, um den RAG-Endpunkt von Digital Human anzupassen:
    https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization