Nvidia's Tensor Cores for Machine Learning and AI - Explained

Nvidias nu berømte RTX-serie af grafikkort har været enormt succesfuld lige siden lanceringen med RTX 20-serien. Introduktionen af ​​RTX-brandingen var en ændring i retning af virksomheden og som følge heraf grafikkortmarkedet som helhed. Nvidia har fulgt sin første RTX-serie med succes med lanceringen af ​​RTX 30-serien i 2020, selvom lanceringen i sig selv var lidt af en svigt på grund af verdensomspændende lager- og tilgængelighedsproblemer. Stadig forbliver RTX-mærket en dominerende kraft på grafikkortmarkedet i dag.

Med introduktionen af ​​RTX har Nvidia bragt støtte til realtids Ray Tracing i spil, hvilket transformerer den måde, lys opfører sig i spillets miljø. Vi har allerede sammenlignet de to former for gengivelse, Strålesporing og rasteriseret gengivelse, i detaljer og alt i alt ser Ray Tracing ud som vejen at gå så langt som fremtiden for spil er berørt. Nvidia har også inkluderet specialkerner dedikeret til Ray Tracing i deres RTX-kort kendt som RT Cores, som håndterer størstedelen af ​​gengivelsesarbejdsbelastningen, når det kommer til Ray Tracing i spil. Hvad de fleste måske ikke ved, er imidlertid, at Nvidia også har introduceret et andet sæt kerner med deres Turing- og Ampere-kort kendt som Tensor Cores.

Tensorkerner

Tensorkerner er fysiske kerner, der er dedikeret til komplekse beregninger, der er involveret i opgaver såsom maskinindlæring og AI. Tensorkerner muliggør computing med blandet præcision og tilpasser beregninger dynamisk for at fremskynde gennemstrømningen, samtidig med at nøjagtigheden bevares. Disse kerner er specielt designet til at hjælpe med disse komplekse arbejdsbelastninger for at gøre disse beregninger mere effektive samt for at aflaste de vigtigste CUDA-kerner på kortet for den ekstra byrde.

På forbrugerkort som den spilfokuserede GeForce-serie af kort baseret på Turing- eller Ampere-arkitekturen har Tensor Cores ikke specifikt et renderingsjob. Disse kerner gengiver ikke rammer eller hjælper med generelle præstationsnumre, som de normale CUDA-kerner eller RT-kernerne måske gør. Tilstedeværelsen af ​​Tensor Cores i disse kort tjener et formål. Disse kerner håndterer størstedelen af ​​processorkraften bag den fremragende Deep Learning Super Sampling eller DLSS-funktion i Nvidia. Vi vil udforske DLSS om et minut, men først skal vi identificere, hvilke kort der faktisk har Tensor Cores i første omgang.

I skrivende stund er der kun en håndfuld kort, der indeholder Tensor Cores. Nvidia integrerede først Tensor Cores i Nvidia TITAN V, som var et arbejdsstationskort baseret på Volta-arkitekturen. Denne arkitektur blev aldrig nedskaleret til grafikkort på forbrugerniveau, og Volta-arkitekturen blev således aldrig set i en GeForce GPU. Derefter introducerede Nvidia Tensor-kernerne i en flok Quadro GPU'er, og vigtigere for spillere, RTX-kortene baseret på Turing- og Ampere-arkitekturen. Det betyder, at alle RTX-mærke grafikkort fra RTX 2060 hele vejen til RTX 3090 har Tensor Cores og kan drage fordel af Nvidias DLSS-funktion.

Hvordan fungerer tensorkerner?

Mens den egentlige proces bag arbejdet med en Tensor Core er ret kompliceret, kan den opsummeres i tre punkter.

  • Tensorkerner reducerer de brugte cyklusser, der er nødvendige til beregning af multiplicerings- og additionsoperationer, 16 gange - i mit eksempel for en 32 × 32 matrix fra 128 cykler til 8 cyklusser.
  • Tensorkerner reducerer afhængigheden af ​​gentagen delt hukommelsesadgang og sparer dermed yderligere cyklusser for hukommelsesadgang.
  • Tensorkerner er så hurtige, at beregning ikke længere er en flaskehals. Den eneste flaskehals er at få data til Tensor Cores.

