Nvidias Tensor Cores for Machine Learning and AI - Explained

Nvidias nu kända RTX-serie av grafikkort har varit enormt framgångsrikt sedan lanseringen med RTX 20-serien. Införandet av RTX-varumärket var en förändring i företagets riktning och som ett resultat grafikkortmarknaden som helhet. Nvidia har följt sin första RTX-serie framgångsrikt med lanseringen av RTX 30-serien 2020, även om själva lanseringen var lite av en besvikelse på grund av globala lager- och tillgänglighetsproblem. Fortfarande är RTX-varumärket fortfarande en dominerande kraft på grafikkortmarknaden idag.

Med introduktionen av RTX har Nvidia tagit stöd för realtidsstråling i spel, vilket förändrar hur ljuset beter sig i spelmiljön. Vi har redan jämfört de två formerna av rendering, Strålspårning och rastrerad rendering, i detalj och allt-i-allt Ray Tracing verkar som vägen att gå så långt som spelets framtid berör. Nvidia har också inkluderat specialkärnor dedikerade till Ray Tracing i sina RTX-kort, så kallade RT Cores, som hanterar huvuddelen av renderingens arbetsbelastning när det gäller Ray Tracing i spel. Vad de flesta kanske inte vet är att Nvidia också har introducerat en annan uppsättning kärnor med sina Turing- och Ampere-kort som kallas Tensor Cores.

Tensorkärnor

Tensorkärnor är fysiska kärnor som är dedikerade till komplexa beräkningar som är involverade i uppgifter som maskininlärning och AI. Tensor Cores möjliggör blandad precision beräkning, dynamiskt anpassa beräkningar för att påskynda genomströmningen samtidigt som noggrannheten bevaras. Dessa kärnor har utformats speciellt för att hjälpa till med dessa komplexa arbetsbelastningar för att göra dessa beräkningar mer effektiva, samt för att avlasta de viktigaste CUDA-kärnorna på kortet för den extra bördan.

I konsumentkort som den spelfokuserade GeForce-serien av kort baserade på Turing- eller Ampere-arkitekturen har Tensor Cores inte specifikt ett renderingsjobb. Dessa kärnor gör inte ramar eller hjälper till med allmänna prestandanummer som de vanliga CUDA-kärnorna eller RT-kärnorna kan göra. Närvaron av Tensor Cores i dessa kort tjänar ett syfte. Dessa kärnor hanterar huvuddelen av processorkraften bakom den utmärkta Deep Learning Super Sampling eller DLSS-funktionen hos Nvidia. Vi kommer att utforska DLSS på en minut, men först måste vi identifiera vilka kort som faktiskt har Tensor Cores.

I skrivande stund finns det bara en handfull kort som innehåller Tensor Cores. Nvidia integrerade först Tensor Cores i Nvidia TITAN V som var ett arbetsstationskort baserat på Volta-arkitekturen. Denna arkitektur har aldrig minskats till grafikkort på konsumentnivå och Volta-arkitekturen sågs aldrig i en GeForce GPU. Därefter introducerade Nvidia Tensor-kärnorna i ett gäng Quadro GPU: er, och ännu viktigare för spelare, RTX-korten baserade på Turing- och Ampere-arkitekturen. Detta innebär att alla RTX-märkta grafikkort från RTX 2060 hela vägen till RTX 3090 har Tensor Cores och kan dra nytta av Nvidias DLSS-funktion.

Hur fungerar tensorkärnor?

Medan den faktiska processen bakom arbetet med en Tensor Core är ganska komplicerad kan den sammanfattas i tre punkter.

  • Tensorkärnor minskar de använda cyklerna som behövs för att beräkna multiplicera och lägga till operationer, 16 gånger - i mitt exempel för en 32 × 32 matris, från 128 cykler till 8 cykler.
  • Tensor Cores minskar beroende av upprepad delad minnesåtkomst, vilket sparar ytterligare cykler för minnesåtkomst.
  • Tensorkärnor är så snabba att beräkning inte längre är en flaskhals. Den enda flaskhalsen är att få data till Tensor Cores.

