inference optimization
Samling af teknikker til at reducere beregningsomkostningerne og forsinkelsen ved at køre en trænet model, uden at ændre på træningen.
Kort fortalt
Inference optimization gør det hurtigere og billigere at bruge en AI-model i praksis ved fx at skære unødvendige dele væk eller bruge mindre præcise tal.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
1- 1
Anvendelse af teknikker som kvantisering, beskarring og destillation for at mindske beregningsomkostninger og forsinkelse, så en model kan køre hurtigere eller på ressourcebegrænset hardware.
- Kvantisering af en sprogmodel fra FP16 til INT8 reducerer hukommelsesforbruget med 50%.
- Beskarring af overflødige vægte i et neuralt netværk accelererer inference med 2x.
Hvornår bruges det
Bruges når en model skal deployes i produktion, især på edge-enheder eller i real-time systemer. Typiske metoder inkluderer kvantisering, beskarring (pruning) og viden destillation.
Kodeeksempel
import torch
model = torch.load('model.pth')
model.eval()
model_quantized = torch.quantization.quantize_dynamic(model, {torch.nn.Linear}, dtype=torch.qint8)Eksempel på dynamisk kvantisering af en PyTorch-model, der konverterer lineære lag til INT8.
Oprindelse
Udtrykket er sammensat af 'inference' (slutning, dvs. modelens forudsigelse) og 'optimization' (optimering), hentet fra datalogi.
Kilder
2- Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding
- Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference