AI-rekeneenheden voor kunstmatige intelligentie (AI) zitten tegenwoordig in smartphones, supercomputers, auto’s en televisies. Ze dienen heel verschillende doelen: in mobiele telefoons verfraaien ze bijvoorbeeld foto’s of herkennen ze stemcommando’s, in supercomputers trainen ze grote AI-modellen, in auto’s analyseren ze camerabeelden en in smart-tv’s of gaming-pc’s schalen ze beelden in 4K-resolutie. Daarom zijn er heel verschillende AI-versnellers, die niet alleen verschillen in hun rekenkracht, maar ook in veel andere details.
De verwarring begint al bij de benamingen: Het lijkt erop dat iedereen onder AI iets anders verstaat. Sommigen bedoelen Machine Learning (ML), anderen Deep Learning (DL) of Deep Neural Networks (DNN) of iets heel anders.
Omdat AI-algoritmen vaak kunstmatige neurale netwerken omvatten, verwijzen de namen van veel versnellers ernaar: Neural Processing Unit (NPU) of Neural Engine. Sommige bedrijven noemen het gewoon ‘AI Engine’. Google en Nvidia noemen hun tensor processing units (TPU’s) en tensor-cores naar de term tensor, waarmee computerwetenschappers multidimensionale arrays bedoelen.
ChatGPT
Een van de belangrijkste onderscheidende kenmerken is het ontwerp van de AI-chip voor het trainen van AI-algoritmen of voor het toepassen van volledig getrainde AI-modellen; dit laatste wordt inferencing genoemd.
Inferencing vereist slechts een fractie van middelen. Het kan gaan om het omzetten van spraak in tekst, het herkennen van objecten in afbeeldingen, bewegingen in video’s of het verwerken van radarsignalen. Omdat er veel toepassingsgebieden zijn met zeer uiteenlopende, vaak realtime vereisten, zijn de meeste AI-chips gericht op inferencing. Momenteel heeft iedereen het over Natural Language Processing (NLP) en worden er zogenaamde transformatoren gebruikt. Een bekend voorbeeld is de Generative Pretrained Transformer met dialoogfunctie, afgekort ChatGPT, gebaseerd op het GPT-3 (en binnenkort GPT-4) taalmodel.
AI-training
AI-training betekent het optimaliseren van de parameters van een AI-model. Voor grote modellen worden enorme datasets verwerkt, bijvoorbeeld enkele miljoenen afbeeldingen of miljarden en miljarden tekstfragmenten. Hiervoor is krachtige computertechnologie nodig, dus krachtige chips met zeer snelle verbindingen met veel RAM en enorme massaopslag-apparaten. AI wordt daarom meestal getraind op supercomputers, in (cloud-)datacenters of op werkstations met AI-versnellingskaarten.
AI-datatypes en AI-rekeneenheden
Veel AI-algoritmen verwerken zulke grote hoeveelheden gegevens dat er slimme trucs moeten worden toegepast om de stortvloed aan gegevens te verwerken. Alleen dan daalt de benodigde rekeninspanning tot een beheersbaar niveau.
In veel AI-algoritmen wordt een aanzienlijk deel van de verwerkte parameters vertegenwoordigd door zeer kleine numerieke waarden. Vele daarvan kunnen op nul worden gezet zonder de nauwkeurigheid van het model significant te beïnvloeden. Dit uitdunnen van gegevensvelden wordt ‘pruning’ genoemd. Een andere truc is om de nauwkeurigheid van de verwerkte gegevens opzettelijk te verlagen. Dit reduceert de nauwkeurigheid van sommige AI-algoritmen maar in geringe mate. Bij het zogenaamde quantiseren worden bijvoorbeeld 16-bits floating-point getallen (FP16) omgezet naar gehele getallen (integer) met slechts 8 bits (Int8). Sommige AI-rekeneenheden verwerken per klokstap twee keer zoveel Int8 als FP16 numerieke waarden en zijn dan twee keer zo snel.
Dit werkt echter alleen als de betreffende AI-rekeneenheden de compactere gegevenstypen ook daadwerkelijk kunnen verwerken. Als deze echter alleen maar ongebruikte cijfers met nullen vult, wordt er niets gewonnen.
Compactere gegevenstypen worden niet alleen sneller verwerkt, maar besparen ook ruimte in het RAM en belasten de geheugenbussen minder. Om bij het bovenstaande voorbeeld te blijven: een geheugenbus draagt twee keer zoveel 8- als 16-bits waarden per seconde over bij dezelfde gegevensoverdrachtssnelheid.
In de afgelopen jaren zijn AI-rekeneenheden ontwikkeld voor ruimtebesparende gegevenstypen die voordelen bieden in sommige AI-algoritmen. Eén daarvan is Brain Floating Point 16 (BF16). Vergeleken met het bovengenoemde FP16-formaat kan BF16 een groter bereik aan waarden bevatten, maar ten koste van de nauwkeurigheid.
GPU en CPU AI-rekeneenheden
Nvidia is een andere weg ingeslagen met zijn eigen gegevensformaat Tensor Float 32 (TF32), dat 19 bits gebruikt in plaats van 32. Nvidia levert al meer dan 16 jaar grafische chips (GPU’s) die dienen als universele rekenversnellers dankzij de CUDA-programmeerinterface (API). Daartoe werden de shader-rekeneenheden, die oorspronkelijk alleen waren ontworpen om 3D-grafische gegevens te verwerken, met elke GPU-generatie flexibeler en leerden ze nieuwe instructies. Voor high-performance computing (HPC) zijn er zeer geavanceerde versnellerchips, vroeger Tesla genoemd, nu V100, A100 en H100, afhankelijk van de generatie.
De krachtigste HPC-kaarten hebben meer dan 16.000 shader-kernen voor FP32-berekeningen en worden voornamelijk gebruikt om zeer parallelle algoritmen te versnellen, waardoor ze ook geschikt zijn voor AI. Sinds drie chipgeneraties heeft Nvidia AI-rekeneenheden – de eerder genoemde tensor-cores – ontwikkeld en ingebouwd naast de shader-cores. Deze AI-units profiteren van het snel aangesloten grafische geheugen. De krachtigste Nvidia rekenversnellers met High Bandwidth Memory (HBM) halen meer dan 3 terabytes per seconde. Bovendien heeft de Nvidia H100 naast PCIe 5.0 x16 een NVLink 4.0 interface met 18 kanalen en 900 GB/s om meer H100 versnellers aan te sluiten. Hierdoor kunnen grote AI-modellen worden verdeeld over veel H100-chips.
Stable Diffusion
Omdat tensor- en shader-cores toegang hebben tot hetzelfde lokale geheugen, kan CUDA het rekenwerk verdelen. Een voorbeeld hiervan is de afbeeldingen-AI Stable Diffusion. Hier nemen de tensor-cores CNN-berekeningen over en draaien de complexere transformers op de shader-units. Hierdoor berekent een enkele Nvidia GPU dergelijke modellen efficiënter dan de combinatie van twee gespecialiseerde chips.
(Super)computers
Nvidia levert ook geoptimaliseerde systemen en chips voor speciale AI-toepassingen. De grote DGX- en HGX-systemen worden gebruikt voor training en kunnen worden gekoppeld aan supercomputers; Nvidia’s eigen Selene is een van de snelste Top500-supercomputers. Goedkopere T4-kaarten zijn bedoeld voor inferenties en Jetson-modules zijn gericht op voertuigen en robots.
Nvidia gebruikt de tensorkernen ook in grafische gamingkaarten, namelijk voor de upscalingfunctie Deep Learning Super Sampling (DLSS). DLSS schaalt de individuele beelden van een spelscène op die de GPU eerder in een lagere resolutie heeft berekend – en daardoor aanzienlijk sneller. Door AI-schaling en herscherping levert DLSS hogere framerates in veel games met weinig of nauwelijks merkbaar kwaliteitsverlies. De tensor cores van de GeForce RTX-kaarten voor desktop-pc’s zijn kleiner dan die in de HPC-versnellers, maar in principe werken ze hetzelfde.
GPU-centrische servers
Onlangs heeft Giga Computing, een dochteronderneming van GIGABYTE-servers, zijn GPU-portfolio uitgebreid om in te spelen op de groeiende vraag naar generatieve AI. De GPU-centrische servers zijn voorzien van de nieuwste AMD- en Intel-cpu’s, waaronder NVIDIA HGX H100-servers met zowel 4-GPU- als 8-GPU-modules.
Met de groeiende interesse in HPC- en AI-toepassingen, met name generatieve AI (GAI), is dit soort server sterk afhankelijk van GPU-bronnen om rekenintensieve workloads aan te pakken die grote hoeveelheden gegevens verwerken. Met de komst van de eerder genoemde OpenAI’s ChatGPT en andere AI-chatbots worden grote GPU-clusters geïmplementeerd met optimalisatie op systeemniveau om grote taalmodellen (Large Language Models, LLM’s) te trainen. Deze LLM’s kunnen worden verwerkt door de nieuwe ontwerp-geoptimaliseerde systemen van GIGABYTE die een hoog niveau van maatwerk bieden op basis van de workloads en vereisten van gebruikers.
De GIGABYTE G-serie servers zijn in de eerste plaats ontworpen om dichte GPU-rekenkracht en de nieuwste PCIe-technologie te ondersteunen. Vanaf de 2U-servers kunnen de nieuwe G293-servers tot 8 dual-slot GPU’s of 16 single-slot GPU’s ondersteunen, afhankelijk van het servermodel. Voor de ultieme CPU- en GPU-prestaties bieden de 4U G493-servers tal van netwerkopties en opslagconfiguraties naast ondersteuning voor acht (Gen5 x16) GPU’s. En voor het hoogste niveau van GPU-rekenkracht voor HPC en AI ondersteunen de G393- en G593-serie NVIDIA H100 Tensor Core GPU’s.
Al deze nieuwe twee CPU-socketservers zijn ontworpen voor 4e generatie AMD EPYC-processors of 4e generatie Intel Xeon Scalable-processors.
• G293-serieDual socket Intel Xeon-servers (tot 225 W TDP) die acht dual-slot GPU’s of zestien single-slot GPU’s ondersteunen, evenals acht 2,5″-opslagbays
Nieuwe modellen: G293-S42, G293-S43, G293-S45
• G363-serieDual socket Intel Xeon-server met NVIDIA HGX H100 4-GPU en zes low-profile slots
Nieuw model: G363-SR0
• G493-serieDual socket Intel Xeon-servers die meerdere uitbreidingssleuven en opslagopties ondersteunen
Nieuwe modellen: G493-SB0, G493-SB1, G493-SB2, G493-SB3
Dual socket AMD EPYC-servers met vergelijkbare opties als Xeon-servers
Nieuwe modellen: G493-ZB0, G493-ZB1, G493-ZB2, G493-ZB3
• G593-serieDual socket AMD EPYC-server voor NVIDIA HGX H100 8-GPU
Nieuw model: G593-ZD2
Dual socket Intel Xeon server voor NVIDIA HGX H100 8-GPU
Nieuw model: G593-SD0
NVIDIA HGX H100 GPU’s
NVIDIA HGX H100 krachtige end-to-end AI-supercomputerplatform combineert NVIDIA H100 GPU’s met de geoptimaliseerde NVIDIA AI Enterprise- en NVIDIA HPC-software om hoge simulatie-, data-analyse- en AI-prestaties te bieden. Als de softwarelaag van het NVIDIA AI-platform versnelt NVIDIA AI Enterprise de gegevensstromen en stroomlijnt het de ontwikkeling en implementatie van productie-AI, waaronder generatieve AI, computervisie , spraak-AI en meer. Het bevat meer dan 50 frameworks, voorgetrainde modellen en ontwikkeltools.
HGX H100 is beschikbaar als serverbouwsteen in de vorm van geïntegreerde baseboards in vier of acht H100 GPU-configuraties. Vier H100 GPU’s bieden volledig onderling verbonden point-to-point NVLink-verbindingen tussen GPU’s, terwijl de configuratie met acht GPU’s volledige GPU-naar-GPU-bandbreedte biedt via NVIDIA NVSwitch-technologie. Dankzij de combinatie van H100 multi-precision Tensor Cores , biedt een 8-weg HGX H100-server tot 32 petaFLOPS aan FP8 deep learning rekenprestaties.