Introduzione ai contenitori Docker per data scientist |  di Ido Leshem |  Dicembre 2023

 | Intelligenza-Artificiale

Cos’è Dockerfile?

Come detto sopra, un contenitore è un ambiente incapsulato per l’esecuzione dei nostri algoritmi. Questo ambiente è supportato dall’estensione docker responsabile del supporto della containerizzazione.

Per fare ciò, dobbiamo prima definire un dockerfile che specifichi i nostri requisiti di sistema. Pensa al dockerfile come a un documento o a una “ricetta” che definisce il nostro modello di contenitore, chiamato immagine docker.

Ecco un esempio di dockerfile che utilizzeremo come parte di questo tutorial:

FROM ubuntu:20.04

# Update and install necessary dependencies
RUN apt-get update && \
apt-get install -y python3-pip python3.8 git && \
apt-get clean

# Set working directory
WORKDIR /app

# Copy the requirements file and install dependencies
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt

# Install transformers separately without its dependencies
RUN pip3 install --no-cache-dir transformers

Questo dockerfile contiene diversi passaggi importanti:
(1) Importiamo immagini di base per avere un ambiente Ubuntu.
(2) installiamo pip, Python e git. apt-get è un comando Linux per la gestione dei pacchetti.
(3) Impostiamo il nome della nostra directory di lavoro (in questo esempio è /app)
(4) Installiamo i nostri requisiti dettagliati nel file require.txt

Dockerfile ci offre molta flessibilità. Ad esempio, il mio repository si basa sulla libreria Transformers senza le sue dipendenze, quindi l’ho installato separatamente (l’ultima riga nel Dockerfile).

Nota – Lavorare con i container offre molti vantaggi in termini di velocità e agilità, ma presenta anche degli svantaggi. La sicurezza è uno di questi. Le immagini contenitore caricate da risorse non attendibili potrebbero contenere contenuti dannosi. Assicurati di utilizzare una fonte attendibile e che il contenitore sia configurato correttamente. Un’altra opzione è utilizzare strumenti di sicurezza come snyk, che scansionano l’immagine della finestra mobile per individuare eventuali vulnerabilità.

Immagine di Tom Fask da Pexels

Prerequisiti preliminari
Prima di creare un contenitore docker, dobbiamo prima assicurarci che il nostro ambiente di lavoro locale sia pronto. Assicuriamoci di avere la seguente lista di controllo:
1. VS Code come nostro editor di codice: https://code.visualstudio.com/
2. Git per la gestione del controllo della versione: https://git-scm.com/downloads
3. Utente Github: https://github.com/
4. https://www.docker.com/

Dopo aver completato tutti questi prerequisiti, assicurati di accedere all’app docker che hai installato. Ciò ci consentirà di creare un contenitore docker e monitorarne lo stato

Passaggio 1: clonazione del repository

Per iniziare, selezioniamo un repository con cui lavorare. Qui ho fornito un repository contenente un algoritmo che stima se un testo è generato dall’intelligenza artificiale combinando sia il valore di perplessità del modello dato un testo sia il numero di errori di ortografia. Una maggiore perplessità implica che è più difficile per LLM prevedere la parola successiva, quindi non è stata generata da un essere umano.

Link al repository:

Su github, fare clic su codice e copia l’indirizzo HTTPS come segue:

Immagine dell’autore

Successivamente, apri VS Code e clona un repository che desideri includere nel tuo contenitore. assicurati che VS Code sia connesso al tuo account github. In alternativa, puoi anche inizializzare un nuovo repository git.

Immagine dell’autore

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *