Nvidia's Tensor Cores voor Machine Learning en AI - uitgelegd

De inmiddels beroemde RTX-serie grafische kaarten van Nvidia is enorm succesvol sinds hun lancering met de RTX 20-serie. De introductie van de RTX-branding was een verandering in de richting van het bedrijf en als gevolg daarvan de grafische kaartmarkt als geheel. Nvidia heeft zijn eerste RTX-serie met succes gevolgd met de lancering van de RTX 30-serie in 2020, hoewel de lancering zelf een beetje een teleurstelling was vanwege wereldwijde voorraad- en beschikbaarheidsproblemen. Toch blijft het merk RTX tegenwoordig een dominante kracht op de markt voor grafische kaarten.

Met de introductie van RTX heeft Nvidia ondersteuning gebracht voor realtime Ray Tracing in games, wat de manier waarop licht zich gedraagt ​​in de omgeving van de games verandert. We hebben de twee vormen van weergave al vergeleken, Ray Tracing en gerasterde weergave, in detail en al met al lijkt Ray Tracing de beste keuze als het gaat om de toekomst van gaming. Nvidia heeft ook gespecialiseerde cores voor Ray Tracing in hun RTX-kaarten opgenomen, bekend als RT Cores, die het grootste deel van de rendering-werklast afhandelen als het gaat om Ray Tracing in games. Wat de meeste mensen misschien niet weten, is dat Nvidia ook een andere set cores heeft geïntroduceerd met hun Turing- en Ampere-kaarten, bekend als Tensor Cores.

Tensor-kernen

Tensor Cores zijn fysieke cores die zijn bedoeld voor complexe berekeningen die betrokken zijn bij taken zoals machine learning en AI. Tensor Cores maken computers met gemengde precisie mogelijk, waarbij berekeningen dynamisch worden aangepast om de doorvoer te versnellen met behoud van de nauwkeurigheid. Deze kernen zijn specifiek ontworpen om te helpen bij deze complexe werkbelastingen om deze berekeningen efficiënter te maken en om de belangrijkste CUDA-kernen van de kaart te ontlasten van de extra belasting.

In consumentenkaarten, zoals de gaming-gerichte GeForce-serie kaarten op basis van de Turing- of Ampere-architectuur, hebben de Tensor Cores niet specifiek een weergavetaak. Deze kernen geven geen frames weer of helpen niet bij algemene prestatienummers zoals de normale CUDA-kernen of de RT-kernen dat zouden kunnen doen. De aanwezigheid van Tensor Cores in deze kaarten dient een doel. Deze kernen verwerken het grootste deel van de verwerkingskracht achter de uitstekende Deep Learning Super Sampling- of DLSS-functie van Nvidia. We zullen DLSS binnen een minuut verkennen, maar eerst moeten we bepalen welke kaarten eigenlijk Tensor Cores bezitten.

Op het moment van schrijven zijn er maar een handvol kaarten met Tensor Cores erin. Nvidia integreerde eerst de Tensor Cores in de Nvidia TITAN V, een werkstationkaart gebaseerd op de Volta-architectuur. Deze architectuur is nooit verkleind tot grafische kaarten op consumentenniveau en daarom is de Volta-architectuur nooit gezien in een GeForce GPU. Daarna introduceerde Nvidia de Tensor-cores in een aantal Quadro GPU's, en nog belangrijker voor gamers, de RTX-kaarten op basis van de Turing- en Ampere-architectuur. Dit betekent dat alle grafische kaarten van het merk RTX, van de RTX 2060 tot en met de RTX 3090, Tensor Cores hebben en kunnen profiteren van de DLSS-functie van Nvidia.

Hoe werken tensor-kernen?

Hoewel het eigenlijke proces achter de werking van een Tensor Core vrij gecompliceerd is, kan het in drie punten worden samengevat.

  • Tensor Cores verminderen de gebruikte cycli die nodig zijn voor het berekenen van vermenigvuldigings- en optelbewerkingen, 16-voudig - in mijn voorbeeld voor een 32 × 32-matrix, van 128 cycli naar 8 cycli.
  • Tensor Cores verminderen de afhankelijkheid van herhaalde gedeelde geheugentoegang, waardoor extra cycli voor geheugentoegang worden bespaard.
  • Tensor Cores zijn zo snel dat berekeningen niet langer een bottleneck zijn. Het enige knelpunt is om gegevens naar de Tensor Cores te krijgen.

In eenvoudige bewoordingen worden Tensor-kernen gebruikt om uiterst complexe berekeningen uit te voeren die andere niet-gespecialiseerde kernen, zoals CUDA-kernen, een onredelijke hoeveelheid tijd kosten om uit te voeren. Door hun specifieke aard zijn Tensor Cores duidelijk uitstekend in het uitvoeren van dit soort werkzaamheden. Toen Volta voor het eerst verscheen, voerde Anandtech zelfs enkele wiskundige tests uit met behulp van 3 Nvidia-kaarten. De nieuwe Volta-kaart, een hoogwaardige grafische kaart van Pascal en een oudere Maxwell TITAN-kaart werden allemaal in de mix gegooid en dit waren de resultaten.