Med enkla ord används Tensor Cores för att göra extremt komplexa beräkningar som tar andra icke-specialiserade kärnor som CUDA-kärnor en orimlig tid att utföra. På grund av sin specifika karaktär är Tensor Cores helt klart utmärkta för att utföra denna typ av arbete. När Volta först uppträdde genomförde Anandtech faktiskt några matematiska tester med 3 Nvidia-kort. Det nya Volta-kortet, ett avancerat Pascal-grafikkort och ett äldre Maxwell TITAN-kort kastades alla i mixen och det var resultaten.

I det här diagrammet hänför sig termen precision till antalet bitar som används för de flytande poängen i matriserna med dubbla som 64, singlar är 32, och så vidare. Detta resultat visar tydligt att Tensor Cores ligger långt före standard CUDA-kärnorna när det gäller specialiserade tensorberäkningar som den här.

Applikationer

Men exakt vad är tillämpningarna av dessa Tensor Cores? Eftersom Tensor Cores kan påskynda komplexa processer som AI-träning så mycket som tio gånger, finns det flera områden inom AI och Deep Learning som Tensor Cores kan vara användbara. Här är några vanliga områden där Tensor Cores kan användas.

Djup lärning

Ett område där Tensor Cores och de kort som har dem kan vara särskilt fördelaktiga är Deep Learning-området. Detta är faktiskt ett underfält av maskininlärning som handlar om algoritmer inspirerade av hjärnans struktur och funktion som kallas artificiella neurala nätverk. Deep Learning är ett stort område som täcker en mängd intressanta ämnesområden. Kärnan i djupinlärning är att vi nu har tillräckligt med snabba datorer och tillräckligt med data för att faktiskt träna stora neurala nätverk.

Det är här Tensor Cores kommer in. Även om vanliga grafikkort kan räcka för en liten skala eller på en individuell nivå, kräver denna process mycket specifika beräkningshästkrafter när den implementeras i större skala. Om en organisation som Nvidia själv vill arbeta med Deep Learning som ett fält, blir grafikkort med Tensor Cores specifika beräkningsförmåga en nödvändighet. Tensor Cores hanterar dessa arbetsbelastningar mycket mer effektivt och snabbt än någon annan form av datorkärna som för närvarande finns. Denna specificitet gör dessa kärnor och korten som innehåller dem till en värdefull tillgång för Deep Learning-industrin.

Artificiell intelligens

Vi har alla sett filmerna. Artificiell intelligens ska vara nästa stora sak inom datorer och robotik. Artificiell intelligens eller AI hänvisar till simulering av mänsklig intelligens i maskiner som är programmerade för att tänka som människor och utföra liknande åtgärder. Egenskaper som lärande och problemlösning faller också under kategorin artificiell intelligens.

Det bör noteras att artificiell intelligens inte bara är begränsad till intelligensen i maskiner som vi har sett i filmerna. Denna typ av intelligens är faktiskt mycket vanligt i flera applikationer nuförtiden. Våra virtuella assistenter i våra mobiltelefoner använder också en form av artificiell intelligens. I spelvärlden uppvisar alla datorgenererade och kontrollerade fiender och NPC: er en viss nivå av artificiell intelligens. Allt som har mänskliga tendenser eller beteendemässiga nyanser inom en simulerad miljö använder sig av artificiell intelligens.

Fältet artificiell intelligens kräver också en hel del beräkningsspecificitet och det är ett annat område där grafikkort som drivs av Tensor Cores definitivt kommer till nytta. Nvidia är en av världens ledare när det gäller AI och Deep Learning, och deras produkter som Tensor Cores och funktioner som Nvidias berömda Deep Learning Super Sampling är ett bevis på deras position.

Deep Learning Super Sampling

DLSS är en av de bästa applikationerna för Tensor Cores som för närvarande finns i branschen. DLSS eller Deep Learning Super Sampling är Nvidias teknik för smart uppskalning, som kan ta en bild som återges med en lägre upplösning och uppskala den till en skärm med högre upplösning, vilket ger mer prestanda än naturlig rendering. Nvidia introducerade denna teknik med den första generationen av RTX-serien av grafikkort. DLSS är inte bara en teknik för vanlig uppskalning eller supersampling, utan använder AI för att på ett smart sätt öka kvaliteten på bilden som gjordes med en lägre upplösning för att bevara bildkvaliteten. Detta kan i teorin ge det bästa från båda världar eftersom bilden som visas fortfarande skulle vara av hög kvalitet medan prestandan också kommer att förbättras jämfört med naturlig återgivning.

