Tom's Hardware Italia Tom's Hardware
Schede Grafiche

Tensor Core e DLSS, Turing guarda al futuro

Pagina 14: Tensor Core e DLSS, Turing guarda al futuro

Anche se l'architettura Volta era zeppa di grandi cambiamenti rispetto a quella Pascal, l'aggiunta dei Tensor core ha rappresentato l'indicazione più chiara dello scopo della GPU GV100: quei core nascono per accelerare operazioni a matrice 4×4 con input FP16, ossa la base dell'allenamento di reti neurali e inferenza.

Come l'SM di Volta, anche Turing ha due Tensor core per quad, o per capirci meglio ha otto Tensor core per Streaming Multiprocessor. TU102 ha meno SM di GV100 (72 vs. 84), e la RTX 2080 Ti ha meno SM abilitati di una Titan V (68 vs. 80). Perciò la RTX 2080 Ti ha solo 544 Tensor core rispetto ai 640 della Titan V. I Tensor core di TU102 sono però implementati in modo differente: non supporta la moltiplicazione FP16 con operazioni d'accumulo FP32 usate per l'allenamento in ambito deep learning.

Si tratta di una scelta che ha senso: GV100 è stato progettato per l'allenamento di reti neurali mentre TU102 è una GPU gaming in grado di usare reti allenate per l'inferenza. Puntare specificatamente a operazioni FP16, INT8 e INT4 richiede meno transistor che costruire percorsi più ampi per una precisione maggiore. Di conseguenza vi sono benefici prestazionali. Nvidia afferma che i Tensor core di TU102 garantiscono un massimo di 114 TFLOPS con operazioni FP16, 228 TOPS con INT8 e 455 TOPS con INT4.

La maggior parte dei piani attuali di Nvidia per i Tensor core si concentra attorno al concetto di grafica neurale. L'azienda sta tuttavia ricercando altri campi di applicazione del deep learning per le schede video desktop.

Nemici intelligenti, ad esempio, potrebbero cambiare completamente il modo in cui i giocatori approcciano ai combattimenti. La sintesi vocale, il riconoscimento della voce, il miglioramento del materiale artistico, il rilevamento di cheat e l'animazione del personaggio sono tutte aree dove l'AI è già in uso o dove Nvidia vede del potenziale.

deep learning super sampling
Clicca per ingrandire

Il focus di questo lancio però è sul Deep Learning Super Sampling (DLSS). Il processo tramite il quale DLSS è implementato richiede il supporto da parte dello sviluppatoro tramite l'API Nvidia NGX. L'azienda afferma che l'integrazione è piuttosto semplice e sono già 25 i giochi che supporteranno DLSS dimostrando cosa può fare per la qualità delle immagini.

Il tutto è gestito da Nvidia stessa, che offre alle software house la possibilità di ottenere una cosiddetta "ground truth image", ossia la rappresentazione qualitativamente più alta possibile dei propri asset, grazie a una risoluzione super elevata e altre soluzioni.

Una volta ottenuta, Nvidia può allenare un modello di intelligenza artificiale grazie al proprio server SaturnV DGX-1 composto da 660 nodi per ottenere immagini di minore qualità ma quanto più vicine alla "ground truth image".

Questi modelli si scaricheranno tramite i driver di Nvidia e vi si accederà mediante i Tensor core da qualunque scheda GeForce RTX. Nvidia afferma che ogni modello AI peserà "nell'ordine dei megabyte", il che lo rende piuttosto leggero. Anche se speriamo che il software GeForce Experience non sia un requisito di DLSS, sospettiamo che lo sarà.

Nvidia ha confermato che le caratteristiche di NGX sono strettamente integrate in GFE. Se il software rileva una GPU basata su architettura Turing, scarica un pacchetto chiamato NGX Core, che determina se i giochi / app sono rilevanti per NGX. Quando c'è una corrispondenza, NGX Core recupera qualsiasi rete neurale profonda associata per l'uso successivo.

taa
TAA abilitato: notate il testo "rovinato", clicca per ingrandire
dlss
DLSS abilitato: gli artefatti sono spariti, clicca per ingrandire

DLSS rappresenterà un reale passo avanti? È difficile dirlo adesso. Abbiamo visto un esempio di DLSS con la demo Infiltrator di Epic e sembrava funzionare davvero bene. Non è chiaro se Nvidia saprà ottenere risultati simili con ogni gioco, in base a genere, dettaglio ambientale e così via. Ciò che sappiamo è che DLSS è un auto-encoder convoluzionale in tempo reale addestrato su immagini campionate 64 volte. Per funzionare necessita di un frame a risoluzione normale tramite l'API NGX per restituire una versione di quel frame a qualità superiore.

A margine della Gamescom Nvidia ha iniziato a parlare di prestazioni, anticipando il comportamento della RTX 2080 con DLSS abilitato rispetto alla GTX 1080. Quei risultati facevano sembrare che l'attivazione di DLSS migliorasse il frame rate in modo incredibile, ma non c'erano informazioni a chiarire come fossero stati fatti i benchmark. A quanto pare, DLSS migliora le prestazioni riducendo il carico di lavoro della scheda per quanto riguarda lo shading, ottenendo allo stesso tempo una qualità simile.

Turing può produrre un'uscita di qualità maggiore da un determinato numero di campioni di partenza rispetto a un algoritmo di post-processing come Temporal Anti-Aliasing (TAA). Per DLSS, Nvidia trasforma il tutto in un vantaggio prestazionale riducendo i sample di partenza dati alla rete fino a quando l'uscita finale (alla stessa risoluzione di TAA) è vicina a una qualità simile. Anche se Turing passa del tempo a gestire la rete neurale profonda, i risparmi attribuibili a un minor lavoro di shading sono maggiori. Con DLSS 2x Nvidia afferma che può raggiungere l'equivalente di un super-sampling 64x renderizzando gli input alla risoluzione obiettivo, evitando gli artefatti legati alla trasparenza e alla sfocatura che si vedono a volte con il TAA.

Nvidia afferma che sono già 25 i giochi in lista per supportare DLSS, inclusi titoli esistenti come Ark: Survival Evolved, Final Fantasy XV e PlayerUnknown's Battlegrounds.