Zephyrnet-logo

Waarom AI-inferentie grotendeels op de CPU zal blijven

Datum:

Gesponsorde functie Het trainen van een AI-model vergt een enorme hoeveelheid rekencapaciteit in combinatie met geheugen met hoge bandbreedte. Omdat de modeltraining kan worden geparalleliseerd, waarbij gegevens in relatief kleine stukjes worden gehakt en worden gekauwd door een groot aantal tamelijk bescheiden drijvende-komma-wiskundige eenheden, was een GPU misschien wel het natuurlijke apparaat waarop de AI-revolutie kon beginnen.

Hoewel er enkele aangepaste ASIC's zijn die enorme hoeveelheden van de vereiste matrixberekening kunnen uitvoeren, met verschillende soorten SRAM- of DRAM-geheugen, is de GPU nog steeds het geprefereerde AI-trainingsapparaat. Gedeeltelijk omdat GPU's alomtegenwoordig zijn en hun rekenkaders goed ontwikkeld en gemakkelijk toegankelijk zijn, is er geen reden om aan te nemen dat voor de meeste bedrijven (meestal) de GPU de voorkeurscomputer voor AI-training zal blijven.

Het kan geen kwaad dat GPU-versnelling gebruikelijk is geworden voor HPC-simulatie- en modelleringsworkloads. Of dat andere workloads in het datacenter – virtuele desktopinfrastructuur, data-analyse en databasebeheersystemen bijvoorbeeld – ook kunnen worden versneld op precies hetzelfde ijzer dat wordt gebruikt om AI-trainingen uit te voeren.

Maar AI-inferentie, waarbij het relatief complexe AI-model neerkomt op een reeks gewichten om voorspellende berekeningen te maken over nieuwe gegevens die geen deel uitmaakten van de oorspronkelijke trainingsset, is een heel andere zaak. Om zeer degelijke technische en economische redenen zou AI-inferentie in veel gevallen moeten blijven - en blijven - op dezelfde server-CPU's waarop applicaties vandaag draaien en worden uitgebreid met AI-algoritmen.

Het is moeilijk om gratis AI-inferentie te verslaan

Er zijn veel argumenten waarom inferentie op de CPU moet blijven en niet naar een versneller in het serverchassis moet gaan, of over het netwerk naar banken van GPU of aangepaste ASIC's die als inferentieversnellers draaien.

Ten eerste voegen externe inferentie-engines complexiteit toe (er zijn meer dingen te koop die kapot kunnen gaan) en voegen mogelijk beveiligingsrisico's toe omdat er meer aanvalsoppervlakken zijn tussen de applicatie en de inferentie-engine. En wat er ook gebeurt, externe inferentie-engines voegen latentie toe, en met name voor die workloads die over het netwerk lopen, wat veel hyperscalers en cloudbouwers doen.

Toegegeven, met eerdere generaties server-CPU's, de inferentie-doorvoer met behulp van gemengde precisie integer- of drijvende-kommagegevens. Om ze door geïntegreerde vectorwiskundige eenheden te duwen, was niet veel bandbreedte nodig, ook al was het misschien prima voor de inferentiesnelheden die door veel toepassingen worden vereist. En daarom, daarom nog steeds 70 procent van de inferentie in het datacenter, inclusief de hyperscalers en cloudbouwers en andere soorten ondernemingen, draait nog steeds op Intel® Xeon® CPU's. Maar voor zware deductietaken kon de doorvoer van een CPU van serverklasse niet concurreren met een GPU of aangepaste ASIC.

Tot nu.