In dit diagram verwijst de term precisie naar het aantal bits dat wordt gebruikt voor de drijvende-kommagetallen in de matrices, waarbij dubbel 64 is, enkel 32, enzovoort. Dit resultaat laat duidelijk zien dat de Tensor Cores ver voorlopen op de standaard CUDA cores als het gaat om gespecialiseerde tensorberekeningen zoals deze.

Toepassingen

Maar wat zijn precies de toepassingen van deze Tensor Cores? Omdat Tensor Cores complexe processen zoals AI-training tot wel 10 keer kan versnellen, zijn er verschillende gebieden in AI en Deep Learning waar Tensor Cores nuttig kan zijn. Hier zijn enkele veelvoorkomende gebieden waar Tensor Cores kunnen worden gebruikt.

Diep leren

Een gebied waar Tensor Cores en de kaarten die ze hebben bijzonder nuttig kunnen zijn, is het gebied van Deep Learning. Dit is eigenlijk een subveld van machine learning dat zich bezighoudt met algoritmen die zijn geïnspireerd door de structuur en functie van de hersenen, kunstmatige neurale netwerken genaamd. Deep Learning is een enorm vakgebied dat een hele reeks interessante vakgebieden omvat. De kern van deep learning is dat we nu computers en voldoende gegevens hebben die snel genoeg zijn om daadwerkelijk grote neurale netwerken te trainen.

Hier komen de Tensor Cores om de hoek kijken. Terwijl normale grafische kaarten kunnen volstaan ​​voor een kleinschalige operatie of op individueel niveau, vereist dit proces veel specifiek rekenvermogen wanneer het op grotere schaal wordt geïmplementeerd. Wil een organisatie als Nvidia zelf werken aan Deep Learning als vakgebied, dan worden grafische kaarten met de specifieke rekenkracht van Tensor Cores een noodzaak. Tensor Cores verwerken deze werklasten veel efficiënter en sneller dan elke andere vorm van computerkern die momenteel beschikbaar is. Deze specificiteit maakt deze kernen en de kaarten die ze bevatten een waardevolle aanwinst voor de Deep Learning-industrie.

Kunstmatige intelligentie

We hebben allemaal de films gezien. Kunstmatige intelligentie wordt verondersteld de volgende grote stap te zijn op het gebied van computers en robotica. Kunstmatige intelligentie of AI verwijst naar de simulatie van menselijke intelligentie in machines die zijn geprogrammeerd om te denken als mensen en om soortgelijke acties uit te voeren. Ook eigenschappen als leren en probleemoplossing vallen onder de categorie kunstmatige intelligentie.

Opgemerkt moet worden dat kunstmatige intelligentie niet alleen beperkt is tot de intelligentie in machines zoals we in de films hebben gezien. Dit type intelligentie is tegenwoordig eigenlijk heel gebruikelijk in verschillende toepassingen. Onze virtuele assistenten in onze mobiele telefoons gebruiken ook een vorm van kunstmatige intelligentie. In de wereld van gaming vertonen alle door de computer gegenereerde en gecontroleerde vijanden en NPC's ook een bepaald niveau van kunstmatige intelligentie. Alles dat mensachtige neigingen of gedragsnuances heeft in een gesimuleerde omgeving, maakt gebruik van kunstmatige intelligentie.

Het gebied van kunstmatige intelligentie vereist ook veel computationele specificiteit en het is een ander gebied waar grafische kaarten die worden aangedreven door Tensor Cores zeker van pas komen. Nvidia is een van 's werelds leiders als het gaat om AI en Deep Learning, en hun producten zoals de Tensor Cores en functies zoals Nvidia's beroemde Deep Learning Super Sampling zijn een bewijs van hun positie.

Deep Learning Super Sampling

DLSS is een van de beste toepassingen van Tensor Cores die momenteel in de branche te vinden zijn. DLSS of Deep Learning Super Sampling is Nvidia's techniek voor slimme opschaling, waarmee een afbeelding die met een lagere resolutie wordt weergegeven, kan worden opgeschaald naar een weergave met een hogere resolutie, waardoor betere prestaties worden geboden dan bij native rendering. Nvidia introduceerde deze techniek met de eerste generatie van de RTX-serie grafische kaarten. DLSS is niet alleen een techniek voor gewone opschaling of supersampling, het gebruikt AI om de kwaliteit van de afbeelding die met een lagere resolutie werd weergegeven, slim te verbeteren om de beeldkwaliteit te behouden. Dit kan, in theorie, het beste van twee werelden bieden, aangezien de weergegeven afbeelding nog steeds van hoge kwaliteit zou zijn, terwijl de prestaties ook zullen worden verbeterd ten opzichte van native rendering.

