本文へスキップ

AIデジタル・ヒューマンの構築 - 顧客の心をつかむ方法を提示

Supermicro 2025年NRFビッグショーイベントに向けて2週間でSupermicro ソリューション

2025年1月に開催される全米小売業協会(NRF)の「ビッグショー」Supermicro 準備するにあたり、私たちは、ブースを訪れた来場者からの質問を理解し、詳細な回答を提供できるデジタルヒューマンのデモンストレーションを実施したいと考えていました。 重要な点として、人間とデジタルヒューマンとの会話が、人間同士の会話で想定される通常の遅延範囲(50~100ミリ秒)内で成立するよう、デモはローカルで実行する必要があると考えていました。

この記事では、なぜ私たちがデジタルヒューマンのデモを選んだのか、私たちが直面した課題とそれをわずか2週間で克服したこと、そしてデジタルヒューマンに接した人たちからの評判について、裏話を掘り下げます。

私たちが伝えたかった物語

NRFビッグ・ショーでデジタル・ヒューマン・アプリケーションを紹介することを決定した私たちは、小売業という状況において説得力のあるストーリーを選びたかったのです。また、デジタル・ヒューマン本来の価値を示すような実例を選びたかったのです。私たちが紹介することに決めたユースケースは、レストランのメニューオプションに関する自然言語での質問に答えるデジタルヒューマンです。

このユースケースは単純に見えるかもしれませんが、私たちのブースに立ち寄った3つの異なるオーディエンスにストーリーを伝える可能性を与えてくれました。これらのオーディエンスは次のように説明できます:

  • レストランのマネージャー/オーナー。このペルソナの目標は、簡単に導入でき、ビジネスに価値をもたらすアプリケーションを紹介することです。積極的なデジタル・ヒューマン・エクスペリエンスによって、メニューの選択肢やオプションの変更について従業員を最新の状態に保つことの難しさが軽減されるでしょう。このペルソナは、従業員の離職にはコストがかかることを知っており、顧客の体験を豊かにするデジタル・ヒューマンを、ビジネスのコストを削減するコストポイントで提供することが可能であることを示すことができます。
  • 技術者。そのような人は、私たちがどのようにデジタルヒューマンを作り、どのような課題があり、それをどのように克服したかを知りたがるでしょう。私たちは、デジタル・ヒューマンを作る現実と、なぜそれが再現可能な機会なのかを示すことを目指しています。
  • 消費者。これはレストラン・サービスの消費者ということになるので、デモを見た人はほぼ全員この定義に当てはまります。この消費者は、デジタルヒューマンの使いやすさ、答えの正確さ、そして最終的にはそのインタラクションの信憑性で判断します。私たちの目標は、デジタル・ヒューマンを日常生活で使うことがいかに簡単であるかを示すことです。

初めてのAIデジタルヒューマンエクスペリエンス

2025年のNRFビッグショーに向けてデジタルヒューマンのデモを構築したいという私たちの思いは、Supermicroヒューマン制作の初めての経験ではありませんでした。以前、2社のISVパートナーと協力し、Supermicroポートフォリオに関する製品推奨の質問に回答できるデジタルヒューマンを開発しました。実際、これはスペインのバルセロナで開催された2024年のモバイル・ワールド・コングレスで披露した2つのデジタルヒューマン・デモのうちの1つでした。

その最初の経験は、特に私たちのデジタル・ヒューマンと人々がリアルタイムで交流する様子を見ることができ、ポジティブなものでした。今回、私たちはすべての作業を自分たちでやろうと決めました。自分たちだけでデモを構築するのに必要な時間とエネルギーを検討した結果、組織内にリソースと迅速な意思決定ができる能力があれば、間違いなく管理しやすいと判断しました。

デジタルヒューマンを作るために必要なこと

私たちはまず、社内のAIの専門家と小売市場の専門家からなるチームを結成し、どのようなユースケースを紹介し、どのようなメッセージを伝えたいかを決定しました。

