SHARE

ニュース

GTC2025で発表されたNVIDIA Dynamoとは?-GMO GPUクラウド上で動かしてみた-

皆さんこんにちは!GMOインターネットでGPUクラウドの開発・普及活動をしている大川です。

ここ最近で AI に関するホットな話題と言えば、03/17 より米国カリフォルニア州・サンノゼで開催された 「NVIDIA GTC 2025」 です。
GMOインターネットからも私を含めた数名で現地参加し、世界的な熱狂を感じてきました。詳細はまた別途記事でお知らせしますのでご期待ください! 目玉となる Keynote(基調講演)では NVIDIA CEO のジェンスン・ファン氏から今後の NVIDIA プラットフォームのロードマップについて発表がありました。その中で LLM の推論を最適化する OSS(オープンソースソフトウェア)として「NVIDIA Dynamo」が公開され、より推論へ注力していく同社の方向性が示されました。

ジェンスン・ファン氏から直々に Dynamo が紹介された

この「NVIDIA Dynamo」は、OSS ということもあって既に githubで公開されており、その目玉は推論の実行環境を展開し、推論処理の分散やKVキャッシュといった技術を用いることで処理を高速化できると謳っているところにあります。

公開されている guide によると、Dynamo の主な機能は以下の通りです。

Dynamo Run
  ➤指定したLLMモデルをサーバとして起動できるコマンド。

Dynamo Serve
  ➤inference graph と呼ばれる推論のためのコンポーネント(フロントエンド/プロセッサ/ルータ/ワーカ)を
   構成するコマンド。推論における処理を階層化し、リクエストのルーティングなども担う。

Dynamo Build( Experiemental)
  ➤上述の inference graph をコンテナ化する。

Dynamo Deploy ( Experiemental)
  ➤inference graph を helm や Operator を用いて kubernetes にデプロイする。

これらを見てもわかるように、Dynamo は推論における GPU 利用をオーケストレーションし、トークン収益性を高めることを狙った「ある種のAIプラットフォーム」である、と読み取れます。

最終的には Dynamo Deploy まで試してみたいところですが、いきなりフル活用するのは難しいため、まずは GMO GPUクラウドで Dynamo Run を使用したローカル推論を試してみることにしました。


サポートマトリクスによると、現時点(2025/03/26)では以下の環境をサポートしているようです。

  • x86_64 アーキテクチャの CPU
  • NVIDIA Ampere/Ada Lovelace/Hopper/Blackwell アーキテクチャの GPU
  • Ubuntu 24.04

※記載はないが Python 3.12 系で動作する模様です


HW 的な互換性はGMO GPUクラウドでは問題ありません。
OS バージョンや Python 周りの互換を持たせるため、今回はコンテナベースで実行することにします。
GMO GPUクラウドでは Singularity コンテナを採用していますので、まずはコンテナをビルドするための .def ファイル(Dockerfile と同義)を作成します。

Bootstrap: docker
From: ubuntu:24.04
 
