概要
AICU-SSD-Bench は、実際の AI 技術のユースケースを想定し、
AI ワークロードのパフォーマンスを多角的に計測する
再現可能なオープンソースベンチマークです。
今回はストレージ速度(PCIe Gen5 NVMe / SATA SSD / HDD)が
AI ワークロードに与える影響にフォーカスし、
LLM モデルロード・コード生成・画像/動画生成・音声合成の各タスクで検証。
さらに、長時間負荷での熱影響、モデル頻繁切り替え時の速度安定性、
SSD フラグメンテーションによる性能変化についても評価しています。
仮説: AI ワークロードにおけるストレージ速度の影響
各実験で検証する仮説と、モデルサイズ別に予測される影響度。
Small Models (~7GB)
SDXL Checkpoint 単体。98GB VRAM に余裕で収まり、ストレージ差はほぼ出ない。
Cold start: 6-7s (差: ~1s)
Medium Models (~15GB)
LTX-Video 2B + T5-XXL。コールドスタートでストレージ速度差が顕在化。
Cold start: 8s vs 61s (差: 7.5x)
Large Models (~45GB)
LTX 2.3 22B FP8 (~29GB checkpoint + Gemma 3 12B + LoRAs + Upscaler = ~45GB)。最もストレージ速度が効くサイズ帯。
Cold start: D: 98s vs F: 288s = 2.9x difference
推論(VRAM ロード後)
VRAM にモデルが展開された後は、ストレージ速度は推論に影響しない。
全ドライブ同一: ~189 tok/s
実験別の検証仮説
Ex0: disk-speed-bench
Ex1: download-bench
Ex2: vibe-local-bench
Ex3: comfyui-imggen (SDXL)
Ex4: comfyui-imggen (AiCuty)
Ex5: Wan 2.2 14B
Ex6: LTX 2.3 22B
Ex7: パイプライン
Ex8: Qwen3-TTS
Ex9: llm-jp-moshi
テスト構成
本実験環境
参考: 予備調査環境(G-Tune P6-I7G50 ノート PC)
スクリプト検証・仮説構築のために使用した環境。VRAM 6GB の制約により大型モデルの実行は不可。
テスト対象ストレージ
| ドライブ | 種別 | 代表速度 |
|---|---|---|
| D: Samsung 9100 PRO 8 TB | PCIe Gen5 NVMe | ~14,800 MB/s |
| E: Samsung 870 QVO 8 TB | SATA SSD | ~560 MB/s |
| F: HDD 8 TB | SATA HDD | ~180 MB/s |
| G: 9100 PRO 8 TB (ICY DOCK) | PCIe Gen5 NVMe リムーバブル | ~14,800 MB/s |
実験インデックス
| # | 実験名 | 内容 | 状態 |
|---|---|---|---|
| Ex0 | disk-speed-bench | ダミーファイルを使ったシーケンシャル速度スペックチェック | 完了 |
| Ex1 | download-bench | ダウンロード速度を通した実操作計測 | 完了 |
| Ex2 | vibe-local-bench | Local LLM (Ollama qwen3) でのコーディング & コールドスタート調査 | 完了 |
| Ex3 | comfyui-imggen-bench (SDXL) | ComfyUI 画像生成 — SDXL Checkpoint 単体 | 完了 |
| Ex4 | comfyui-imggen-bench (AiCuty) | ComfyUI 画像生成 — AiCuty SDXL (Checkpoint+2LoRA+Upscaler) | 完了 |
| Ex5 | comfyui-video-bench (Wan 2.2) | ComfyUI 動画生成 — Wan 2.2 14B t2v(タイムアウトにより打ち切り) | 打ち切り |
| Ex6 | comfyui-video-bench (LTX 2.3) | ComfyUI 動画生成 — LTX 2.3 22B FP8 t2v / ia2v コールドスタートベンチ | 完了 (R4) |
| Ex7 | comfyui-pipeline-bench | Ex6 に統合(LTX 2.3 t2v → ia2v 連続実行) | 統合済み |
| Ex8 | qwen3tts-bench | Qwen3-TTS 長文音声合成実験 | 完了 |
| Ex9 | llm-jp-moshi-bench | llm-jp-moshi 高速音声応答実験 | 完了 |
| Ex10 | total-summary | 上記全体の所要時間・所要ストレージ総合レポート | 完了 |
Ex0: disk-speed-bench
256MB / 512MB / 1024MB のダミーファイルでシーケンシャルリード/ライト速度を計測。ストレージの基本スペックを確認。
Ex1: download-bench
HuggingFace / Ollama からのモデルダウンロード速度を実測。ネットワーク + ストレージ書き込みの複合スループットを計測。
Ex2: vibe-local-bench
ローカル LLM のモデルロード時間とコード生成時間を計測。5.2 GB モデルの読み込みでストレージ速度差を定量化。
Ex3: comfyui-imggen (SDXL)
SDXL Checkpoint 単体 (6.46GB) での画像生成。コールドスタート vs ウォームスタートの差でストレージ影響を分離。
Ex4: comfyui-imggen (AiCuty)
SDXL / WAI / AnimagineXL4 / Mellow Pencil の複数 Checkpoint + LoRA × 2 + RealESRGAN アップスケール。
Ex5: Wan 2.2 14B
Wan 2.2 14B (Dual-UNET ~34GB) で text-to-video & image-to-video。タイムアウトにより打ち切り。
Ex6: LTX 2.3 22B
LTX 2.3 (22B FP8 ~29GB + Gemma 3 12B + Upscaler) で動画生成。最もストレージ速度が効くサイズ帯。
Ex7: パイプライン
Mellow Pencil 画像生成 → LTX 2.3 i2v の融合パイプライン。Ex6 に統合。
Ex8: Qwen3-TTS
長文テキストの音声合成で初動時間(Time-to-First-Audio)とバッチ生成速度を計測。
Ex9: llm-jp-moshi
15.6GB モデルの高速音声応答。モデルロード時間と応答レイテンシを計測。
ComfyUI 起動パラメータとストレージ I/O の関係
ComfyUI の VRAM 管理方式はモデルのロード・オフロード挙動に大きく影響し、 ストレージ I/O パターンが変化します。
| パラメータ | 挙動 | ストレージへの影響 |
|---|---|---|
--highvram |
モデルを VRAM に常駐。切り替え時もアンロードしない | 初回ロード後はストレージアクセス最小。VRAM 大容量環境向け |
| デフォルト | VRAM 不足時に自動的にモデルをオフロード | モデル切り替え時にストレージからの再ロードが発生 |
--lowvram |
積極的に VRAM を解放。処理ステップごとにモデルを移動 | ストレージ I/O が最も頻繁。低 VRAM 環境でのストレージ速度の重要性を可視化 |
96GB VRAM 環境 (RTX PRO 6000) では --highvram で全モデルを常駐可能。
6〜16GB VRAM 環境では --lowvram が必須で、ストレージ速度が体感に直結する。
分析手法: 「秒」だけでは見えないボトルネック
モデルロード時間の単純な秒数比較では、モデルサイズや GPU オーバーヘッドの影響が混在します。
本ベンチマークでは以下の手法でストレージ速度の寄与を分離・正規化して計測します。
sec/GiB 正規化メトリクス
モデルロード時間をモデルサイズ(GiB)で割ることで、 1 GiB あたりのロード秒数を算出。 異なるサイズのモデル間で実効ロード速度を公平に比較できます。
さらに、Ollama の内部計測値 runner_started_s(GPU 初期化時間)を差し引くことで、
純粋なディスク I/O スループット(IO est MB/s)を推定。
Gen5 NVMe でこの比率がどう変化するかが重要な検証ポイント。
温度・電力リアルタイムモニタリング
ベンチマーク実行中に nvidia-smi を 10 秒間隔でバックグラウンド記録。
GPU 温度、消費電力、GPU 使用率、VRAM 使用量、クロック周波数、P-State を
時系列 CSV として保存します。
SSD フラグメンテーション影響
NVMe SSD は HDD と異なりシークタイムがないため「フラグメンテーション無関係」とされがちですが、 論理ブロックの断片化は内部的なガベージコレクションや WAF に影響する可能性があります。
モデル切り替え & 初回ロード
10〜20 回連続でモデルのアンロード→ロードを繰り返すストレステスト。 初回ロード(コールドスタート)と 2 回目以降(OS キャッシュヒット時)の差を分離。
計測結果
計測データ読み込み中...
生成物サンプル (実データ: R2/R3/R4)
RTX PRO 6000 Blackwell (98GB VRAM) で実際に生成されたコンテンツ。 同一シード・同一設定のためドライブ間で出力は同一。差が出るのは「生成開始までの時間」です。
🖼 AiCuty SDXL — Small Models (~7GB) Checkpoint + 2 LoRA + Upscaler
AiCuty ワークフロー:
Animagine XL 4.0 + Niji Anime LoRA + Enchanting Eyes LoRA + RealESRGAN 4x Upscale
736×1128 / 28 steps / DPM++ 2M SDE Karras / CFG 5 → 2944×4512px 最終出力
D: Gen5 NVMe (15.2s cold)
E: SATA SSD (17.3s cold)
D: Run 2 (13.2s median)
D: Run 3 (13.2s median)
🖼 SDXL Basic — Small Models (~7GB) Checkpoint Only
Animagine XL 4.0 (6.46GB) / 832×1216 / euler 28 steps / CFG 5
D: Gen5 NVMe (6.1s cold)
E: SATA SSD (7.1s cold)
F: HDD (7.2s cold)
G: ICY DOCK (6.1s cold)
🎬 LTX-Video 2B — Medium Models (~15GB) Checkpoint + T5-XXL
LTX-Video 2B v0.9.5 (5.9GB) + T5-XXL FP16 (9.1GB) = ~15GB total
512×320 / 25 frames @24fps / euler 20 steps / CFG 1.0 → animated WEBP
Cold start: D: 8.1s vs F: 60.9s = 7.5x difference
D: Gen5 NVMe (8.1s cold)
E: SATA SSD (37.4s cold)
F: HDD (60.9s cold)
G: ICY DOCK (11.4s cold)
🎬 LTX-Video 2B 動画生成ベンチマーク(詳細)
モデル: LTX-Video 2B v0.9.5 (5.91 GB) + T5-XXL FP16 (9.12 GB)
設定: SamplerCustom euler 20steps, CFG=1.0, 512×320, 25フレーム @24fps
条件: ドライブごとに ComfyUI を再起動(コールドスタート計測)
| D: (Gen5 NVMe) | E: (SATA SSD) | F: (HDD) | G: (ICY DOCK) | |
|---|---|---|---|---|
| Run 1 (コールドスタート) | 8.07s | 37.39s | 60.88s | 11.41s |
| Run 2 (VRAM キャッシュ残) | 7.31s | 7.30s | 7.32s | 7.32s |
| Run 3 (VRAM キャッシュ残) | 7.32s | 7.30s | 7.33s | 8.18s |
| 中央値 | 7.32s | 7.30s | 7.33s | 8.18s |
- Run 1 のコールドスタートでストレージ差が明確: D: 8.1s vs F: 60.9s → 約7.5倍の差
- Run 2-3 は VRAM/システムキャッシュに残っているため差が出ない
- 結論: 15GB 級のモデルロードでは Gen5 NVMe の優位性が明確
🎬 LTX 2.3 22B FP8 — Large Models (~45GB) コールドスタートベンチ (R4)
LTX 2.3 22B FP8 (~29GB) + Gemma 3 12B IT (~8.8GB) + LoRAs (~7.7GB) + Spatial Upscaler (~950MB) = ~45.5GB total
ドライブごとに ComfyUI を再起動し、t2v (コールドスタート) → ia2v (ウォームスタート) の連続実行。
Cold start: D: 98s vs F: 288s = 2.9x difference
| D: (Gen5 NVMe) | E: (SATA SSD) | F: (HDD) | G: (ICY DOCK) | |
|---|---|---|---|---|
| t2v (コールドスタート) | 98.4s | 180.7s (1.8x) | 288.1s (2.9x) | 98.7s (1.0x) |
| ia2v (ウォームスタート) | 95.3s | 96.6s | 103.4s | 94.8s |
| 差分 (= ストレージ I/O) | 3.0s | 84.1s | 184.7s | 3.9s |
| 実効リード速度 (推定) | ~13 GB/s | ~542 MB/s | ~246 MB/s | ~11.7 GB/s |
- 45GB 級モデルで HDD は約 3 分のロード遅延 — Gen5 NVMe との差は 184.7 秒
- ウォームスタート時は全ドライブほぼ同一(94〜103s)
- ICY DOCK (G:) は D: とほぼ同等 — リムーバブルでも Gen5 帯域を維持
R4 生成動画サンプル (LTX 2.3 22B)
各ドライブで生成された動画。同一プロンプト・同一シードのため出力内容は同一。
D: t2v cold (98.4s)
E: t2v cold (180.7s)
F: t2v cold (288.1s)
G: t2v cold (98.7s)
D: ia2v warm (95.3s)
E: ia2v warm (96.6s)
F: ia2v warm (103.4s)
G: ia2v warm (94.8s)
全動画: GitHub
コード生成 (Ollama qwen3) — Small Models (~5GB)
Prompt: "じゃんけんゲームを HTML + JavaScript で作成してください"
R2 結果: 全ドライブで ~189 tok/s (8b) / ~445 tok/s (1.7b) — 98GB VRAM で差なし
音声合成 (Qwen3-TTS) — R2/R3 計測済み
Qwen3-TTS-12Hz-1.7B-CustomVoice / HuggingFace/PyTorch 直接実行。 R2 中央値: D: 9.8s / E: 8.6s / F: 10.1s / G: 7.5s — モデルサイズが小さく(~1.7GB)ストレージ差は限定的。
音声サンプル: results/qwen3tts-bench/audio/
全生成物は Results-P8/ にモデルサイズ別に格納。
結論: AI のためには D ドライブこそ Gen5 を
Samsung 9100 PRO (Gen5 NVMe) は AI ワークロードのコールドスタートを最大 7.5 倍高速化する
10 種類の AI ワークロード(LLM ロード・コード生成・画像生成・動画生成・音声合成・音声対話)を 4 つのストレージ(Gen5 NVMe / SATA SSD / HDD / Gen5 リムーバブル)で横断計測した結果、 ストレージ速度が最も効くのは「モデルの初回ロード(コールドスタート)」であることが実証されました。
コールドスタート高速化
LTX-Video 2B (15GB)
D: 8.1s vs F: 60.9s
大型モデルでも差は明確
LTX 2.3 22B (45GB)
D: 98s vs F: 288s
書き込み速度
D: 2,535 MB/s vs F: 250 MB/s
(1024MB シーケンシャル)
推論速度への影響
VRAM ロード後は全ドライブ同一
~189 tok/s (qwen3:8b)
なぜ「D ドライブに Gen5」なのか
- OS ドライブ (C:) はバックグラウンド I/O と競合する — AI モデルの保存先は専用ドライブに
- モデル切り替えのたびにコールドスタートが発生 — AI 開発では 1 日に何十回もモデルを入れ替える
- モデルは大型化の一途 — 15GB (LTX-Video 2B) → 45GB (LTX 2.3 22B)。R4 実測: HDD で 3 分のロード遅延
- 8TB の大容量 — 全モデルを 1 台に集約、再ダウンロード不要
- 書き込みも高速 — 生成物保存・モデルダウンロード・学習チェックポイントで圧倒的な差
推論速度はストレージに依存しないことも確認済み。 つまり「速いストレージは無駄」ではなく、「待ち時間」を直接削減する最もコスパの高い投資先が D ドライブの Gen5 NVMe です。
考察: AI ワークロードとストレージ速度
RTX PRO 6000 (96GB VRAM) + Samsung 9100 PRO (Gen5 NVMe) を含む 4 ドライブでの実測データに基づく考察。
検証済み: モデルのコールドスタートはストレージ I/O バウンド
LTX-Video 2B (~15GB) のコールドスタートで 最大 7.5 倍の差、 LTX 2.3 22B (~45GB) で 最大 2.9 倍の差 を実測。
| D: Gen5 NVMe | E: SATA SSD | F: HDD | G: ICY DOCK | |
|---|---|---|---|---|
| LTX 2B (15GB) | 8.1s | 37.4s (4.6x) | 60.9s (7.5x) | 11.4s (1.4x) |
| LTX 2.3 22B (45GB) | 98.4s | 180.7s (1.8x) | 288.1s (2.9x) | 98.7s (1.0x) |
ウォームスタート時は全ドライブ 95〜103s で差なし。 cold - warm の差分から実効リード速度を推定: Gen5 NVMe ~13 GB/s、SATA SSD ~542 MB/s、HDD ~246 MB/s。
検証済み: 推論速度はストレージに依存しない
コード生成速度は全ドライブで ~189 tok/s (qwen3:8b) / ~445 tok/s (qwen3:1.7b) とほぼ同一。 画像生成のウォームスタートも全ドライブ 0.04s 前後で差なし。
ストレージの影響は「モデルロード」に集中しており、高速ストレージの投資対効果はロード時間短縮に直結します。
実測: ディスク書き込み速度
1024MB シーケンシャルライト(R3 実測)で Gen5 NVMe は SATA SSD の 約 6 倍、HDD の 約 10 倍。
| D: Gen5 NVMe | E: SATA SSD | F: HDD | G: ICY DOCK |
|---|---|---|---|
| 2,535 MB/s | 434 MB/s | 250 MB/s | 2,530 MB/s |
Samsung 9100 PRO が AI ワークロードに最適な理由
Gen5 NVMe (D:) vs SATA SSD (E:) vs HDD (F:) の差は コールドスタートで最大 7.5 倍、書き込み速度で最大 10 倍。
Samsung 9100 PRO は PCIe Gen5 の帯域幅をフル活用し、シーケンシャルリード 14,800 MB/s、 8TB の大容量で複数の AI モデルを 1 台に集約可能。 AI クリエイターにとって「待たない AI 環境」を実現する最適なストレージです。
Samsung 9100 PRO 公式ページ の主張を検証
| 公式の主張 | 評価 | 解説 |
|---|---|---|
| 最大 14,800/13,400 MB/s | 正しい | カタログスペックとして正確。OS ファイル API 経由では R3 実測ライト 2,535 MB/s。それでも SATA SSD の約 6 倍。 |
| 990 PRO の 2 倍高速 | 概ね正しい | Gen4→Gen5 で理論帯域幅は 2 倍。実効速度が線形に 2 倍になるかは環境依存だが、大幅な向上は確実。 |
| 最大 2,200K/2,600K IOPS | 検証済み | AI モデルロードはシーケンシャルリードが支配的であることを確認。ランダム IOPS は学習データセット読み込み等で効く場面も。 |
| AI アプリに即時ロード | 正しい | LTX-Video 2B: D: 8.1s vs F: 60.9s (7.5x)。LTX 2.3 22B: D: 98s vs F: 288s (3分速い)。 |
| 電力効率 49% 向上 | 妥当 | 5nm コントローラにより速度 2 倍でも消費電力を抑制。本実験でも SSD 側の発熱影響なし。 |
| 8TB 大容量 | 事実 | LLM 70B (約 40GB) を 200 個、SD Checkpoint (2〜7GB) なら 1,000 個以上格納可能。 |
| 高度な熱制御 | 確認済み | R3 連続実行(約 1 時間)でサーマルスロットリングは観測されず。 |
用語集
| 用語 | 解説 |
|---|---|
| NVMe Gen5 | PCIe 5.0 接続の SSD 規格。最大約 14,800 MB/s(Gen4 の約 2 倍、SATA の約 26 倍)。 |
| コールドスタート | モデルがメモリに存在しない状態からの起動。ストレージからの読み込みが必要。 |
| ウォームスタート | モデルが既にメモリにロードされた状態。ストレージアクセスは不要。 |
| VRAM | GPU 専用のビデオメモリ。AI 推論にはモデル全体を VRAM に展開する必要がある。 |
| tok/s | LLM の推論速度指標。1 秒あたりに生成されるトークン数。 |
| sec/GiB | モデルロード時間をモデルサイズで割った正規化メトリクス。本ベンチマーク独自。 |
| I/O バウンド | ストレージ速度がボトルネック。 |
| GPU バウンド | GPU 演算能力がボトルネック。ストレージ速度は影響しない。 |
| サーマルスロットリング | 温度超過時のクロック制限。長時間ベンチマークでの性能低下の主要因。 |
| GGUF | LLM モデルの量子化ファイル形式。Ollama が内部で使用。 |
| ComfyUI | 画像・動画生成 AI のワークフロー構築ツール。GitHub |
| Ollama | ローカル LLM 実行ツール。公式サイト |
| LTX-Video | Lightricks 社の動画生成 AI。GitHub |
| Qwen3-TTS | Alibaba Qwen の音声合成モデル。GitHub |
補足: 予備調査(ノート PC での事前検証)
G-Tune P6-I7G50 (RTX 4050 6GB / 32GB RAM) で事前調査。 VRAM 6GB の制約により SDXL 以上は動作不可。全実験の合計必要容量: ~97GB。
NVMe Gen4 環境ではカタログ値(3,000〜3,500 MB/s)に対して実測は最高 1,340 MB/s。 AI アプリは OS のファイル API 経由でモデルを読むため、「実効速度」がモデルロード時間を決定。 OS ドライブはバックグラウンド I/O と競合するため、AI モデルは専用ドライブに配置すべき。
資料
クイックスタート
git clone https://github.com/aicuai/AICU-SSD-Bench
cd AICU-SSD-Bench
# 全実験一括実行
.\scripts\run_all_benchmarks.ps1 -Runs 3
Claude Code でセットアップ
Claude Code を使って環境構築からベンチマーク実行、結果分析まで AI が支援します。
# Claude Code を起動(CLAUDE.md を自動読み込み)
claude
関連リンク
-
GitHub リポジトリ
ソースコード・ワークフロー・結果データ
-
Impress AKIBA PC Hotline!
取材協力メディア
-
vibe-local でオフライン AI コーディング体験
窓の杜 AI Stream 連載
-
vibe-local (ochyai)
落合陽一氏によるオフライン AI コーディング環境
-
AICU Japan
プロジェクト運営
-
Samsung 9100 PRO (Amazon)
テスト対象 Gen5 NVMe SSD
-
Samsung 9100 PRO (公式)
製品仕様・技術情報