FP8-tarkkuus on ratkaiseva rooli Deepseek-V3: n koulutusprosessissa, mikä parantaa merkittävästi tehokkuutta ja vähentää laskennallisia kustannuksia. Tässä on yksityiskohtainen selitys sen roolista:
Johdanto FP8: n tarkkuuteen
FP8 on 8-bittinen liukuluku-muoto, joka tarjoaa kompaktimemman esityksen verrattuna perinteisiin 16-bittisiin tai 32-bittisiin muotoihin. Tämä kompaktius johtaa vähentyneeseen muistin käyttöä ja nopeampaa laskentaa, mikä tekee siitä ihanteellisen suuren mittakaavan AI-mallikoulutukseen, kuten DeepSeek-V3 [3] [5].
Sekoitettu tarkkuuskehys
DeepSeek-V3 käyttää sekoitettua tarkkuuskehystä, jossa mallin eri osat käyttävät eri tarkkuustasoja. Suurin osa laskentaintensiivisistä toiminnoista, kuten yleinen matriisin kertolasku (GEMM), suoritetaan FP8: ssa nopeuden ja muistin käytön optimoimiseksi. Tietyt operaatiot, jotka vaativat suurempaa tarkkuutta, kuten upotusmoduuli, lähtöpää, MOE -portti -moduulit, normalisointioperaattorit ja huomion operaattorit, pidetään kuitenkin suuremmissa tarkkuusmuodoissa (FP16 tai FP32) tarkkuuden ylläpitämiseksi [1] [5].
Hienojyväinen kvantisointi
FP8: n rajoitetun dynaamisen alueen haasteiden ratkaisemiseksi DeepSeek-V3 esittelee hienorakeisen kvantisointistrategian. Tähän sisältyy aktivointien ryhmittely 1x128 laattoihin ja painoihin 128x128 lohkoihin, kukin skaalattu itsenäisesti. Tämä lähestymistapa estää ääriarvoja vääristämästä koko tenoria, vähentämällä kvantisointivirheitä ja ylläpitää mallin tarkkuutta [1] [5].
Online -kvantisointi
DeepSek-V3 käyttää online-kvantisointia, jossa skaalauskertoimet lasketaan dynaamisesti jokaiselle aktivointilaatille tai painohalkolle harjoituksen aikana. Tämä eliminoi viivästyneiden kvantisointimenetelmien tarpeen, jotka luottavat historiallisiin maksimiarvoihin, yksinkertaistaen kehystä ja parantavat tarkkuutta [1] [5].
Lisääntynyt kertymisen tarkkuus
FP8: n rajoitetun kertymisen tarkkuuden aiheuttamien virheiden lieventämiseksi tensorisydämissä Deepseek-V3 edistää osittaisia tuloksia FP32-rekistereihin tietyin väliajoin GEMM-operaatioiden aikana. Tämä varmistaa, että pienten virheiden kertyminen on minimoitu ylläpitäen mallin yleistä tarkkuutta [1] [5].
Unified E4M3 -muoto
Toisin kuin aiemmissa kehyksissä, joissa käytettiin hybridi FP8 -muotoja (esim. E4M3 eteenpäin suuntautuvaan passiin ja E5M2 taaksepäin), DeepSeek-V3 omaksuu yleisesti E4M3-muodon. Tämä on mahdollista sen hienorakeisella kvantisointistrategialla, jolla on tehokkaasti eksponenttibittejä ryhmiteltyjen elementtien keskuudessa säilyttäen tarkkuuden kaikissa laskelmissa [1] [5].
Vaikutus koulutuksen tehokkuuteen
FP8-tarkkuuden käyttö kiihdyttää merkittävästi DeepSeek-V3: n koulutusprosessia. Malli koulutettiin käyttämällä 2048 GPU: n datakeskusta vain noin kahdessa kuukaudessa, mikä vaatii vain 2,664 miljoonaa H800 GPU-tuntia ennen koulutusta ja ylimääräistä 0,1 miljoonaa GPU-tuntia seuraaviin vaiheisiin. Tämä tehokkuus johtuu vähentyneestä muistin kulutuksesta ja FP8: n tarjoamasta laskennallisesta nopeudesta [3] [6].
Yhteenvetona voidaan todeta, että FP8: n tarkkuus Deepseek-V3: ssa on ratkaisevan tärkeää korkean koulutustehokkuuden saavuttamiseksi samalla kun mallin tarkkuus ylläpitää. Se integroidaan huolellisesti sekoitettuun tarkkuuskehykseen, hyödyntäen hienorakeista kvantisointia ja online-kvantisointia FP8: n rajoitusten lieventämiseksi.
Viittaukset:
[1] https://community.aws/content/2rjj1wkztsfywvfsiibhwxeqmf1/four-unique-takeaways-from-deepseek-v3?lang=en
[2] https://arxiv.org/pdf/2412.19437.pdf
.
.
.
[6] https://huggingface.co/deepseek-ai/deeptseek-v3
[7] https://martinfowler.com/articles/deepseek-pappers.html
.