Kæmper du med AI eller full-stack-udvikling? Vores eksperter er her for at vejlede dig: skræddersyet rådgivning, teknisk integration og meget mere. Kontakt os på [email protected].

Hardwareacceleration til AI-arbejdsbelastninger

Summary

I dette NLP Cloud-kursus forklarer vi, hvorfor specifik hardware ofte er nødvendig for at fremskynde behandlingen af machine learning-workloads. Vi gennemgår også, hvilke acceleratorer der er de bedste på markedet i 2023: GPU'er, TPU'er, IPU'er, Inferentia, Habana Gaudi...

Her er strukturen for kurset:

Transcript

Hej alle sammen, det er Julien Salinas fra NLP Cloud.

På dette kursus vil vi se på, hvilken slags hardwareacceleratorer vi kan bruge i dag til at fremskynde vores inferens-arbejdsbyrder.

For at forstå hardwareacceleration er det vigtigt at huske, at AI-applikationer i dag for det meste er baseret på neurale netværk, også kendt som deep learning.

Matrixmultiplikation er en vigtig operation i neurale netværk, fordi den gør det muligt for dem at lære komplekse data og komplekse repræsentationer af data.

I et neuralt netværk er inputdataene repræsenteret af en matrix, og vægtene af forbindelserne mellem neuronerne er også repræsenteret af en matrix.

Når disse to matricer multipliceres, er resultatet en ny matrix, der repræsenterer neuronernes output.

Denne proces gentages gennem flere lag af neuroner, så netværket kan lære stadig mere abstrakte og komplekse træk ved inputdataene.

Matricer er kernekomponenter i AI-modeller, så det er vigtigt at bruge noget hardware, der er meget god til at udføre operationer på matricer.

Et andet vigtigt aspekt er floating point-tal.

Flydende punkter er vigtige i neurale netværk, fordi de gør det muligt at repræsentere brøkværdier.

Som vi lige har sagt, involverer neurale netværk store matricer med mange indgange.

Hvis man kun brugte heltalsværdier, ville det hurtigt føre til overflow-fejl.

Ved at bruge floating point-værdier kan neurale netværk repræsentere værdier med mange decimaler, hvilket giver mulighed for mere præcise beregninger og bedre nøjagtighed i outputtet.

Så for at opsummere har vi brug for hardware, der er god til at håndtere matrixmultiplikationer og floating point-beregninger, for effektivt at kunne behandle workloads, AI-workloads.

De to vigtigste muligheder, du kan overveje i dag til dine machine learning-workloads, er CPU'er og GPU'er.

En CPU, eller Central Processing Unit, er en generel processor, der håndterer en lang række opgaver i et computersystem, herunder at køre programmer, styre operativsystemet og udføre matematiske beregninger.

CPU'er er designet til at være alsidige og kan håndtere mange typer opgaver, men de er ikke optimeret til nogen specifik type arbejdsbyrde.

En GPU, eller Graphic Processing Unit, er en specialiseret processor, der er designet til at håndtere komplekse, parallelle arbejdsbelastninger som grafikrendering og maskinlæring.

GPU'er har tusindvis af mindre kerner, der arbejder sammen om at håndtere store mængder data på én gang, hvilket gør dem meget hurtigere end CPU'er til visse typer af arbejdsopgaver.

Matrixoperationer kan let paralleliseres på flere små kerner, hvilket er grunden til, at GPU'er udmærker sig på dette område.

Desuden har GPU'er typisk mange flere floating point-enheder end CPU'er, hvilket gør dem i stand til at udføre floating point-operationer meget hurtigere.

Du ved nu, hvorfor en CPU ofte ikke er nok til nutidens AI-workloads, og hvorfor specifik hardware ofte er meget vigtig.

Lad os nu dykke ned i de valg, du har, når det kommer til specifikke hardwareacceleratorer.

NVIDIA GPU'er er et kraftfuldt værktøj til grafisk behandling, og de tilbyder en række funktioner, der gør dem ideelle til spil, maskinlæring, videoredigering og design- og tekniske applikationer.

Som AI-softwareingeniør er du uden tvivl nødt til at lege med NVIDIA GPU'er, da de har en central position på GPU-markedet i dag.

Deres mest kraftfulde kort til AI i 2023 er A100 og H100.

AMD tilbyder også en bred vifte af GPU'er, også til machine learning.

Deres RockM-produktsortiment er interessant, og jeg opfordrer dig til at tage et kig på det.

Google bygger også deres egne AI-chips, kaldet TPU'er for TensorFlow Processing Unit.

De bruger disse chips internt, men tilbyder dem også i deres Google Cloud-tilbud.

Du kan dog ikke købe en TPU til dig selv.

TPU'er fungerer lidt anderledes end GPU'er, men det vil være et emne for en anden dedikeret video.

Graphcore er en britisk virksomhed, der fremstiller en specifik AI-hardware kaldet IPU, som svarer til Googles TPU'er.

Du kan både købe IPU'er eller bruge dem i skyen gennem en af deres partnere.

AWS bygger deres egne AI-chips.

De har en chip, der er dedikeret til inferens, kaldet Inferentia, og en anden, der er dedikeret til træning, kaldet Tranium.

Disse chips er relativt billige.

Du kan ikke købe sådanne chips til dig selv, men du kan bruge dem på AWS EC2 eller Sage Maker.

Intel bygger også deres egen AI-chip, kaldet Habana Gaudi, som er et meget kraftfuldt, men meget dyrt alternativ.

Hardwareacceleratorerne er kraftfulde, men også meget dyre og ikke nemme at købe på grund af en global mangel på halvledere.

Derfor er det klogt at arbejde på at optimere din AI-workload så meget som muligt, så den kan køre på mindre hardware.

CPU'er kan faktisk endda være en god løsning til mange machine learning-arbejdsbelastninger i mange situationer.

Som du kan se i øjeblikket, er NVIDIA i 2023 de facto-løsningen, når det gælder hardwareacceleration inden for AI og maskinlæring.

Men interessant nok er der ved at dukke nogle alternativer op.

Så om et par år vil du måske bruge andre typer acceleratorer til dine næste AI-projekter.

Jeg håber, at dette kursus var nyttigt, og jeg ønsker dig en god dag.