Introducció
La Plataforma d'IA de Google Cloud (AI Platform) és un conjunt de serveis i eines que permeten als desenvolupadors i científics de dades construir, entrenar i desplegar models d'aprenentatge automàtic (ML) a escala. Aquest mòdul proporcionarà una visió general de les capacitats de la Plataforma d'IA, així com exemples pràctics i exercicis per ajudar-te a començar.
Continguts
Què és la Plataforma d'IA?
La Plataforma d'IA de Google Cloud és una solució completa per al desenvolupament de models d'aprenentatge automàtic. Ofereix eines per a cada pas del cicle de vida del ML, des de la preparació de dades fins al desplegament i monitoratge de models.
Característiques clau:
- Entrenament gestionat: Permet entrenar models a gran escala utilitzant la infraestructura de Google.
- Desplegament de models: Facilita el desplegament de models per a la inferència en temps real o per lots.
- Integració amb altres serveis de GCP: Com BigQuery, Cloud Storage, i Dataflow.
Components principals de la Plataforma d'IA
- AI Platform Notebooks
- Entorns de desenvolupament integrats (IDE) basats en Jupyter Notebooks.
- Preconfigurats amb biblioteques populars de ML com TensorFlow, Keras, i PyTorch.
- AI Platform Training
- Servei gestionat per entrenar models de ML a gran escala.
- Suporta entrenament distribuït i acceleració amb GPU/TPU.
- AI Platform Prediction
- Servei per desplegar models entrenats i fer prediccions en temps real o per lots.
- Escalabilitat automàtica per gestionar diferents volums de sol·licituds.
- AI Platform Pipelines
- Eina per crear, gestionar i monitorar fluxos de treball de ML.
- Basat en Kubeflow Pipelines.
Entrenament de models
Passos per entrenar un model a la Plataforma d'IA:
- Preparació de dades: Emmagatzema les dades d'entrenament a Google Cloud Storage.
- Definició del model: Escriu el codi del model utilitzant TensorFlow, Keras, o una altra biblioteca de ML.
- Configuració de l'entrenament: Defineix els paràmetres d'entrenament, com el tipus de màquina i el nombre d'epochs.
- Llançament de la feina d'entrenament: Utilitza AI Platform Training per iniciar l'entrenament.
Exemple de codi per entrenar un model:
import tensorflow as tf from tensorflow import keras # Defineix el model model = keras.Sequential([ keras.layers.Dense(128, activation='relu', input_shape=(784,)), keras.layers.Dense(10, activation='softmax') ]) # Compila el model model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Carrega les dades d'entrenament (train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data() train_images = train_images / 255.0 test_images = test_images / 255.0 # Entrena el model model.fit(train_images, train_labels, epochs=5) # Guarda el model model.save('gs://bucket_name/model')
Desplegament de models
Passos per desplegar un model a la Plataforma d'IA:
- Emmagatzematge del model: Guarda el model entrenat a Google Cloud Storage.
- Creació d'una versió del model: Utilitza AI Platform Prediction per crear una versió del model.
- Desplegament del model: Desplega la versió del model per fer prediccions.
Exemple de codi per desplegar un model:
# Defineix variables MODEL_NAME="mnist_model" MODEL_VERSION="v1" MODEL_PATH="gs://bucket_name/model" # Crea el model a AI Platform gcloud ai-platform models create $MODEL_NAME --regions us-central1 # Crea una versió del model gcloud ai-platform versions create $MODEL_VERSION \ --model $MODEL_NAME \ --origin $MODEL_PATH \ --runtime-version 2.1 \ --python-version 3.7
Exemple pràctic: Entrenament i desplegament d'un model
Objectiu:
Entrenar un model de classificació d'imatges utilitzant el conjunt de dades MNIST i desplegar-lo per fer prediccions en temps real.
Passos:
- Preparació de dades: Carrega i preprocesa les dades MNIST.
- Entrenament del model: Defineix i entrena un model de xarxa neuronal.
- Desplegament del model: Guarda el model a Google Cloud Storage i desplega'l utilitzant AI Platform Prediction.
Codi complet:
import tensorflow as tf from tensorflow import keras # Defineix el model model = keras.Sequential([ keras.layers.Flatten(input_shape=(28, 28)), keras.layers.Dense(128, activation='relu'), keras.layers.Dense(10, activation='softmax') ]) # Compila el model model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Carrega les dades d'entrenament (train_images, train_labels), (test_images, test_labels) = keras.datasets.mnist.load_data() train_images = train_images / 255.0 test_images = test_images / 255.0 # Entrena el model model.fit(train_images, train_labels, epochs=5) # Guarda el model model.save('gs://bucket_name/model') # Desplega el model (executa aquest codi a la terminal) # gcloud ai-platform models create mnist_model --regions us-central1 # gcloud ai-platform versions create v1 --model mnist_model --origin gs://bucket_name/model --runtime-version 2.1 --python-version 3.7
Exercicis pràctics
Exercici 1: Entrenament d'un model de regressió
- Utilitza un conjunt de dades de regressió (per exemple, el conjunt de dades de preus de cases).
- Defineix i entrena un model de regressió utilitzant TensorFlow.
- Guarda el model a Google Cloud Storage.
Exercici 2: Desplegament d'un model de regressió
- Desplega el model de regressió entrenat utilitzant AI Platform Prediction.
- Fes prediccions utilitzant el model desplegat.
Solucions
Exercici 1: Entrenament d'un model de regressió
import tensorflow as tf from tensorflow import keras import numpy as np # Genera dades de mostra x = np.random.rand(1000, 1) y = 3 * x + np.random.randn(1000, 1) * 0.1 # Defineix el model model = keras.Sequential([ keras.layers.Dense(1, input_shape=(1,)) ]) # Compila el model model.compile(optimizer='adam', loss='mean_squared_error') # Entrena el model model.fit(x, y, epochs=10) # Guarda el model model.save('gs://bucket_name/regression_model')
Exercici 2: Desplegament d'un model de regressió
# Defineix variables MODEL_NAME="regression_model" MODEL_VERSION="v1" MODEL_PATH="gs://bucket_name/regression_model" # Crea el model a AI Platform gcloud ai-platform models create $MODEL_NAME --regions us-central1 # Crea una versió del model gcloud ai-platform versions create $MODEL_VERSION \ --model $MODEL_NAME \ --origin $MODEL_PATH \ --runtime-version 2.1 \ --python-version 3.7
Conclusió
En aquest mòdul, hem explorat la Plataforma d'IA de Google Cloud, incloent-hi els seus components principals, com entrenar i desplegar models, i hem treballat amb exemples pràctics. Ara tens les eines necessàries per començar a construir i desplegar els teus propis models d'aprenentatge automàtic a Google Cloud. En el següent mòdul, explorarem AutoML, una eina que facilita la creació de models de ML sense necessitat de coneixements avançats en programació.
Curs de Google Cloud Platform (GCP)
Mòdul 1: Introducció a Google Cloud Platform
- Què és Google Cloud Platform?
- Configurar el teu compte de GCP
- Visió general de la consola de GCP
- Comprendre projectes i facturació
Mòdul 2: Serveis bàsics de GCP
Mòdul 3: Xarxes i seguretat
Mòdul 4: Dades i analítica
Mòdul 5: Aprenentatge automàtic i IA
Mòdul 6: DevOps i monitoratge
- Cloud Build
- Repositoris de codi font al núvol
- Funcions al núvol
- Monitoratge de Stackdriver
- Gestor de desplegament al núvol
Mòdul 7: Temes avançats de GCP
- Híbrid i multi-núvol amb Anthos
- Computació sense servidor amb Cloud Run
- Xarxes avançades
- Millors pràctiques de seguretat
- Gestió i optimització de costos