Sådan konfigureres Amazon Deep Learning Machine Instance

Motivering

Hvis du er interesseret i dyb læring og dens muligheder, har du måske allerede hørt om beregningsomkostningerne for selv de grundlæggende modeller er virkelig høje. Mange nye deltagere i marken overlader fordelene ved denne teknologi til store spillere bare på grund af barrieren for adgang til hardware. Der er dog mange ressourcer gratis eller lave omkostninger, som du kan modellere din idé, træne, eksperimentere og implementere. I denne artikel vil jeg vise, hvordan man opretter en Amazon Machine Instance med forudinstalleret dyb læringsfunktioner, som du kan træne din store hjerne AI.

GPU vs CPU

CPU'en (central behandlingsenhed) på en computer er en samling transistorer, der kan manipuleres til at udføre forskellige beregninger. En GPU (grafikbehandlingsenhed) ligner mere en specialiseret type mikroprocessor, der er optimeret til at udføre specifikke beregningsopgaver.

I et dybtgående læringstrin vil din model forsøge at beregne en enorm mængde matrixmultiplikationer sammen med mange andre beregninger. I stedet for sekventiel beregning, som er CPU'er, der er mestret og optimeret, kan GPU'er øge denne proces med deres parallelle / distribuerede arkitektur. Tusinder af kerner dedikeret til enkle matematiske operationer gør GPU'er bedst til dette job.

Amazon Deep Learning AMI'er (Amazon Machine Images)

AWS DL AMI'erne er tilgængelige i både Ubuntu og Amazon Linux-versioner. Denne forekomst kommer med følgende forudinstallerede / konfigurerede funktioner:

  • Populære Python-pakker og Anaconda-platformen
  • Open source dybe læringsrammer (TensorFlow, Apache MXNet, Microsoft Cognitive Toolkit (CNTK), Caffe, Caffe2, Theano, Torch og Keras)
  • GPU-acceleration gennem CUDA, cuDNN-drivere og Intel Math Kernel Library (MKL)

Vælg en AMI

Hvis du ikke har en AWS-konto, skal du oprette en og navigere til administrationskonsol efter login. Søg i "dyb læring" søgeord. Derefter vil du se flere maskinforekomster, der indeholder dybe indlæringsfunktioner. Til vores tutorial fortsætter vi med Deep Learning AMI (Amazon Linux) version 5.0.

Vælg en forekomsttype

Vær opmærksom på, at Deep Learning AMI er gratis, men de underliggende computerressourcer er det ikke. Derfor skal du overveje dine krav for at vælge den rigtige forekomsttype. Følgende retningslinjer er anbefalinger fra Amazon Web Services:

  • Hvis du er ny med dyb læring, vil du sandsynligvis have et "entry-level" -forekomst med en enkelt GPU.
  • Hvis du er bevidst om budgettet, skal du starte lidt mindre og se på kun CPU'er.
  • Hvis du er interesseret i at køre en trænet model til inferens og forudsigelser (og ikke træning), vil du måske have en CPU-forekomst med en masse hukommelse eller endda en klynge af disse til tjenester med høj lydstyrke.
  • Hvis du er interesseret i at træne en model med en masse data, vil du måske have en større forekomst eller endda en klynge af GPU-forekomster.

Med henblik på denne vejledningsartikel starter vi med en gratis tier.micro-forekomst.

Inden lanceringen af ​​instansen skal du specificere et nøglepar til senere brug under SSH-forbindelse. Opret et nyt nøglepar og download det.

Nu kan du se detaljer om vores eksempel fra fanen forekomster.

Setup Security Group

Type: Tilpasset TCP-regel

Protokol: TCP

Havn rækkevidde: 8888

Kilde: Anywhere (0.0.0.0/0,::/0/0)

Efter tilføjelse af SSH-regel skal dine indgående regler se sådan ud:

Opret forbindelse til DLAMI

Naviger fra din terminal til mappe, der indeholder tidligere downloadet pem-fil, og sørg for, at din private nøglefil ikke er offentligt synlig.

$ cd / Brugere / dit_brugernavn / skrivebord / pem
$ chmod 400 deep-learning.pem

Lad os nu oprette forbindelse til vores EC2-forekomst ved hjælp af følgende kommando. (udskift $ public_DNS med din AMI-konfiguration fra forekomstdetaljer)

$ ssh -i "deep-learning.pem" ec2-bruger @ $ public_DNS

Start Jupyter notebook-server

$ kilde aktivere python3
$ jupyter notebook

Som du kan se, er der en log, der inkluderer dit token til klientopsætning med følgende linjer:

Kopier / indsæt denne URL i din browser, når du opretter forbindelse første gang,
    at logge ind med et token:
        http: // localhost:? 8888 / token = $ token

Du har brug for dette token til klientserveropsætning, så du bedre gemmer det.

Konfigurer klient til at tilslutte Juypter-server

Fra et nyt terminalvindue skal du køre følgende kommando for at oprette adgang til din AMI's Juypter-server på arbejdsområdet. (Følgende kommando er specifik for MacOS-klient. Besøg konfigurationsdokumenter for forskellige klientopsætninger)

$ ssh -i "deep-learning.pem" -L 8157: 127.0.0.1: 8888 ec2-user @ $ public_DNS

Det betyder, at du har åbnet en tunnel mellem din klient og EC2-forekomsten, der kører Jupyter notebook-server. Nu fra din browser hit http://127.0.0.1:8157

Efter validering med token skal du være i stand til at opsætte en adgangskode. Derefter kan du logge ind og forbinde din Juypter-notebook, der kører på ekstern server.

følgelig

Din instans er klar til kommende dybe læringsudfordringer. Du kan begynde at lege med dine yndlingsrammer og biblioteker for at bygge nye modeller og træne dem.