VRAM

概要

VRAM(Video Random Access Memory)は、GPU(Graphics Processing Unit)に搭載された専用メモリのことです。ローカルLLM(大規模言語モデル)の運用において、最も重要なハードウェア要素の一つです。

VRAMの容量により、読み込み可能なAIモデルのサイズが決まり、処理速度や実行可能なバッチサイズにも直接影響します。

ローカルLLMにおける重要性

モデルサイズとVRAM要件

大規模言語モデルのパラメータ数とVRAM使用量には密接な関係があります:

精度別VRAM使用量の目安

  • FP32(32bit浮動小数点): パラメータ数 × 4 bytes
  • FP16(16bit浮動小数点): パラメータ数 × 2 bytes
  • INT8(8bit整数): パラメータ数 × 1 byte
  • INT4(4bit整数): パラメータ数 × 0.5 bytes

実用的なモデル例

  • 7Bモデル(Llama 2 7B)
    • FP16: 約14GB
    • INT8: 約7GB
    • INT4: 約3.5GB
  • 13Bモデル(Llama 2 13B)
    • FP16: 約26GB
    • INT8: 約13GB
    • INT4: 約6.5GB
  • 30Bモデル(Code Llama 34B)
    • FP16: 約68GB(複数GPU必要)
    • INT8: 約34GB
    • INT4: 約17GB

VRAM容量別対応可能モデル

8GB VRAM(RTX 3070、RTX 4060 Ti)

  • 7Bモデル(INT8量子化)
  • 3Bモデル(FP16)
  • 小規模な対話モデル向け

12GB VRAM(RTX 3060、RTX 4070)

  • 7Bモデル(FP16)
  • 13Bモデル(INT8量子化)
  • 中規模モデルでの快適な使用

16GB VRAM(RTX 4080、RTX 4070 Ti Super)

  • 13Bモデル(FP16)
  • 30Bモデル(INT4量子化)
  • マルチモーダルモデル対応

24GB VRAM(RTX 4090、RTX 3090)

  • 30Bモデル(FP16/INT8)
  • 複数モデル同時実行
  • ファインチューニング対応
  • 高速な推論処理

VRAMメモリタイプ

GDDR6X

最新のハイエンドGPU(RTX 4090RTX 3090)に搭載されています。高帯域幅でAI推論処理に最適化されており、メモリ帯域幅は1,000 GB/s以上を実現します。

GDDR6

中級〜上級グラフィックカード(RTX 4080RTX 4070シリーズ)で採用されています。十分な性能を持ち、コストパフォーマンスに優れます。

統合メモリ(Apple Silicon)

Apple M2M2 Ultraでは、CPUとGPUがメモリを共有する統合メモリアーキテクチャを採用。効率的なメモリ使用が可能ですが、総メモリ容量に制限があります。

VRAM最適化テクニック

モデル量子化

Quantization技術により、モデルの精度を下げてVRAM使用量を削減します。INT8やINT4量子化により、VRAM使用量を1/2〜1/4に削減可能です。

オフロード機能

モデルの一部をシステムRAMに保存し、必要に応じてVRAMに読み込む手法。処理速度は低下しますが、大規模モデルの実行が可能になります。

グラディエントチェックポイント

推論時にアクティベーションを再計算することでVRAM使用量を削減。速度とメモリのトレードオフを調整できます。

VRAMモニタリング

監視ツール

  • nvidia-smi: コマンドラインでのVRAM使用状況確認
  • GPU-Z: リアルタイムなGPU状況監視
  • MSI Afterburner: オーバークロックとモニタリング
  • PyTorch: torch.cuda.memory_summary()でメモリ詳細確認

実用的なコマンド例

# VRAM使用状況確認
nvidia-smi

# 継続的なモニタリング
watch -n 1 nvidia-smi

# PyTorchでのメモリ確認
import torch
print(f"VRAM使用量: {torch.cuda.memory_allocated() / 1024**3:.2f} GB")
print(f"VRAM上限: {torch.cuda.max_memory_allocated() / 1024**3:.2f} GB")

関連用語