Il formato unificato E4M3 in DeepSeek-V3 contribuisce in modo significativo all'efficienza del modello affrontando diverse sfide associate all'addestramento a precisione mista, in particolare quelle relative alla gamma dinamica e alla precisione. Ecco una spiegazione dettagliata di come questo formato migliora l'efficienza:
Strategia di quantizzazione a grana fine
DeepSeek-V3 impiega una strategia di quantizzazione a grana fine, che gli consente di utilizzare efficacemente il formato E4M3 in tutte le fasi della formazione. A differenza dei precedenti framework che utilizzavano i formati ibridi FP8 (ad esempio, E4M3 per il passaggio in avanti e E5M2 per il passaggio all'indietro), l'approccio di Deepseek-V3 garantisce che le attivazioni siano raggruppate e ridimensionate su una base di piastrelle 1x128, mentre i pesi sono ridimensionati su una base a blocchi 128x128 [1] [2]. Questa granularità aiuta a gestire meglio i valori anomali regolando dinamicamente i fattori di ridimensionamento per ciascun gruppo, che mitiga l'impatto di una gamma dinamica limitata inerente ai formati FP8 [3].
ridimensionamento dinamico e quantizzazione online
Il modello utilizza la quantizzazione online, in cui i fattori di ridimensionamento vengono calcolati dinamicamente per ciascuna piastrella di attivazione o blocco di peso durante l'allenamento. Ciò elimina la necessità di mantenere i valori massimi storici, semplificando il quadro e migliorando l'accuratezza [1] [2]. Regolando dinamicamente questi fattori di ridimensionamento, DeepSeek-V3 può ottimizzare l'uso dei secchi di rappresentazione del numero FP8 disponibili, garantendo che la maggior parte dei valori non siano raggruppati in un intervallo ristretto, il che porterebbe altrimenti a una scarsa precisione per valori più piccoli [3].
Utilizzo della memoria ridotto e costi computazionali
Il formato unificato E4M3, combinato con quantizzazione a grana fine, riduce significativamente l'utilizzo della memoria. Memorizzando le attivazioni e gli stati di ottimizzatore in formati a bassa precisione (ad es. FP8 per le attivazioni), DeepSeek-V3 riduce al minimo i requisiti di memoria, che è cruciale per i modelli su larga scala [1] [5]. Inoltre, l'uso di FP8 per i calcoli chiave riduce i costi computazionali, in quanto richiede un elaborazione di meno dati rispetto a formati di precisione più elevati come FP16 o FP32 [5].
stabilità numerica migliorata
DeepSeek-V3 affronta anche il problema della perdita numerica di precisione associata alla formazione FP8 promuovendo i risultati parziali ai registri FP32 a intervalli specifici durante l'accumulo. Questa strategia mitiga gli errori causati dall'accumulo limitato della larghezza di bit nei nuclei di tensore, garantendo stabilità numerica e formazione affidabile [1] [7].
In sintesi, il formato unificato E4M3 in DeepSeek-V3 migliora l'efficienza consentendo la quantizzazione a grana fine, il ridimensionamento dinamico, l'utilizzo della memoria ridotto e la migliore stabilità numerica. Queste innovazioni consentono a DeepSeek-V3 di ottenere prestazioni all'avanguardia ottimizzando al contempo le risorse computazionali.
Citazioni:
[1] https://community.aws/content/2rjj1wztsfywvfsiibhwxeqmf1/four-unique-takeaways-from-deepseek-v3?lang=en
[2] https://research.meekolab.com/deepseeks-low-level-hardware-magic
[3] https://fireworks.ai/blog/deepseek-model-architecture
[4] https://dirox.com/post/deepseek-v3-the-open-source-ai- revolution
[5] https://cciedump.spoto.net/newblog/overview-of-deepseek-v3:-latest-deepseek-technical-report.html
[6] https://adasci.org/deepseek-v3-explained-optimizing-efficiency-and-scale/
[7] https://www.linkedin.com/posts/danielhanchen_deepseek-v3-is-the-most-powerful-open-source-activity-7278488573006200832-kta_
[8] https://www.reddit.com/r/localllama/comments/1hmmtt3/deepseek_v3_is_officially_released_code_paper/