En utvecklarvänlig introduktion till blandad precisionsträning med PyTorch

Blogg

TLDR: | _+_ | utbildningsmodul med blandad precision i PyTorch 1.6 levererar sitt löfte och levererar hastigheter på 50–60% i stora modellträningsjobb med bara en handfull nya kodlinjer.



En av de mest spännande tilläggen som förväntas landa i PyTorch 1.6, som kommer snart, är stöd för automatisk utbildning med blandad precision .






Blandad precisionsträning är en teknik för att väsentligt minska neuralträningstiden genom att utföra så många operationer som möjligt i halvprecisionsflytpunkt, | _+_ |, istället för (PyTorch-standard) enkelprecisionsflytpunkt, | _+ _ |. De senaste generationerna av NVIDIA-grafikkort har laddats med speciella ** tensor-kärnor ** speciellt utformade för snabba | _+_ | matrisoperationer.



Men fram till nu har dessa tensorkärnor varit svåra att använda, eftersom det har krävt att man har skrivit in reducerade precisionsoperationer i din modell för hand. Det är här _automatisk _ i _automatisk blandad precisionsträning _ kommer in. Den nyligen släppta | _+_ | Med API kan du implementera blandad precisionsträning i dina träningsmanus i bara fem kodrader!



Det här inlägget är en utvecklarvänlig introduktion till blandad precisionsträning. Vi ska:






  • Ta en djupdykning i träning med blandad precision som teknik.
  • Introducera tensorkärnor: vad de är och hur de fungerar.
  • Presentera nya PyTorch | _+_ | API.
  • Benchmark tre olika nätverk utbildade med | _+_ |.
  • Diskutera vilka nätverksarketyper som kommer att ha störst nytta av | _+_ |.

#pytorch #gpu #datavetenskap #djupinlärning #maskininlärning

motdatascience.com

En utvecklarvänlig introduktion till blandad precisionsträning med PyTorch

En utvecklarvänlig introduktion till blandad precisionsträning med PyTorch. Det här inlägget är en utvecklarvänlig introduktion till blandad precisionsträning.