次に、要件を整理し、プロトタイプの開発、テスト、トラブルシューティングを行うためのスケジュール案を作成しました。また、デジタルヒューマンを完成させるために必要となるこれらのサイクルを、1回以上繰り返す計画も立てました。さらに、LLMとデジタルヒューマンアプリケーションをホストするエッジサーバーをNRFイベント会場へ発送し、ブースでの設置作業を行うための十分な時間を確保する必要もありました。

私たちの要求と、それに応えられそうなスケジュールが決まれば、実現に向けて走り出しました。

デジタルヒューマンを構築するために使用したもの

私たちが最初に下した決定の一つは、AI開発および実装ツールの市場をリードするNVIDIAとの強固な関係を活かすことでした。私たちは、NVIDIAの「Digital Human Blueprint」に基づいてデジタルヒューマンを構築しました。これにより、NVIDIAのベストプラクティスを取り入れつつ、価値創出までの期間(当社の場合、動作するデモの実現)を短縮することができました。さらに、アバターの特性やLLMのカスタマイズなど、各デモを差別化するカスタマイズ作業に注力することが可能になりました。

NVIDIAの開発ツールのおかげで、リトリバル・オーグメンテッド・ジェネレーション(RAG)を用いて、ソリューションのLLM部分を容易にカスタマイズすることができました。RAGとは、検索モデルと生成モデルを組み合わせたAI技術です。データベースや文書セットから関連情報を検索し、それを活用して、より正確で文脈に即した応答を生成します。 今回のプロジェクトでは、RAGパイプラインを当レストランの特定情報に接続し、料理やドリンクのメニュー、価格、営業時間、および週替わりのスペシャルメニューなどの最新情報を取得できるようにしました。これにより、データが常に最新の状態に保たれ、デジタルヒューマンが適切に「トレーニング」されることが保証されました。

デジタル・ヒューマン構築の技術的な詳細については、付録Aをお読みください。

デジタルヒューマンを実現するエッジサーバーの要件

当社のデジタルヒューマンを開発する上で強みとなった点の一つは、エッジAI 要件に対応するよう設計された、既存のエッジサーバーのポートフォリオがあったことです。デジタルヒューマンのデモをホスト・実行するサーバーには、以下の要件がありました:

  • LLMおよびRAG向けのGPU処理パイプラインには、NVIDIA L40Sを2基搭載したシステムが必要でした。
  • フロントエンドシステムは、ユーザー体験を支えるために、2台のNVIDIA L40SとCPUによる演算処理に対応する必要がありました。具体的には、音声のテキスト変換(人間から機械へ)、テキストの音声変換(機械から人間へ)、アバターのアニメーションおよびレンダリング、そしてアバターの口の動きと発話を同期させる機能です。
  • 各システムは、アプリケーション・コンテナとデータを保存する必要がありました。
  • バックエンドシステムは、RAGパイプラインをサポートするデータベースをホストできる必要がありました。
  • 一般的な小売店では、フルサイズのラックスペースはありません。

これらの要件を満たすため、当社はHyperファミリーの一員であるSupermicro システムを採用しました。このサーバーを選んだ具体的な理由は以下の通りです:

  • データセンター・ラックが利用できないエッジ展開に最適な奥行きの短いシステム
  • AIアクセラレーションに必要なGPUの種類と数を保持できるデュアル・プロセッサー・システム

成功の結論

当社のブースには数え切れないほどの来場者が訪れましたが、NRFが主催する5つのツアーグループも迎えることができました。これらのグループは通常、没入型の体験を求めている展示会参加者10名以上で構成されていました。Supermicro がこのガイド付きツアーの訪問先としてSupermicro 、デジタルヒューマン体験のデモンストレーションを行ったためです。

