最近、仮想マシンなんてほとんど使わず、Dockerのほうが多いというか、ほぼ0:100。ComfyUIとか、足元のホストにランタイムなどをいれてもいいのだが、やはり足元のOSは何もしたくないので、上物にDockerを入れてということになる。ProxmoxやKVMでGPUにパススルーさせてもいいのだが、パススルーができるのは1VMだけなので、Dockerよりも使いにくい。それにだんだん大きい物を動かすとなるとGPU,VRAMだけではなく、CPUもメインメモリもフル稼働するようになるので、仮想環境と同居ができる隙間がない。
まず、AIマシンを買うと、いわば登竜門的なアプリがLM Studioである。無償で商用でも使えるので、仕事でも使っている人が多いかもしれない。VRAMがあれば、GPUで動いて速いというが、質問の内容、回答が多岐にわたるので、一概に速い、遅いがわからない。質問も簡単な内容でいいのか悪いのか。
閑話休題
LLMのベンチマークソフトウェアがあった。GenAI-perf。Pythonモジュール。
注意事項
作成方法
ちなみに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を動かすために作ったイメージでお蔵入りしているものばかりだった。次、何かするときに使ってみたいと思う。