DLSS utnyttjar kraften från AI för att smart beräkna hur man återger bilden med en lägre upplösning och samtidigt hålla maximal kvalitet intakt. Den använder kraften från de nya RTX-korten för att utföra komplexa beräkningar och använder sedan dessa data för att justera den slutliga bilden så att den ser så nära nativ rendering som möjligt. Kännetecknet för DLSS är dess extremt imponerande bevarande av kvalitet. Med traditionell uppskalning med hjälp av spelmenyerna kan spelarna definitivt märka brist på skärpa och skarphet i spelet efter att det har gjorts med en lägre upplösning. Det här är ett problem när du använder DLSS. Även om den gör bilden med en lägre upplösning (ofta upp till 66% av den ursprungliga upplösningen), är den resulterande uppskalade bilden mycket bättre än vad du skulle få ut av traditionell uppskalning. Det är så imponerande att de flesta spelare inte kan se skillnaden mellan en bild som återges med högre upplösning och en bild som uppskalats av DLSS.

Den mest anmärkningsvärda fördelen med DLSS och utan tvekan hela incitamentet bakom dess utveckling är den betydande prestandahöjningen medan DLSS är påslagen. Denna prestanda kommer från det enkla faktum att DLSS renderar spelet med en lägre upplösning och sedan uppskalar det med AI för att matcha bildskärmens utgångsupplösning. Med hjälp av de djupa inlärningsfunktionerna i RTX-serien av grafikkort kan DLSS mata ut bilden i en kvalitet som matchar den ursprungligen återgivna bilden.

Nvidia har förklarat mekaniken bakom sin DLSS 2.0-teknik på sin officiella webbplats. Vi vet att Nvidia använder ett system som kallas Neural Graphics Framework eller NGX, som använder förmågan hos en NGX-driven superdator för att lära sig och bli bättre på AI-beräkningar. DLSS 2.0 har två primära ingångar till AI-nätverket:

  • Låg upplösning, aliasbilder som återges av spelmotorn
  • Rörelsevektorer med låg upplösning från samma bilder - genereras också av spelmotorn

Nvidia använder sedan en process som kallas temporal feedback för att "uppskatta" hur ramen kommer att se ut. Sedan tar en speciell typ av AI-autokodare den aktuella ramen med låg upplösning och föregående bild med hög upplösning för att bestämma pixel-för-pixel-basis hur man genererar en strömkvalitet av högre kvalitet. Nvidia vidtar samtidigt åtgärder för att förbättra superdatorns förståelse för processen:

Framtida applikationer

Som vi kan se från applikationer som djupinlärning, artificiell intelligens och särskilt DLSS-funktionen som Nvidia nu har introducerat, utför Tensor Cores på dessa grafikkort många intressanta och viktiga uppgifter. Det är svårt att förutsäga vad framtiden kommer för dessa områden, men man kan definitivt göra en utbildad förutsägelse baserad på aktuella data och branschtrender.

För närvarande är den globala pressen inom områden som artificiell intelligens och maskininlärning på en högsta nivå. Det är säkert att anta att Nvidia kommer att utöka sitt sortiment av grafikkort som inkluderar Tensor Cores inom en snar framtid, och dessa kort kommer att vara till nytta för dessa applikationer. Dessutom är DLSS en annan bra tillämpning av djupinlärningsteknologierna som använder Tensor Cores, och det kommer förmodligen också att se stora förbättringar inom en snar framtid. Det är en av de mest intressanta och mest produktiva funktionerna att träffa PC Gaming-industrin de senaste åren, så man måste anta att den är här för att stanna.

Med kraften i Tensor Cores görs framsteg inom maskininlärning och artificiell intelligens i snabb takt. Denna process kommer sannolikt att fortsätta och förstärkas med att företag som Nvidia tar ansvar och leder PC-spelindustrin när det gäller att tillämpa kunskapen inom dessa områden i de spel vi spelar.

Facebook Twitter Google Plus Pinterest