デモは来場者の共感を呼びました。多くの来場者は、私たちが実演したユースケースの価値を理解しただけでなく、このシステムをどのように自社のビジネスニーズに適応させることができるかについてブレインストーミングを始め、素晴らしい会話や、展示会後のミーティングにつながりました。


付録A - デジタル・ヒューマン構築の技術的詳細

システム設定

デジタルヒューマンは、フロントエンドシステムとバックエンドシステムの2つのシステムで構成されています。フロントエンドシステムはデジタルヒューマンのレンダリングを担当し、バックエンドシステムはRAGパイプラインの実行とLLMモデルのホスティングを担当します。

モデルとコンテナイメージをダウンロードするために、NVIDIA API キーを取得することから始めます。API キーは、NVIDIA API カタログで取得できます。そこには このブループリントで開発ポップアップが表示されるはずですが、表示されない場合は このブループリントで開発ボタンをクリックします。次に API キーの生成ボタンをクリックし、このキーを保存します。

フロントエンドシステムのセットアップ

  1. Ubuntu .04 をインストールし、すべてのパッケージが最新の状態であることを確認してください。
  2. OpenSSHサーバーをインストールします。
  3. ユーザーがsudo権限を持っていて、パスワードなしでsudoを実行できることを確認してください。

バックエンドシステムのセットアップ

  1. Ubuntu .04 をインストールし、すべてのパッケージが最新の状態であることを確認してください。
  2. OpenSSHサーバーをインストールします。
  3. ユーザーがsudo権限を持っていて、パスワードなしでsudoを実行できることを確認してください。
  4. ユーザーの SSH 鍵ペアを生成し、公開鍵をフロントエンドシステムにコピーします。これにより、フロントエンドシステムはパスワードなしでバックエンドシステムに接続できるようになります。置換 your_email@example.com を実際のメールアドレスで入力してください:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
  5. 公開鍵をフロントエンド・システムにコピーします。 <user> ユーザー名と <frontend_ip_address> をフロントエンド・システムの実際のIPアドレスに置き換えてください:

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

フロントエンドシステムのプロビジョニング

  1. バックエンドシステムで、ACE GitHubリポジトリをクローンしてデプロイスクリプトをダウンロードします。

    git clone https://github.com/NVIDIA/ACE.git
  2. ベアメタルワンクリックスクリプトのディレクトリに移動します:

    cd ACE/workflows/tokkio/4.1/scripts/one-click/baremetal
  3. 環境変数を設定してデプロイ スクリプトを構成します。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>"
  4. 設定テンプレートファイルをコピーし、この設定に合うように値を編集します。

    cp config-template-examples/llm-ov-3d-cotrun-1x-stream/config-template.yml my-config-template.yml
  5. デプロイスクリプトを実行して、フロントエンドシステムをプロビジョニングします。これにはしばらく時間がかかるので、気長に待ちましょう。

    ソース my-config.env
    ./envbuild.sh install --component all --config-file ./my-config-template.yml
  6. フロントエンドシステムで以下のコマンドを実行して、フロントエンドシステムが稼働していることを確認します:

    kubectl get pods -n app

RAGパイプラインとLLMモデルのプロビジョニング

バックエンドシステムでは、RAGパイプラインとLLMモデルをプロビジョニングするために、以下の手順を実行してください:

  1. DockerとDocker Composeをインストールします。
  2. 最新のNVIDIAドライバをインストールしてください。
  3. NVIDIA Container Toolkitをインストールして設定します。
  4. https://github.com/NVIDIA-AI-Blueprints/ragDocker Composeを使用したデプロイについては、こちらの指示に従ってください。
    使用するNIMをLlama 3.1 8Bのものに置き換えます。
  5. フロントエンドシステムでは、こちらの手順に従ってDigital HumanのRAGエンドポイントをカスタマイズしてください:
    https://docs.nvidia.com/ace/tokkio/4.1/customization/customize-reference-workflows.html#rag-endpointcustomization