DLSS maakt gebruik van de kracht van AI om slim te berekenen hoe de afbeelding met een lagere resolutie kan worden weergegeven terwijl de maximale kwaliteit intact blijft. Het gebruikt de kracht van de nieuwe RTX-kaarten om complexe berekeningen uit te voeren en gebruikt die gegevens vervolgens om het uiteindelijke beeld aan te passen zodat het er zo goed mogelijk uitziet als native rendering. Het kenmerkende kenmerk van DLSS is het buitengewoon indrukwekkende behoud van kwaliteit. Door traditionele opschaling met behulp van de gamemenu's te gebruiken, kunnen spelers zeker een gebrek aan scherpte en helderheid van de game opmerken nadat deze met een lagere resolutie is weergegeven. Dit is geen probleem bij het gebruik van DLSS. Hoewel het de afbeelding met een lagere resolutie (vaak wel 66% van de oorspronkelijke resolutie) rendert, is de resulterende opgeschaalde afbeelding veel veel beter dan wat je zou krijgen met traditionele opschaling. Het is zo indrukwekkend dat de meeste spelers het verschil niet kunnen zien tussen een afbeelding die native is weergegeven met een hogere resolutie en een afbeelding die is opgeschaald door DLSS.

Het meest opvallende voordeel van DLSS en misschien wel de hele drijfveer achter de ontwikkeling ervan, is de aanzienlijke verbetering van de prestaties terwijl DLSS is ingeschakeld. Deze prestatie komt voort uit het simpele feit dat DLSS het spel met een lagere resolutie weergeeft en het vervolgens opschaalt met behulp van AI om het af te stemmen op de uitvoerresolutie van de monitor. Door gebruik te maken van de diepgaande leerfuncties van de RTX-serie grafische kaarten, kan DLSS de afbeelding uitvoeren in een kwaliteit die overeenkomt met de native gerenderde afbeelding.

Nvidia heeft de mechanica achter zijn DLSS 2.0-technologie op zijn officiële website uitgelegd. We weten dat Nvidia een systeem gebruikt dat het Neural Graphics Framework of NGX wordt genoemd, dat het vermogen van een door NGX aangedreven supercomputer gebruikt om te leren en beter te worden in AI-berekeningen. DLSS 2.0 heeft twee primaire ingangen in het AI-netwerk:

  • Lage resolutie, aliasafbeeldingen weergegeven door de game-engine
  • Bewegingsvectoren met lage resolutie van dezelfde afbeeldingen - ook gegenereerd door de game-engine

Nvidia gebruikt vervolgens een proces dat bekend staat als temporele feedback om te 'schatten' hoe het frame eruit zal zien. Vervolgens gebruikt een speciaal type AI-autoencoder het huidige frame met lage resolutie en het vorige frame met hoge resolutie om pixel voor pixel te bepalen hoe een huidig ​​frame van hogere kwaliteit kan worden gegenereerd. Nvidia onderneemt tegelijkertijd ook stappen om het begrip van de supercomputer van het proces te verbeteren:

Toekomstige toepassingen

Zoals we kunnen zien aan de toepassingen zoals deep learning, kunstmatige intelligentie en vooral de DLSS-functie die Nvidia nu heeft geïntroduceerd, voeren de Tensor Cores van deze grafische kaarten veel interessante en belangrijke taken uit. Het is moeilijk te voorspellen wat de toekomst voor deze velden in petto heeft, maar men kan zeker een gefundeerde voorspelling doen op basis van de huidige gegevens en trends in de branche.

Momenteel is de wereldwijde push op gebieden als kunstmatige intelligentie en machine learning op een recordhoogte. Het is veilig om aan te nemen dat Nvidia zijn assortiment grafische kaarten met de Tensor Cores in de nabije toekomst zal uitbreiden, en die kaarten zullen van pas komen voor deze toepassingen. Bovendien is DLSS een andere geweldige toepassing van de deep learning-technologieën die gebruik maken van de Tensor Cores, en die waarschijnlijk ook in de nabije toekomst grote verbeteringen zal zien. Het is een van de meest interessante en meest productieve functies die de afgelopen jaren in de pc-gamingindustrie zijn verschenen, dus je moet aannemen dat het hier is om te blijven.

Met de kracht van de Tensor Cores wordt in hoog tempo vooruitgang geboekt op het gebied van machine learning en kunstmatige intelligentie. Dit proces zal hoogstwaarschijnlijk worden voortgezet en versterkt met bedrijven zoals Nvidia die de leiding nemen en de pc-gamingindustrie leiden als het gaat om het toepassen van de kennis van deze velden in de games die we spelen.

Facebook Twitter Google Plus Pinterest