%post
    # 関連パッケージのインストール
    apt-get update && apt-get install -y \
        software-properties-common \
        wget \
        && rm -rf /var/lib/apt/lists/*

    # Python のインストール
    add-apt-repository ppa:deadsnakes/ppa -y
    apt-get update
    apt-get install -y --no-install-recommends \
        python3.12 \
        python3.12-dev \
        python3.12-venv \
        python3-pip \
        libucx0

    # Python 仮想環境の作成 
    python3.12 -m venv /opt/venv
    . /opt/venv/bin/activate
 
    # NVIDIA Dynamo インストール
    pip install --upgrade pip
    pip install ai-dynamo[all]
 
%environment
    source /opt/venv/bin/activate
    export PATH=/usr/bin/python3.12:$PATH


続けて、この .def ファイルをビルドしてコンテナイメージを作成します。 
GMO GPUクラウドではジョブスケジューラとして Slurm を採用しているため、インタラクティブジョブである srun コマンドでビルドを実行します。 

$ srun --partition part-cpu singularity build --fakeroot dynamo.sif dynamo.def

これで Dynamo が動作するコンテナが完成しました。 
Dynamo は Hugging Face からのモデルダウンロードに対応しているため、モデル名を指定するだけで簡単に起動することが可能です。 

$ dynamo run in=<interface> out=<engine> --http-port=<port> <HUGGING_FACE_ORGANIZATION/MODEL_NAME>


Slurm でバッチジョブとして dynamo run を実行するためのシェルスクリプトを作成します。フロントはhttp、バックエンドのライブラリはvllm、モデルは Llama3.1-8B Instruct モデルを使用しました。 

#!/bin/bash
MODEL_NAME="meta-llama/Llama-3.1-8B-Instruct"
HF_TOKEN="hf_xxxxxxxxxxxxxxxxxxxxxxx"
HTTP_PORT=11434

module load singularitypro

cd $HOME/dynamo
singularity exec --nv -B $HOME/dynamo:/workspace dynamo.sif bash -c "huggingface-cli login --token '$HF_TOKEN' && dynamo run in=http out=vllm --http-port=$HTTP_PORT $MODEL_NAME"

※ meta-llamaについては事前にHugging Faceで利用申請を行った後、トークンの払い出しが必要です。 

上記シェルスクリプト(run.sh)を Slurm のバッチジョブ(sbatch)として実行し、計算ノード上に dynamo インスタンスを起動します。 

今回はモデルサイズ的にも 1 ノード(H200 x1)を指定しています。 

$ sbatch --partition part-group_xxxxxx --nodes 1 --gpus 1 run.sh

curl コマンドでクエリを投げ、モデルが起動していることを確認します。 

$ curl -s aic-gh2x-xxxxx:11434/v1/models | jq .
{
  "object": "list",
  "data": [
    {
      "id": "Llama-3.1-8B-Instruct",
      "object": "object",
      "created": 1742973712,
      "owned_by": "nvidia"
    }
  ]
}

Llama モデルが起動していることを確認できましたので、さっそくリクエストを投げてみましょう。クエリ用の json ファイルを作成します。 

{
  "model": "Llama-3.1-8B-Instruct",
  "max_completion_tokens": 2049,
  "messages": [
    {
      "role": "user",
      "content": "GMOインターネットグループについて簡潔に教えてください。"
    }
  ]
}

先ほどのDynamoインスタンス宛てにHTTPリクエストを投げます。

$ curl -s -d @req.json -H 'Content-Type: application/json' http://aic-gh2x-xxxxx:11434/v1/chat/completions
...
GMOインターネットグループは、日本のIT企業グループです。グループの中心となる会社はGMOインターネット株式会社で、199
1年に設立されました。主にインターネット関連のサービスやソフトウェアの開発、販売を行っています。\n\nグループの主な事業は次のとおりです。\n\n1. インターネットサービスプロバイダ(ISP)\n2. ホスティングサービス\n3. 
ドメイン名の販売\n4. ソフトウェアの開発と販売\n5. IT関連のコンサルティングサービス\n\nGMOインターネットグループは、世界的に活躍するIT企業の一つとして知られており、多くの国で事業を展開しています。...

きちんと応答が得られました! 

使い勝手は ollama に似てシンプルであり、ローカル環境での推論を手軽に実行できるツールだと思います。 

以上、Dynamo Run を試しましたが、前述の通り Dynamo が目指すところは推論のオーケストレーションや性能の向上になります。今後 Dynamo による推論環境のビルドにもトライしていきたいと思います。GMO GPUクラウドにもぜひご注目ください! 

■ GMO GPUクラウドについて 

GMO GPUクラウド(https://gpucloud.gmo/)は、NVIDIA H200 GPU や NVIDIA Spectrum-X を搭載した、国内最速クラスの高性能GPUクラウドサービスです。生成AIや機械学習、HPC向けに最適化された構成となっており、研究・開発の効率化とコスト最適化を実現します。 
また、SlurmやSingularityなど、業界標準のツールにも対応しており、先進的なAIワークロードをシームレスに実行できる環境を提供します。 

お問い合わせはこちら 

本記事の内容は、NVIDIA GTC 2025で発表された「Dynamo」をGMO GPUクラウド上で実行した結果を基に記載しております。動作環境や設定によって結果が異なる可能性があり、すべての環境での動作を保証するものではありません。正式な仕様やサポートについては、各ソフトウェア・サービスの公式情報をご確認ください。

お客様のニーズに
合わせたプランのご提供

お客様のニーズに合わせたプランのご提供

実際の性能を充分に体感していただき、お客様のニーズに合うかご検討いただいたうえでご契約に進むことができるプランをご用意しております。

詳しくは、こちらのお問い合わせボタンよりご連絡ください。

お問い合わせ