Med enkle ord bruges Tensor Cores til at udføre ekstremt komplekse beregninger, der tager andre ikke-specialiserede kerner som CUDA-kerner en urimelig tid at udføre. På grund af deres specifikke karakter er Tensor Cores klart fremragende til at udføre denne slags arbejde. Faktisk, da Volta først dukkede op, udførte Anandtech nogle matematiske tests ved hjælp af 3 Nvidia-kort. Det nye Volta-kort, et top-end Pascal-grafikkort og et ældre Maxwell TITAN-kort blev alle kastet i blandingen, og det var resultaterne.

I dette diagram henviser udtrykket præcision til antallet af bits, der bruges til de flydende punkttal i matricerne, hvor dobbelt er 64, enkelt er 32 osv. Dette resultat viser tydeligt, at Tensor Cores er langt foran de almindelige CUDA-kerner, når det kommer til specialiserede tensorberegninger som denne.

Ansøgninger

Men hvad er anvendelserne af disse Tensor Cores præcist? Da Tensor Cores kan fremskynde komplekse processer såsom AI-træning så meget som 10 gange, er der flere områder inden for AI og Deep Learning, som Tensor Cores kan være nyttige. Her er nogle almindelige områder, hvor tensorkerner kan bruges.

Dyb læring

Et område, hvor Tensor Cores og kortene, der har dem, kan være særligt gavnlige, er området Deep Learning. Dette er faktisk et underfelt af maskinindlæring, der beskæftiger sig med algoritmer inspireret af hjernens struktur og funktion kaldet kunstige neurale netværk. Deep Learning er et stort felt, der dækker en lang række interessante fagområder. Kernen i dyb læring er, at vi nu har hurtigt nok computere og nok data til faktisk at træne store neurale netværk.

Det er her Tensor Cores kommer ind. Selvom normale grafikkort måske er tilstrækkelige til en mindre operation eller på et individuelt niveau, kræver denne proces en masse specifik beregningshestekræfter, når den implementeres i større skala. Hvis en organisation som Nvidia selv ønsker at arbejde med Deep Learning som et felt, bliver grafikkort med de specifikke beregningsmæssige kræfter i Tensor Cores en nødvendighed. Tensor Cores håndterer disse arbejdsbelastninger meget mere effektivt og hurtigt end nogen anden form for computerkerne, der i øjeblikket er tilgængelig. Denne specificitet gør disse kerner og kortene, der indeholder dem, til et værdifuldt aktiv for Deep Learning-industrien.

Kunstig intelligens

Vi har alle set filmene. Kunstig intelligens formodes at være den næste store ting inden for computing og robotteknologi. Kunstig intelligens eller AI henviser til simulering af menneskelig intelligens i maskiner, der er programmeret til at tænke som mennesker og til at udføre lignende handlinger. Egenskaber som læring og problemløsning falder også ind under kategorien kunstig intelligens.

Det skal bemærkes, at kunstig intelligens ikke kun er begrænset til intelligens i maskiner, som vi har set i filmene. Denne type intelligens er faktisk meget almindelig i flere applikationer i dag. Vores virtuelle assistenter i vores mobiltelefoner bruger også en form for kunstig intelligens. I verden af ​​spil udviser alle computergenererede og kontrollerede fjender og NPC'er også et bestemt niveau af kunstig intelligens. Alt, hvad der har menneskelige tendenser eller adfærdsmæssige nuancer inden for et simuleret miljø, gør brug af kunstig intelligens.

Feltet kunstig intelligens kræver også en hel del beregningsspecificitet, og det er et andet område, hvor grafikkort drevet af Tensor Cores bestemt er nyttige. Nvidia er en af ​​verdens ledere, når det kommer til AI og Deep Learning, og deres produkter som Tensor Cores og funktioner som Nvidias berømte Deep Learning Super Sampling er et bevis på deres position.

Deep Learning Super Sampling

DLSS er en af ​​de bedste applikationer af Tensor Cores, der i øjeblikket findes i branchen. DLSS eller Deep Learning Super Sampling er Nvidias teknik til smart opskalering, som kan tage et billede, der gengives med en lavere opløsning og opskalere det til en skærm med højere opløsning, hvilket giver mere ydelse end naturlig gengivelse. Nvidia introducerede denne teknik med den første generation af RTX-serien af ​​grafikkort. DLSS er ikke kun en teknik til almindelig opskalering eller supersampling, det bruger snarere AI til smart at øge kvaliteten af ​​det billede, der blev gengivet med en lavere opløsning for at bevare billedkvaliteten. Dette kan i teorien give det bedste fra begge verdener, da det viste billede stadig vil være af høj kvalitet, mens ydeevnen også forbedres i forhold til naturlig gengivelse.

