GenAI-Perf (LLMベンチマーク)

投稿者: | 1月 12, 2026

最近、仮想マシンなんてほとんど使わず、Dockerのほうが多いというか、ほぼ0:100。ComfyUIとか、足元のホストにランタイムなどをいれてもいいのだが、やはり足元のOSは何もしたくないので、上物にDockerを入れてということになる。ProxmoxやKVMでGPUにパススルーさせてもいいのだが、パススルーができるのは1VMだけなので、Dockerよりも使いにくい。それにだんだん大きい物を動かすとなるとGPU,VRAMだけではなく、CPUもメインメモリもフル稼働するようになるので、仮想環境と同居ができる隙間がない。

まず、AIマシンを買うと、いわば登竜門的なアプリがLM Studioである。無償で商用でも使えるので、仕事でも使っている人が多いかもしれない。VRAMがあれば、GPUで動いて速いというが、質問の内容、回答が多岐にわたるので、一概に速い、遅いがわからない。質問も簡単な内容でいいのか悪いのか。

 

閑話休題

 

LLMのベンチマークソフトウェアがあった。GenAI-perf。Pythonモジュール。

注意事項

  • cudaのライブラリが必要(GPUは不要)
  • バージョンによってコマンドライン引数が変わる
  • NGCに入っているコマンドは古い。おすすめは、pipインストール

作成方法

ちなみにMACのDockerでも動く。NVIDIAのカードどころかGPUもいらない。

cat <<‘EOF’ > Dockerfile.genai-perf-client
# syntax=docker/dockerfile:1
# genai-perf client container (GPU not required)
 
FROM nvidia/cuda:13.1.0-runtime-ubuntu24.04
 
ARG DEBIAN_FRONTEND=noninteractive
ARG APP_UID=10000
ARG APP_USER=appuser
 
RUN apt-get update && apt-get install -y –no-install-recommends \
python3 python3-venv python3-pip \
ca-certificates curl jq \
&& rm -rf /var/lib/apt/lists/*
 
# Use venv to keep base python clean
ENV VENV=/opt/venv
RUN python3 -m venv ${VENV}
ENV PATH=”${VENV}/bin:${PATH}”
 
RUN pip install -U pip setuptools wheel \
&& pip install genai-perf
 
# Non-root user to avoid root-owned artifacts on host mounts
RUN useradd -m -u ${APP_UID} ${APP_USER}
 
USER ${APP_USER}
WORKDIR /workspace
 
# Same operation feel as Triton SDK: enter shell on `docker run -it …`
CMD [“bash”]
EOF
 
docker build -t genai-perf-client:cuda131 -f Dockerfile.genai-perf-client .
docker run -it –net=host -v “$PWD:/workspace” genai-perf-client:cuda131
 
実行例(OpenAI Endpoint)
genai-perf profile \
–endpoint-type chat \
–url http://192.168.1.20:1234 \
–endpoint v1/chat/completions \
-m “model-identifier” \
–tokenizer “openai/gpt-oss-20b” \
–header “Authorization: Bearer lm-studio” \
–concurrency 1 \
–warmup-request-count 2 \
–measurement-interval 60000 \
-s 999 \
-v \
–artifact-dir artifacts/lmstudio_c1
WARNING  Skipping unreachable metrics URL: http://localhost:9400/metrics は、サーバのメトリックスを取りに行っただけなので、対象が公開していなければ無視していい。

なんとパーセンタイルで結果を表示する。この手の検証では、俗にいうインフラ屋さんでは、あまり使わないタイプの表示だが、このケースの場合、平均値はほんと意味をなさない。CPU、ネットワーク、ストレージの性能と違って、最大値があるわけでもないので。このパーセンタイルは、最大性能ではなく、どちらかというとユーザの体感を表す。

さて、過去に作ったイメージで検証しようかと思ったら、半分以上がIntel iGPUを動かすために作ったイメージでお蔵入りしているものばかりだった。次、何かするときに使ってみたいと思う。

コメントを残す