Zoals we hebben eerder besproken, met de "Sapphire Rapids" 4e generatie Intel® Xeon®-processors, verhogen de Intel Advanced Matrix Extensions (AMX) matrix-wiskundeversnellers binnen elke "Golden Cove"-kern de prestaties aanzienlijk voor de wiskundige bewerkingen met lage precisie die ten grondslag liggen aan AI-inferentie (lees meer over de versnellers die zijn ingebouwd in de nieuwste Xeon-CPU's van Intel hier.).

Fig1: Sapphire Rapids Vector Matrix-doorvoer

Sapphire Rapids Vector Matrix-doorvoer

De AMX-units kunnen 2,048 8-bit integer (INT8) operaties per cyclus per kern verwerken. Dat is 24x meer doorvoer dan de gewone AVX-512-vectoreenheden die worden gebruikt in de "Skylake" CPU's en 8x meer bij INT8-bewerkingen dan de "Cascade Lake" en "Ice Lake" AVX-512-eenheden die werden uitgebreid met veel efficiënter Vector Neural Netwerkinstructies (VNNI). De Golden Cove-kernen ondersteunen het gebruik van zowel AVX-512 met VNNI- als AMX-eenheden die gelijktijdig werken, dus dat is 32x de INT8-doorvoer voor inferentiewerklasten.

De truc met de AMX-eenheid is dat deze is opgenomen in de Golden Cove-kern in elk van de 52 varianten van de Sapphire Rapids-CPU's in de SKU-stack. Gebaseerd op integer-prestaties in die cores (en exclusief de AVX-512- en AMX-prestaties), is de prijs/prestatieverhouding van de Sapphire Rapids Xeons hetzelfde of iets beter dan die van de vorige generatie Xeon SP-processors. Wat een andere manier is om te zeggen dat de AMX-units in wezen gratis zijn omdat ze in alle CPU's zijn opgenomen en extra prestaties leveren zonder extra kosten in vergelijking met Ice Lake. Het is moeilijker om goedkopere gevolgtrekkingen te krijgen dan gratis, vooral als de CPU's in het begin nodig zijn om applicaties uit te voeren.

De flops opstapelen

Theoretische prestaties zijn één ding, maar het gaat erom hoe daadwerkelijke AI-inferentietoepassingen gebruik kunnen maken van de nieuwe AMX-eenheden in de Golden Cove-kernen.

Laten we eens wat langer kijken en kijken hoe de inferentieprestaties zijn geëvolueerd sinds de "Broadwell" Xeon E7s werd gelanceerd in juni 2016 via de volgende vier generaties Xeon SP-processors. Deze specifieke grafiek toont het samenspel van de doorvoer van de processors en het wattage voor elke 1,000 beelden die per seconde worden verwerkt:

Fig2: Sapphire Rapids Xeon na verloop van tijd RESNET-inferentie

Sapphire Rapids Xeon in de loop van de tijd RESNET-gevolgtrekking

Zie [A17, A33] op https://edc.intel.com/content/www/us/en/products/performance/benchmarks/4th-generation-intel-xeon-scalable-processors/. Resultaten kunnen verschillen.

In dit geval doen de tests die zijn uitgevoerd op de vijf generaties servers beeldherkenning met behulp van het ResNet-50-model bovenop het TensorFlow-framework. In de afgelopen negen jaar is de verwerkingscapaciteit van de beeldverwerking toegenomen van ongeveer 300 beelden per seconde tot meer dan 12,000 beelden per seconde, wat een verbetering is van meer dan 40x.

En de warmte die wordt gegenereerd voor elke 1,000 verwerkte beelden per seconde is zelfs nog meer gedaald dan deze grafiek laat zien. Er zouden drie en een derde 24-core Broadwell E7-processors met FP32-precisie nodig zijn om een ​​snelheid van 1,000 beelden per seconde te halen, en met 165 watt per chip komt dat neer op 550 watt in totaal toegewezen voor deze belasting. De Sapphire Rapids-chips met de AMX-eenheden die een mix van BF16- en INT8-verwerking gebruiken, branden onder de 75 watt. Dat is dus meer dan een factor 7.3x betere prestaties per watt in Sapphire Rapids in vergelijking met die vorige vijf generaties Broadwell CPU's.

Hoe zit het met andere werklasten? Laten we kijken. Dit is hoe de 56-core Sapphire Rapids Xeon SP-8480+ CPU's die op 2 GHz werken, zich opstapelen ten opzichte van de vorige generatie 40-core Ice Lake Xeon SP-8380 CPU's die op 2.3 GHz draaien op het gebied van beeldclassificatie, natuurlijke taalverwerking, beeldsegmentatie, transformator , en objectdetectiemodellen die bovenop het PyTorch-framework draaien:

Fig3: Sapphire Rapids vs Ice Lake Diverse gevolgtrekkingen

Sapphire Rapids vs Ice Lake Diverse gevolgtrekkingen

Zie [A17, A33] op https://edc.intel.com/content/www/us/en/products/performance/benchmarks/4th-generation-intel-xeon-scalable-processors/. Resultaten kunnen verschillen.

Zoals de grafiek zegt, is dit een vergelijking tussen het uitvoeren van FP32-verwerking op de AVX-512-eenheden in de Ice Lake-chip en het uitvoeren van BF16-verwerking op de AMX-eenheden. Alleen al de halvering van precisie tussen de twee platforms verdubbelt de doorvoer tussen deze twee generaties. De relatieve prestatie van deze twee chips (de samenstelling van het aantal cores en de kloksnelheden) levert nog eens 21.7 procent meer prestatie op. De rest van de prestatiewinst - wat neerkomt op 3.5x tot 7.8x van de hierboven getoonde 5.7x tot 10x - komt van het gebruik van de AMX-units.

De echte test is natuurlijk hoe de gevolgtrekking van de AMX-units die inherent zijn aan de Sapphire Rapids, zich verhoudt tot het gebruik van een externe versneller. Dus hier is hoe een server met twee sockets die de Xeon SP-8480+ processors gebruikt, zich opstapelt in vergelijking met een Nvidia "Ampere" A10 GPU-versneller:

Fig4: Sapphire Raipds vs NVIDIA A10 Diverse gevolgtrekkingen

Sapphire Raipds vs NVIDIA A10 Verschillende gevolgtrekkingen

Zie [A218] op https://edc.intel.com/content/www/us/en/products/performance/benchmarks/4th-generation-intel-xeon-scalable-processors/. Resultaten kunnen verschillen.

De prestaties van de twee Sapphire Rapids-processors zijn 90 procent van de weg naar een A10 op natuurlijke taalinferentie op een BERT-Large-model, en verslaat de A10 met 1.5x tot 3.5x op andere workloads.

De A10 GPU-versneller kost op dit moment waarschijnlijk tussen de $ 3,000 en $ 6,000, en is ver daarbuiten ofwel op de PCI-Express 4.0-bus of zit nog verder weg op het Ethernet- of InfiniBand-netwerk in een speciale inferentieserver die toegankelijk is via het netwerk door een rondreis vanaf de applicatieservers. En zelfs als de nieuwe "Lovelace" L40 GPU-versneller van Nvidia veel meer werk kan doen, zijn de AMX-units standaard ingebouwd in de Sapphire Rapids-CPU's en hebben ze geen add-on nodig.

Gesponsord door Intel.

spot_img

Laatste intelligentie

spot_img