Part 18: Mixed Precision Training

Ngebut dengan Mengurangi Presisi

1. FP32 vs FP16

Secara default, Neural Network menggunakan Float32 (32-bit Floating Point). Presisinya tinggi, tapi boros memori dan lambat. GPU modern (Nvidia RTX/Tesla) punya fitur khusus bernama Tensor Cores yang sangat cepat menghitung matriks dalam Float16.

Tipe Data Ukuran (Bit) Range Angka Kecepatan
FP32 (Single) 32-bit Sangat Luas 1x (Standard)
FP16 (Half) 16-bit Lebih Sempit ~3x Lebih Cepat

2. Cara Pakai (Gampang Banget!)

Cukup tambah 1-2 baris kode untuk mengaktifkan Mixed Precision.

TensorFlow
from tensorflow.keras import mixed_precision

# Aktifkan Policy
mixed_precision.set_global_policy('mixed_float16')
PyTorch
scaler = torch.cuda.amp.GradScaler()

with torch.cuda.amp.autocast():
    output = model(input)
    loss = criterion(output, target)

scaler.scale(loss).backward()
scaler.step(optimizer)
scaler.update()

Training Sudah Cepat, Tapi Data Sedikit?

Jangan training dari nol! Gunakan otak model lain yang sudah pintar (Transfer Learning). Seperti mengajari Profesor Fisika untuk memasak—belajarnya pasti cepat.

Lanjut ke Part 19: Transfer Learning