DLSS udnytter kraften fra AI til smart beregning af, hvordan billedet gengives i en lavere opløsning, samtidig med at den maksimale kvalitet er intakt. Det bruger kraften fra de nye RTX-kort til at udføre komplekse beregninger og bruger derefter disse data til at justere det endelige billede for at få det til at se så tæt på naturlig gengivelse som muligt. Kendetegnende ved DLSS er dens ekstremt imponerende bevarelse af kvalitet. Ved at bruge traditionel opskalering ved hjælp af spilmenuerne kan spillerne helt sikkert bemærke en mangel på skarphed og skarphed i spillet, efter at det er gengivet med en lavere opløsning. Dette er et ikke-problem, mens du bruger DLSS. Selvom det gengiver billedet med en lavere opløsning (ofte så meget som 66% af den originale opløsning), er det resulterende opskalerede billede langt langt bedre end hvad du ville få ud af traditionel opskalering. Det er så imponerende, at de fleste spillere ikke kan se forskellen mellem et billede, der er indbygget i den højere opløsning og et billede, der er opskaleret af DLSS.

Den mest bemærkelsesværdige fordel ved DLSS og uden tvivl hele incitamentet bag dens udvikling er den betydelige løft i ydeevne, mens DLSS er tændt. Denne præstation kommer fra det enkle faktum, at DLSS gengiver spillet i en lavere opløsning og derefter opskalerer det ved hjælp af AI for at matche skærmens outputopløsning. Ved hjælp af de dybe indlæringsfunktioner i RTX-serien af ​​grafikkort kan DLSS output billedet i en kvalitet, der matcher det oprindeligt gengivne billede.

Nvidia har forklaret mekanikken bag sin DLSS 2.0-teknologi på sin officielle hjemmeside. Vi ved, at Nvidia bruger et system kaldet Neural Graphics Framework eller NGX, som bruger en NGX-drevet supercomputers evne til at lære og blive bedre til AI-beregninger. DLSS 2.0 har to primære input til AI-netværket:

  • Lav opløsning, alias billeder gengivet af spilmotoren
  • Bevægelsesvektorer med lav opløsning fra de samme billeder - også genereret af spilmotoren

Nvidia bruger derefter en proces kendt som tidsmæssig feedback til at "estimere", hvordan rammen vil se ud. Derefter tager en speciel type AI autoencoder den nuværende opløsning med lav opløsning og den tidligere ramme med høj opløsning for at bestemme pixel-for-pixel-basis, hvordan man genererer en nuværende ramme af højere kvalitet. Nvidia tager også samtidig skridt til at forbedre supercomputerens forståelse af processen:

Fremtidige applikationer

Som vi kan se fra applikationerne som dyb læring, kunstig intelligens og især DLSS-funktionen, som Nvidia nu har introduceret, udfører Tensor Cores på disse grafikkort mange interessante og vigtige opgaver. Det er vanskeligt at forudsige, hvad fremtiden bringer for disse felter, men man kan bestemt lave en veluddannet forudsigelse baseret på aktuelle data og branchetendenser.

I øjeblikket er det globale skub inden for områder som kunstig intelligens og maskinlæring på et højeste niveau. Det er sikkert at antage, at Nvidia vil udvide sit sortiment af grafikkort, der inkluderer Tensor Cores i den nærmeste fremtid, og disse kort vil være nyttige til disse applikationer. Desuden er DLSS en anden god anvendelse af de dybe læringsteknologier, der bruger Tensor Cores, og det vil sandsynligvis også se store forbedringer i den nærmeste fremtid. Det er en af ​​de mest interessante og mest produktive funktioner, der har ramt pc-spilindustrien i de senere år, så man må antage, at det er kommet for at blive.

Med kraften fra Tensor Cores sker fremskridt inden for maskinindlæring og kunstig intelligens i et hurtigt tempo. Denne proces vil sandsynligvis fortsætte og forstærkes med virksomheder som Nvidia, der tager ansvaret og fører pc-spilindustrien, når det kommer til at anvende viden om disse felter i de spil, vi spiller.

Facebook Twitter Google Plus Pinterest