I dette NLP Cloud-kurset forklarer vi hvorfor spesifikk maskinvare ofte er nødvendig for å øke hastigheten på behandlingen av maskinlæringsarbeid. Vi gjennomgår også hvilke akseleratorer som er de beste på markedet i 2023: GPU-er, TPU-er, IPU-er, Inferentia, Habana Gaudi...
Her er kursets struktur:
Hei alle sammen, dette er Julien Salinas fra NLP Cloud.
I dette kurset skal vi se på hva slags maskinvareakseleratorer vi kan bruke i dag for å øke hastigheten på inferensarbeidene våre.
For å forstå maskinvareakselerasjon er det viktig å huske at AI-applikasjoner i dag for det meste er basert på nevrale nettverk, også kjent som dyp læring.
Matrisemultiplikasjon er en viktig operasjon i nevrale nettverk fordi den gjør det mulig for dem å lære komplekse data og komplekse representasjoner av dataene.
I et nevralt nettverk representeres inngangsdataene av en matrise, og vektene i forbindelsene mellom nevronene representeres også av en matrise.
Når disse to matrisene multipliseres, blir resultatet en ny matrise som representerer neuronenes utdata.
Denne prosessen gjentas gjennom flere lag med nevroner, slik at nettverket lærer stadig mer abstrakte og komplekse egenskaper ved inngangsdataene.
Matriser er kjernekomponenter i AI-modeller, så det er viktig å bruke maskinvare som er svært god til å utføre operasjoner på matriser.
Et annet viktig aspekt er flytende tall.
Flytende punkter er viktige i nevrale nettverk fordi de gjør det mulig å representere brøkverdier.
Som vi nettopp sa, involverer nevrale nettverk store matriser med mange oppføringer.
Hvis du bare bruker heltallsverdier, vil det raskt føre til overløpsfeil.
Ved å bruke flyttallsverdier kan nevrale nettverk representere verdier med mange desimaler, noe som gir mer presise beregninger og bedre nøyaktighet i utdataene.
Så for å oppsummere trenger vi maskinvare som er god til å håndtere matrisemultiplikasjoner og flyttallsberegninger for å kunne behandle AI-arbeidsbelastninger på en effektiv måte.
De to hovedalternativene du kan vurdere i dag for maskinlæring er CPU-er og GPU-er.
En CPU, eller Central Processing Unit, er en generell prosessor som håndterer en rekke oppgaver i et datasystem, blant annet å kjøre applikasjoner, administrere operativsystemet og utføre matematiske beregninger.
Prosessorer er designet for å være allsidige og kan håndtere mange typer oppgaver, men de er ikke optimalisert for en bestemt type arbeidsbelastning.
En GPU, eller Graphic Processing Unit, er en spesialisert prosessor som er utviklet for å håndtere komplekse, parallelle arbeidsoppgaver som grafikkgjengivelse og maskinlæring.
GPU-er har tusenvis av mindre kjerner som jobber sammen for å håndtere store datamengder samtidig, noe som gjør dem mye raskere enn CPU-er for visse typer arbeidsoppgaver.
Matriseoperasjoner kan enkelt parallelliseres på flere små kjerner, noe som er grunnen til at GPU-er utmerker seg på dette området.
Dessuten har GPU-er vanligvis mange flere flyttallsenheter enn CPU-er, noe som gjør at de kan utføre flyttallsoperasjoner mye raskere.
Nå vet du hvorfor en CPU ofte ikke er nok for dagens AI-arbeidsbelastninger, og hvorfor spesifikk maskinvare ofte er svært viktig.
Nå skal vi se nærmere på hvilke valgmuligheter du har når det gjelder spesifikke maskinvareakseleratorer.
NVIDIAs GPU-er er et kraftig verktøy for grafisk behandling, og de har en rekke funksjoner som gjør dem ideelle for spill, maskinlæring, videoredigering og design- og ingeniørapplikasjoner.
Som AI-programvareingeniør er du utvilsomt nødt til å leke med NVIDIAs GPU-er, ettersom de har en sentral posisjon på GPU-markedet i dag.
De kraftigste kortene for kunstig intelligens i 2023 er A100 og H100.
AMD tilbyr også et bredt spekter av GPU-er, blant annet for maskinlæring.
RockM-produktserien deres er interessant, og jeg oppfordrer deg til å ta en titt på den.
Google bygger også sine egne AI-brikker, kalt TPUer for TensorFlow Processing Unit.
De bruker disse brikkene internt, men tilbyr dem også i sitt Google Cloud-tilbud.
Du kan imidlertid ikke kjøpe en TPU til deg selv.
TPU-er fungerer litt annerledes enn GPU-er, men det er et tema for en annen dedikert video.
Graphcore er et britisk selskap som lager en spesifikk AI-maskinvare kalt IPU, tilsvarende Googles TPU-er.
Du kan både kjøpe IPU-er og bruke dem i skyen gjennom en av partnerne deres.
AWS bygger sine egne AI-brikker.
De har en brikke som er dedikert til inferens, kalt Inferentia, og en annen som er dedikert til trening, kalt Tranium.
Disse sjetongene er relativt billige.
Du kan ikke kjøpe slike brikker selv, men du kan bruke dem på AWS EC2 eller Sage Maker.
Intel bygger også sin egen AI-brikke, kalt Habana Gaudi, som er et svært kraftig, men svært dyrt alternativ.
Maskinvareakseleratorene er kraftige, men også svært dyre og vanskelige å få tak i på grunn av den globale mangelen på halvledere.
Derfor er det lurt å optimalisere AI-arbeidsmengden din så mye som mulig, slik at den kan kjøres på mindre maskinvare.
CPU-er kan faktisk til og med være et anstendig alternativ for mange maskinlæringsarbeidsbelastninger i mange situasjoner.
Som du kan se, er NVIDIA i 2023 de facto-løsningen når det gjelder maskinvareakselerasjon innen AI og maskinlæring.
Men interessant nok dukker det opp noen alternativer.
Så om et par år vil du kanskje bruke andre typer akseleratorer til dine neste AI-prosjekter.
Jeg håper dette kurset var nyttig og ønsker deg en hyggelig dag.