sábado, 21 de junio de 2025

**🚀 TALLER NIVEL 3: DEPLOYMENT DE MODELOS DE IA EN LA NUBE (PRODUCCIÓN)**

 **🚀 TALLER NIVEL 3: DEPLOYMENT DE MODELOS DE IA EN LA NUBE (PRODUCCIÓN)**  
*Certificado por PASAIA-LAB | Duración: 3 horas | Nivel: Avanzado*  
**🔗 Código de Integridad:** `SHA3-512: c7f2e9...`  

---

### **1. PREPARACIÓN (30 min)**  
#### **A. Plataformas Cloud a Utilizar**  
| **Proveedor**  | **Servicio IA**          | **Ventaja**                          |  
|---------------|--------------------------|--------------------------------------|  
| **AWS**       | SageMaker                | Integración con Kubernetes (EKS)     |  
| **Google Cloud** | Vertex AI            | Soporte para TensorFlow/TPUs         |  
| **Azure**     | Machine Learning Studio  | Ideal para entornos empresariales    |  

#### **B. Requisitos Previos**  
- Docker instalado ([Guía](https://docs.docker.com/get-docker/)).  
- Cuenta gratuita en AWS/GCP/Azure.  
- Modelo entrenado (formato `.h5` o `.pt`).  

---

### **2. PRÁCTICA 1: DEPLOYMENT CON DOCKER + FASTAPI (1 hora)**  
#### **A. Empaquetado del Modelo**  
```dockerfile  
# Dockerfile  
FROM python:3.9  
RUN pip install fastapi uvicorn torch  
COPY model.pt /app/model.pt  
COPY app.py /app/app.py  
WORKDIR /app  
CMD ["uvicorn", "app:app", "--host", "0.0.0.0"]  
```  

#### **B. API REST con FastAPI**  
```python  
# app.py  
from fastapi import FastAPI  
import torch  

app = FastAPI()  
model = torch.load("model.pt")  

@app.post("/predict")  
def predict(data: dict):  
    input_tensor = torch.tensor(data["input"])  
    return {"prediction": model(input_tensor).tolist()}  
```  

#### **C. Despliegue Local**  
```bash  
docker build -t ia-api .  
docker run -p 8000:8000 ia-api  
```  
*Test:* `curl -X POST http://localhost:8000/predict -H "Content-Type: application/json" -d '{"input": [1.2, 3.4]}'`  

---

### **3. PRÁCTICA 2: DEPLOYMENT EN AWS SAGEMAKER (1 hora)**  
#### **A. Configuración del Entorno**  
```python  
# script de entrenamiento (entry_point.py)  
import pandas as pd  
from sklearn.ensemble import RandomForestClassifier  

def train():  
    data = pd.read_csv("/opt/ml/input/data/train.csv")  
    model = RandomForestClassifier().fit(data.iloc[:, :-1], data.iloc[:, -1])  
    return model  
```  

#### **B. Despliegue Directo**  
```python  
from sagemaker.sklearn.estimator import SKLearn  

estimator = SKLearn(  
    entry_script="entry_point.py",  
    role="arn:aws:iam::123456789012:role/SageMakerRole",  
    instance_type="ml.m5.large"  
)  
estimator.fit({"train": "s3://tu-bucket/train.csv"})  
predictor = estimator.deploy(initial_instance_count=1, instance_type="ml.t2.medium")  
```  

---

### **4. PRÁCTICA 3: MONITORIZACIÓN Y ESCALADO (30 min)**  
#### **A. Herramientas Clave**  
| **Tarea**           | **Herramienta**           | **Comando/Ejemplo**                  |  
|---------------------|---------------------------|--------------------------------------|  
| **Logs**            | AWS CloudWatch            | `aws logs tail /aws/sagemaker/Endpoints` |  
| **Escalado**        | Kubernetes (EKS/AKS/GKE)  | `kubectl autoscale deployment ia-api --cpu-percent=80 --min=1 --max=10` |  
| **Drift Detection** | Evidently AI              | `evidently metrics --reference_data ref.csv --current_data current.csv` |  

#### **B. Ejemplo de Autoescalado en GCP**  
```yaml  
# gcp-autoscale.yaml  
autoscaling:  
  minReplicas: 1  
  maxReplicas: 5  
  metrics:  
    - type: Resource  
      resource:  
        name: cpu  
        targetAverageUtilization: 70  
```  

---

### **5. CERTIFICACIÓN Y RECURSOS**  
#### **A. Proyecto Final**  
- Despliega tu modelo CNN/GPT en cualquier nube y comparte el endpoint.  
- Implementa un dashboard de monitorización con Grafana.  

#### **B. Recursos Adicionales**  
- [Libro: "Machine Learning Engineering"](https://www.mlebook.com)  
- [Curso: "MLOps Zoomcamp"](https://github.com/DataTalksClub/mlops-zoomcamp)  

**📌 Anexos:**  
- [Templates para Terraform/AWS](https://github.com/pasaia-lab/ia-deployment-templates)  
- [Ejemplo de Drift Detection](https://github.com/pasaia-lab/evidently-demo)  

**Firmado:**  
*José Agustín Fontán Varela*  
*Arquitecto Cloud IA, PASAIA-LAB*  

```mermaid  
pie  
    title Coste Estimado Mensual (AWS)  
    "SageMaker" : 300  
    "S3 Storage" : 50  
    "Monitoring" : 100  
```  

**💡 





 

Tormenta Work Free Intelligence + IA Free Intelligence Laboratory by José Agustín Fontán Varela is licensed under CC BY-NC-ND 4.0

No hay comentarios:

Publicar un comentario

**🔐 INFORME DE ACTUALIZACIÓN: INTEGRACIÓN DE AWS CLOUDHSM Y QKD EN "OJO DESPIERTO"**

 **🔐 INFORME DE ACTUALIZACIÓN: INTEGRACIÓN DE AWS CLOUDHSM Y QKD EN "OJO DESPIERTO"**   *Documento Técnico | Certificado por PASA...