AIデジタル・ヒューマンの構築 - 顧客の心をつかむ方法を提示
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.
この記事では、なぜ私たちがデジタルヒューマンのデモを選んだのか、私たちが直面した課題とそれをわずか2週間で克服したこと、そしてデジタルヒューマンに接した人たちからの評判について、裏話を掘り下げます。
私たちが伝えたかった物語
NRFビッグ・ショーでデジタル・ヒューマン・アプリケーションを紹介することを決定した私たちは、小売業という状況において説得力のあるストーリーを選びたかったのです。また、デジタル・ヒューマン本来の価値を示すような実例を選びたかったのです。私たちが紹介することに決めたユースケースは、レストランのメニューオプションに関する自然言語での質問に答えるデジタルヒューマンです。
このユースケースは単純に見えるかもしれませんが、私たちのブースに立ち寄った3つの異なるオーディエンスにストーリーを伝える可能性を与えてくれました。これらのオーディエンスは次のように説明できます:
- レストランのマネージャー/オーナー。このペルソナの目標は、簡単に導入でき、ビジネスに価値をもたらすアプリケーションを紹介することです。積極的なデジタル・ヒューマン・エクスペリエンスによって、メニューの選択肢やオプションの変更について従業員を最新の状態に保つことの難しさが軽減されるでしょう。このペルソナは、従業員の離職にはコストがかかることを知っており、顧客の体験を豊かにするデジタル・ヒューマンを、ビジネスのコストを削減するコストポイントで提供することが可能であることを示すことができます。
- 技術者。そのような人は、私たちがどのようにデジタルヒューマンを作り、どのような課題があり、それをどのように克服したかを知りたがるでしょう。私たちは、デジタル・ヒューマンを作る現実と、なぜそれが再現可能な機会なのかを示すことを目指しています。
- 消費者。これはレストラン・サービスの消費者ということになるので、デモを見た人はほぼ全員この定義に当てはまります。この消費者は、デジタルヒューマンの使いやすさ、答えの正確さ、そして最終的にはそのインタラクションの信憑性で判断します。私たちの目標は、デジタル・ヒューマンを日常生活で使うことがいかに簡単であるかを示すことです。
初めてのAIデジタルヒューマンエクスペリエンス
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.
その最初の経験は、特に私たちのデジタル・ヒューマンと人々がリアルタイムで交流する様子を見ることができ、ポジティブなものでした。今回、私たちはすべての作業を自分たちでやろうと決めました。自分たちだけでデモを構築するのに必要な時間とエネルギーを検討した結果、組織内にリソースと迅速な意思決定ができる能力があれば、間違いなく管理しやすいと判断しました。
デジタルヒューマンを作るために必要なこと
私たちはまず、社内のAIの専門家と小売市場の専門家からなるチームを結成し、どのようなユースケースを紹介し、どのようなメッセージを伝えたいかを決定しました。
次に、要件を文書化し、プロトタイプの開発、テスト、トラブルシューティングのスケジュール案を作成しました。また、デジタルヒューマンを完成させるために必要なこれらのサイクルを1つ以上繰り返す計画も立てました。また、LLMとデジタル・ヒューマン・アプリケーションをホストするエッジ・サーバーをNRFイベントに発送し、ブースに設置するための十分な時間を確保する必要がありました。
私たちの要求と、それに応えられそうなスケジュールが決まれば、実現に向けて走り出しました。
デジタルヒューマンを構築するために使用したもの
AI開発と実装ツールのマーケットリーダーであるエヌビディアとの強力な関係を活用することが、私たちの初期の決断の1つでした。私たちは、NVIDIAのデジタル・ヒューマン・ブループリントに基づいてデジタル・ヒューマンを構築しました。これにより、NVIDIAのベスト・プラクティスを実施しながら、価値(私たちの場合、実用的なデモンストレーション)を得るまでの時間を短縮することができました。さらに、アバターの特性やLLMのカスタマイズなど、各デモンストレーションを差別化するカスタマイズに集中することができました。
NVIDIAの開発ツールのおかげで、検索拡張世代(RAG)を使ってソリューションのLLM部分を簡単にカスタマイズすることができました。RAGは、検索モデルと生成モデルを組み合わせたAI技術です。データベースや文書セットから関連情報を検索し、それを使ってより正確で文脈に関連した応答を生成します。私たちのプロジェクトでは、RAGパイプラインをレストラン固有の情報に接続し、フードやドリンクのオプション、価格、営業時間、週替わりのスペシャルメニューなどの最新情報を入手しました。これにより、データが最新の状態に保たれ、デジタル・ヒューマンが十分に「訓練」されました。
デジタル・ヒューマン構築の技術的な詳細については、付録Aをお読みください。
デジタルヒューマンを実現するエッジサーバーの要件
私たちがデジタルヒューマンを開発する上で有利だったのは、エッジAIアプリケーションの要件をサポートするように設計されたエッジサーバーの既存のポートフォリオでした。デジタルヒューマンのデモをホスト/実行するサーバーには、次のような要件がありました:
- LLMとRAGのGPU処理パイプラインには、2つのNVIDIA L40Sを搭載したシステムが必要でした。
- フロントエンドシステムは、2つのNVIDIA L40Sと、ユーザー体験をサポートするCPUコンピューティングをサポートする必要がありました:スピーチからテキストへの変換(人間から機械へ)、テキストからスピーチへの変換(機械から人間へ)、アバターのアニメーションとレンダリング、アバターの唇と話していることの同期。
- 各システムは、アプリケーション・コンテナとデータを保存する必要がありました。
- バックエンドシステムは、RAGパイプラインをサポートするデータベースをホストできる必要がありました。
- 一般的な小売店では、フルサイズのラックスペースはありません。
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:
- データセンター・ラックが利用できないエッジ展開に最適な奥行きの短いシステム
- AIアクセラレーションに必要なGPUの種類と数を保持できるデュアル・プロセッサー・システム
成功の結論
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.
デモは来場者の共感を呼びました。多くの来場者は、私たちが実演したユースケースの価値を理解しただけでなく、このシステムをどのように自社のビジネスニーズに適応させることができるかについてブレインストーミングを始め、素晴らしい会話や、展示会後のミーティングにつながりました。
付録A - デジタル・ヒューマン構築の技術的詳細
システム設定
デジタルヒューマンは、フロントエンドシステムとバックエンドシステムの2つのシステムで構成されています。フロントエンドシステムはデジタルヒューマンのレンダリングを担当し、バックエンドシステムはRAGパイプラインの実行とLLMモデルのホスティングを担当します。
モデルとコンテナイメージをダウンロードするために、NVIDIA API キーを取得することから始めます。API キーは、NVIDIA API カタログで取得できます。そこには このブループリントで開発ポップアップが表示されるはずですが、表示されない場合は このブループリントで開発ボタンをクリックします。次に API キーの生成ボタンをクリックし、このキーを保存します。
フロントエンドシステムのセットアップ
- Ubuntu 24.04をインストールし、すべてのパッケージが最新であることを確認します。
- OpenSSHサーバーをインストールします。
- ユーザーがsudo権限を持っていて、パスワードなしでsudoを実行できることを確認してください。
バックエンドシステムのセットアップ
- Ubuntu 24.04をインストールし、すべてのパッケージが最新であることを確認してください。
- OpenSSHサーバーをインストールします。
- ユーザーがsudo権限を持っていて、パスワードなしでsudoを実行できることを確認してください。
ユーザーの SSH 鍵ペアを生成し、公開鍵をフロントエンドシステムにコピーします。これにより、フロントエンドシステムはパスワードなしでバックエンドシステムに接続できるようになります。置換
your_email@example.comを実際のメールアドレスで入力してください:ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
公開鍵をフロントエンド・システムにコピーします。
<user>ユーザー名と<frontend_ip_address>をフロントエンド・システムの実際のIPアドレスに置き換えてください:ssh-copy-id <user>@<frontend_ip_address>
フロントエンドシステムのプロビジョニング
バックエンドシステムで、ACE GitHubリポジトリをクローンしてデプロイスクリプトをダウンロードします。
git clone https://github.com/NVIDIA/ACE.git
ベアメタルワンクリックスクリプトのディレクトリに移動します:
cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
環境変数を設定してデプロイ スクリプトを構成します。myconfig.envの情報を、このセットアップの実際の値に置き換えます。
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>"
設定テンプレートファイルをコピーし、この設定に合うように値を編集します。
cp config-template-examples/llm-ov-3d-cotrun-1x-stream/config-template.yml my-config-template.yml
デプロイスクリプトを実行して、フロントエンドシステムをプロビジョニングします。これにはしばらく時間がかかるので、気長に待ちましょう。
ソース my-config.env ./envbuild.sh install --component all --config-file ./my-config-template.yml
フロントエンドシステムで以下のコマンドを実行して、フロントエンドシステムが稼働していることを確認します:
kubectl get pods -n app
RAGパイプラインとLLMモデルの提供
バックエンドシステムで、以下の手順を実行して、RAGパイプラインとLLMモデルをプロビジョニングします:
- DockerとDocker Composeをインストールします。
- 最新のNVIDIAドライバをインストールしてください。
- NVIDIA Container Toolkitをインストールして設定します。
- https://github.com/NVIDIA-AI-Blueprints/ragDocker Composeを使用したデプロイについては、こちらの指示に従ってください。
使用するNIMをLlama 3.1 8Bのものに置き換えます。 - フロントエンドシステムでは、こちらの手順に従ってDigital HumanのRAGエンドポイントをカスタマイズしてください:
https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization
