Deși inferența în format FP8 este larg răspândită, antrenarea de la zero a unui model frontier în FP8 a fost considerată mult timp imposibilă din cauza acumulării erorilor de rotunjire și a gradienților mici care provoacă colapsul valorilor (underflow).
DeepSeek a conceput un framework inovator de cuantizare dinamică pe blocuri mici (Block-wise Quantization, ex: blocuri 1×128 sau 128×128) cu factori independenți de scalare pentru activări și greutăți:
# Scalare pe blocuri de 128 elemente în DeepSeek-V3
def quantize_block_fp8(x_tensor):
# Împarte tensorul în blocuri mici
blocks = x_tensor.view(-1, 128)
scale = blocks.abs().max(dim=-1, keepdim=True).values / 448.0 # 448 = max FP8 E4M3
quantized_blocks = torch.clamp(blocks / scale, -448.0, 448.0).to(torch.float8_e4m3fn)
return quantized_blocks, scale
Această tehnologie a redus consumul de memorie VRAM cu 50% și a redus costul de antrenare al modelului DeepSeek-V3 la mai puțin de 6 milioane de dolari.
Întrebări & Exemple practice:
Antrenare cu Precizie Mixtă FP8 la Scară MasivăAi o întrebare despre Antrenare cu Precizie Mixtă FP8 la Scară Masivă sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.