関連する技術記事・ガイドを検索
Tensor Core(テンサーコア)は、NVIDIA GPUに搭載された機械学習向けの専用演算ユニットで、行列積和演算(Matrix Multiply-Accumulate)を高速に実行し、AI推論やトレーニングを劇的に高速化します。
通常のCUDAコア:
スカラー演算: 1演算/サイクル
Tensor Core(第3世代):
行列演算: 256演算/サイクル(FP16)
スピードアップ: 最大16倍
| 世代 | GPU | 演算精度 | TFLOPS | |------|-----|---------|--------| | 第1世代 | V100 | FP16 | 125 | | 第2世代 | RTX 20 | FP16, INT8 | 110 | | 第3世代 | RTX 30 | FP16, BF16, TF32, INT8 | 285 | | 第4世代 | RTX 40 | FP8, FP16, BF16, TF32, INT8 | 1,321 |
FP8(RTX 40):
- 推論特化
- 最高速度
- 精度: 低
FP16/BF16:
- 標準的な学習
- バランス型
- 精度: 中
TF32:
- FP32互換
- 既存コード対応
- 精度: 高
INT8/INT4:
- 量子化推論
- 最高効率
- 精度: 用途限定
DLSS 3の処理フロー:
1. 低解像度レンダリング
2. Tensor Coreで超解像
3. Frame Generation
4. 4K出力
性能向上: 2-4倍のFPS
# Stable Diffusion例
# Tensor Core自動利用
import torch
# 自動混合精度有効化
with torch.cuda.amp.autocast():
# FP16で高速推論
output = model(input)
# 速度向上: 2-3倍
| タスク | CUDAのみ | Tensor Core | 高速化 | |--------|---------|------------|--------| | ResNet-50 | 1,000 img/s | 7,000 img/s | 7倍 | | BERT | 30 seq/s | 200 seq/s | 6.6倍 | | GPT-3 | 実用不可 | 実用的 | - |
# Tensor Core有効化
torch.backends.cudnn.benchmark = True
torch.backends.cuda.matmul.allow_tf32 = True
# 混合精度トレーニング
from torch.cuda.amp import GradScaler, autocast
scaler = GradScaler()
with autocast():
output = model(input)
loss = criterion(output, target)
scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()
# 混合精度ポリシー
from tensorflow.keras import mixed_precision
policy = mixed_precision.Policy('mixed_float16')
mixed_precision.set_global_policy(policy)
# 自動的にTensor Core使用
model.compile(...)
model.fit(...)
コンシューマー向け:
- RTX 2060以上(第2世代)
- RTX 3050以上(第3世代)
- RTX 4060以上(第4世代)
プロフェッショナル:
- RTX A2000以上
- A100, H100(データセンター)
最適なバッチサイズ:
- 8の倍数(必須)
- 可能なら64, 128, 256
- メモリ許容最大値
理由: Tensor Coreは8×8行列が基本単位
# 良い例: チャンネル数8の倍数
Conv2d(in_channels=256, out_channels=512, ...)
# 悪い例: 奇数や素数
Conv2d(in_channels=257, out_channels=511, ...)
タスク: ResNet-50推論
バッチサイズ: 128
FP32(CUDAコア): 2,500 img/s
FP16(Tensor Core): 8,000 img/s
INT8(Tensor Core): 15,000 img/s
確認方法:
nvidia-smi dmon
# SMACT列でTensor使用率確認
原因と対策:
1. データ型: FP32 → FP16/TF32
2. バッチサイズ: 8の倍数に
3. ライブラリ: 最新版に更新
対策:
1. gradient_checkpointing有効化
2. バッチサイズ削減
3. モデル並列化
4. より大容量GPU
Tensor Coreは現代のAI/MLワークロードに不可欠な技術となっており、ゲーミングから科学計算まで幅広い用途で活用されています。適切に活用することで、劇的な性能向上を実現できます。