NVIDIA GPUでTongyi Qwen3モデルを効率的に統合・展開:最適化手法とパフォーマンス向上の実例
阿里巴巴が最近公開した「Tongyi Qwen3」は、オープンソースのハイブリッド推論型大規模言語モデル(LLM)のファミリーで、最先端の精度を持つモジュール型エキスパート(MoE)モデル2種と密結合モデル6種から構成されています。これらには、235億パラメータと22億アクティブパラメータ(235B-A22B)の大型モデルや30億パラメータ・3億アクティブパラメータ(30B-A3B)の小型モデルが含まれるなど、多岐にわたるサイズバリエーションが用意されています。 Qwen3は、中国初となるハイブリッド推論型LLMで、AIME、LiveCodeBench、ArenaHard、BFCLなどのベンチマークテストで最高の精度を達成しています。このモデルは、推論、命令追随、エージェント機能、マルチリンガル対応といった各方面での最新の進歩によって構築されており、世界トップレベルのオープンソースモデルの一つとして認められています。 開発者はNVIDIA GPU上での生産適用に向け、高性能かつ柔軟なソリューションを用いて、Qwen3モデルを異なるフレームワーク(NVIDIA TensorRT-LLM, Ollama, SGLang, vLLM)に効率的に統合および展開することができます。これにより、リアルタイム処理やコスト効率の高いデプロイメントが可能となります。 実行手順 TensorRT-LLMを使用したQwen3の推論最適化 まず、PyTorchバックエンドを設定し、ベンチマークテストデータセットとextra-llm-api-config.ymlコンフィグファイルを準備します。 ```bash python3 /path/to/TensorRT-LLM/benchmarks/cpp/prepare_dataset.py \ --tokenizer=/path/to/Qwen3-4B \ --stdout token-norm-dist --num-requests=32768 \ --input-mean=1024 --output-mean=1024 \ --input-stdev=0 --output-stdev=0 > /path/to/dataset.txt cat >/path/to/extra-llm-api-config.yml <<EOF pytorch_backend_config: use_cuda_graph: true cuda_graph_padding_enabled: true cuda_graph_batch_sizes: - 1 - 2 - 4 - 8 - 16 - 32 - 64 - 128 - 256 - 384 print_iter_log: true enable_overlap_scheduler: true EOF ``` 次に、ベンチマークコマンドを実行します。 bash trtllm-bench \ --model Qwen/Qwen3-4B \ --model_path /path/to/Qwen3-4B \ throughput \ --backend pytorch \ --max_batch_size 128 \ --max_num_tokens 16384 \ --dataset /path/to/dataset.txt \ --kv_cache_free_gpu_mem_fraction 0.9 \ --extra_llm_api_options /path/to/extra-llm-api-config.yml \ --concurrency 128 \ --num_requests 32768 \ --streaming これらの設定により、同じGPU構成でも最大16.04倍の推論スループット向上が達成されました。 推論サーバーの実行 モデルのホスティングが成功したら、OpenAI API形式の推論リクエストを送信できます。 ```bash trtllm-serve \ /path/to/Qwen3-4B \ --host localhost \ --port 8000 \ --backend pytorch \ --max_batch_size 128 \ --max_num_tokens 16384 \ --kv_cache_free_gpu_memory_fraction 0.95 \ --extra_llm_api_options /path/to/extra-llm-api-config.yml curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Qwen/Qwen3-4B", "Max_tokens": 1024, "Temperature": 0, "messages": [ { "role": "user", "content": "Frenchの首都は何ですか?" } ] }' ``` 他のフレームワークを使用したQwen3の実行 Ollama, SGLang, vLLMなどのフレームワークでも、NVIDIA GPU上でのQwen3デプロイが簡単に可能です。 Ollama bash ollama run qwen3:4b thinking mode有効時は: bash "Write a python lambda function to add two numbers" - thinking mode enabled thinking mode無効時は: bash "Write a python lambda function to add two numbers /no_think" - non-thinking mode SGLang bash pip install "sglang[all]" その後、以下のコマンドでサーバーを起動します。 bash python -m sglang.launch_server \ --model-path /ssd4TB/huggingface/hub/models/ \ --trust-remote-code \ --device "cuda:0" \ --port 30000 \ --host 0.0.0.0 vLLM bash pip install vllm vllm serve "Qwen/Qwen3-4B" \ --tensor-parallel-size 1 \ --gpu-memory-utilization 0.85 \ --device "cuda:0" \ --max-num-batched-tokens 8192 \ --max-num-seqs 256 産業界からのコメント 「Qwen3モデルの公開は、高性能推論システムの設計に新しい選択肢を提供しました。開発者は、性能、リソース、コストをバランス良く考えながら、最も適切なフレームワークを選択できるようになります」と、NVIDIAのAIプラットフォーム責任者であるサンジェイ・ガンダは述べています。 阿里巴巴が公開した「Qwen3」は、中国初のハイブリッド推論型大規模型言語モデルで、幅広い使用シナリオに対応しています。このモデルファミリーは、NVIDIA GPU上での効率的な統合と展開が可能であり、高性能推論エンジンを使って生産環境での高速かつコスト効率の良い適用が期待されます。