AIデジタルヒューマンの構築 – 顧客の注目を集める方法を示す
私たちが準備しているSupermicro 2025年1月に開催される全米小売業協会(NRF)のビッグショーのブースデザインとコンテンツ制作にあたり、ブースを訪れたお客様からの質問を解釈し、詳細な回答を提供するデジタルヒューマンのデモンストレーションを実施したいと考えていました。さらに重要なのは、人間とデジタルヒューマン間の会話が、人間同士の会話で想定される通常の遅延時間(50~100ミリ秒)の範囲内で行われるよう、デモンストレーションをローカル環境でホストする必要があることでした。
この記事では、私たちがデジタルヒューマンのデモンストレーションを行うことを選んだ背景、わずか2週間で直面し克服した課題、そしてデジタルヒューマンと交流した人々からの反応について詳しく解説します。
私たちが伝えたかった物語
NRF Big Showでデジタルヒューマンのアプリケーションを展示することにした私たちは、小売業の現場を舞台にした魅力的な事例を選びたいと考えました。また、デジタルヒューマンの持つ本来の価値を示すような、現実世界の事例を選びたいとも考えました。そこで、レストランのメニューに関する自然言語での質問にデジタルヒューマンが答えるというユースケースを展示することにしました。
このユースケースは一見シンプルに見えるかもしれませんが、ブースに立ち寄る可能性のある3つの異なる層のオーディエンスにストーリーを伝える可能性を秘めていました。これらのオーディエンスは、以下のように説明できます。
- レストランのマネージャー/オーナー。このペルソナに対する私たちの目標は、簡単に導入でき、ビジネスに価値をもたらすアプリケーションを紹介することです。ポジティブなデジタルヒューマン体験は、メニューの選択肢やオプションの変更について従業員に最新情報を伝えるという難しさを軽減します。この人物は、従業員の離職がコスト増につながることを理解しており、コストを抑えながら顧客体験を向上させるデジタルヒューマンを実現できることを示すことができれば、大きなメリットを得られるでしょう。
- 技術者。この人は、私たちがどのようにデジタルヒューマンを作成したのか、どのような課題に直面し、どのように克服したのかを知りたいと思うでしょう。私たちは、デジタルヒューマン作成の現実と、それがなぜ再現可能な機会なのかを示すことを目指しています。
- 消費者。これはレストランサービスを利用する人のことであり、デモを見る人はほぼ全員がこの定義に当てはまります。この消費者は、使いやすさ、回答の正確さ、そして最終的には対話の信憑性に基づいて、デジタルヒューマンを評価します。私たちの目標は、デジタルヒューマンを日常生活でいかに簡単に利用できるかを示すことです。
これは、私たちが初めて体験したAIデジタルヒューマン体験ではありません。
2025年のNRFビッグショーに向けてデジタルヒューマンのデモンストレーションを構築したいという私たちの願望はSupermicroデジタルヒューマンの作成は今回が初めてです。以前、2社のISVパートナーと協力して、製品推奨の質問に答えることができるデジタルヒューマンを作成しました。 Supermicro当社の製品ポートフォリオの一つです。実際、これはスペインのバルセロナで開催された2024年モバイル・ワールド・コングレスで当社が披露した2つのデジタルヒューマンのデモンストレーションのうちの1つでした。
最初の試みは、特に人々が私たちのデジタルヒューマンとリアルタイムでやり取りする様子を見ることができた点で、非常に良い経験となりました。しかし、実現には多くの調整作業が必要で、特に3つの組織が関わっていたため、なおさらでした。今回は、すべての作業を自分たちで行うことにしました。自分たちだけでデモンストレーションを構築するために要した時間と労力を検証した結果、組織内にリソースがあり、迅速な意思決定ができる体制が整っている方が、はるかに管理しやすいと判断しました。
デジタルヒューマンを作成するために、私たちは何をする必要があったのか
まず、社内のAI専門家と小売市場の専門家からなるチームを結成し、上記で述べたように、どのようなユースケースを紹介し、どのようなメッセージを伝えたいかを決定することから始めました。
次に、要件を文書化し、プロトタイプの開発、テスト、トラブルシューティングを行うためのタイムライン案を作成しました。また、デジタルヒューマンを完成させるために必要なこれらのサイクルを1回以上繰り返すことも計画しました。さらに、LLMとデジタルヒューマンアプリケーションをホストするエッジサーバーをNRFイベント会場に発送し、ブースに設置するのに十分な時間を確保する必要もありました。
必要な要件と、達成可能と思われるスケジュールが確定すると、私たちはすぐに実現に向けて動き出しました。
デジタルヒューマンの構築に使用したツール
初期の決定事項の一つは、AI開発および実装ツールの市場リーダーであるNVIDIAとの強固な関係を活用することでした。私たちはNVIDIAのデジタルヒューマンをベースにデジタルヒューマンを構築しました。 Blueprintこれにより、NVIDIAのベストプラクティスを導入しながら、価値実現までの時間(私たちの場合は、動作するデモの完成)を短縮することができました。さらに、アバターの特性やLLMのカスタマイズなど、各デモを差別化するカスタマイズに注力することができました。
NVIDIAの開発ツールのおかげで、検索拡張生成(RAG)を用いてソリューションのLLM部分を簡単にカスタマイズすることができました。RAGは、検索モデルと生成モデルを組み合わせたAI技術です。データベースやドキュメントセットから関連情報を取得し、それを用いてより正確で文脈に沿った応答を生成します。今回のプロジェクトでは、RAGパイプラインをレストラン固有の情報に接続し、料理や飲み物のメニュー、価格、営業時間、週替わりスペシャルなどの最新情報を取得しました。これにより、データが常に最新の状態に保たれ、デジタルヒューマンが適切に「訓練」されることが保証されました。
デジタルヒューマンの構築に関する技術的な詳細については、付録Aをご覧ください。
デジタルヒューマンを実現するためのエッジサーバーの要件を満たす
デジタルヒューマンの開発において私たちが持っていた利点の1つは、要件をサポートするように設計されたエッジサーバーの既存のポートフォリオでした。エッジAI アプリケーション。デジタルヒューマンのデモンストレーションをホスト/実行するサーバーには、以下の要件がありました。
- LLMとRAGのGPU処理パイプラインには、2基のNVIDIA L40を搭載したシステムが必要だった。
- フロントエンドシステムは、ユーザーエクスペリエンスをサポートするために、2台のNVIDIA L40SとCPUコンピューティングをサポートする必要がありました。具体的には、音声からテキストへの変換(人間から機械への変換)、テキストから音声への変換(機械から人間への変換)、アバターのアニメーションとレンダリング、そしてアバターの唇の動きと発言内容の同期などです。
- 各システムは、アプリケーションコンテナとデータを保存する必要があった。
- バックエンドシステムは、RAGパイプラインをサポートするためのデータベースをホストできる必要があった。
- 一般的な小売店では、フルサイズの陳列棚は設置されていないだろう。
これらの要件を満たすために、私たちはSupermicro SYS-221HE-FTNRシステムは、当社のHyper -Eファミリーのサーバー。このサーバーを選んだ理由は特に以下のとおりです。
- データセンターラックが利用できないエッジ環境への導入に最適化された、奥行きの短いシステム
- AIアクセラレーションに必要な種類と数のGPUを搭載可能なデュアルプロセッサシステム
成功裏に終了
ブースには数え切れないほどの来場者が訪れましたが、NRF主催のツアーグループも5組お迎えしました。これらのグループは通常、12名以上の参加者で構成され、より没入感のある体験を求めていました。 Supermicro 私たちがデジタルヒューマン体験を実演したことが評価され、このガイド付きツアーの立ち寄り場所として選ばれました。
このデモンストレーションは来場者から大変好評を博しました。多くの方が、私たちが実演したユースケースの価値を理解しただけでなく、システムを自社のビジネスニーズにどのように適用できるかについてブレインストーミングを始め、それが多くの有意義な会話や、展示会後のミーティングにつながりました。
付録A – デジタルヒューマン構築の技術的詳細
システム設定
デジタルヒューマンは、フロントエンドシステムとバックエンドシステムの2つのシステムで構成されています。フロントエンドシステムはデジタルヒューマンのレンダリングを担当し、バックエンドシステムはRAGパイプラインの実行とLLMモデルのホスティングを担当します。
まず、モデルとコンテナイメージをダウンロードするためのNVIDIA APIキーを取得します。APIキーはNVIDIA APIカタログから取得できます。 「このBlueprintで開発」というポップアップが表示されるはずですが、表示されない場合は「このBlueprintで開発」ボタンをクリックしてください。次に、 「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をインストールして設定します。
- Docker Compose を使用してデプロイするには、こちらの指示に従ってください。https Blueprints //github.com/NVIDIA-AI-Blueprints/rag
使用されているNIMをLlama 3.1 8Bのものと交換してください。 - フロントエンドシステムでは、以下の手順に従ってDigital HumanのRAGエンドポイントをカスタマイズしてください。
https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization
