Despliegue de Modelos

Inferencia de Modelos Causales: inference_scratch.py

Una vez finalizado el proceso de entrenamiento, el script de inferencia actúa como la interfaz de ejecución que permite transformar una entrada de texto (prompt) en una respuesta coherente generada por el modelo. Este documento detalla la lógica de carga, el procesamiento de tensores y los algoritmos de muestreo probabilístico empleados.

1. Carga del Modelo y Tokenizador

El script localiza los artefactos generados en la fase de entrenamiento dentro del directorio ./chef-bot-scratch-final. Es fundamental que tanto el modelo como el tokenizador se carguen sincronizadamente para asegurar que el mapeo de IDs numéricos sea idéntico al utilizado durante el aprendizaje.

# Carga crítica de componentes tokenizer = AutoTokenizer.from_pretrained(path) model = AutoModelForCausalLM.from_pretrained(path)

2. Flujo de Generación de Texto

1. Input
Entrada del usuario formateada.
2. Encoding
Conversión a tensores de PyTorch.
3. Forward Pass
El modelo predice probabilidades.
4. Decoding
Conversión de IDs a lenguaje natural.

3. Configuración del Algoritmo de Muestreo

Para evitar que el modelo sea determinista y repetitivo, se utilizan parámetros de muestreo estocástico. Estos parámetros controlan la creatividad y la coherencia del texto generado:

Parámetro Configuración Explicación Técnica
max_length 150 Define el límite superior de tokens generados para evitar bucles infinitos.
temperature 0.7 Suaviza la distribución de probabilidad. Valores bajos hacen al modelo más "preciso", valores altos más "creativo".
top_k 50 Filtra los 50 tokens más probables, descartando la "cola" de opciones irrelevantes.
top_p 0.95 Muestreo de núcleo (Nucleus Sampling): selecciona el conjunto mínimo de tokens cuya probabilidad sumada sea 0.95.

4. Lógica de Post-procesamiento

Manejo de Atención y Dispositivos

El script detecta automáticamente la presencia de hardware especializado (GPU vía CUDA). Si está disponible, el modelo se transfiere a la VRAM mediante model.to("cuda"), lo que reduce la latencia de respuesta de segundos a milisegundos.

Además, el uso de pad_token_id y attention_mask garantiza que el modelo solo procese la información relevante del prompt, ignorando el relleno necesario para la compatibilidad de dimensiones.

5. Conclusión

El script de inferencia representa la culminación del proyecto, permitiendo validar la eficacia del entrenamiento. Gracias a la combinación de Top-K y Top-P, el modelo logra un equilibrio óptimo entre la gramática aprendida y la fluidez necesaria para un asistente conversacional culinario.

Manual de Referencia para Sistemas de Inferencia Autorregresiva - 2026