42 · Usar modelos pre-entrenados
La vista del practicante: carga un modelo del Hugging Face Hub y úsalo. pipeline para una sola línea, AutoTokenizer/AutoModel para control, prompting zero/few-shot y embeddings de oraciones para recuperación.
Rara vez construyes LLM desde cero — CARGAS uno pre-entrenado del Hugging Face Hub: pipeline para tareas instantáneas, AutoTokenizer/AutoModel para control, prompting (zero/few-shot) para guiarlo y embeddings de oraciones para impulsar la búsqueda semántica.
Sin esto:
Todo lo anterior a esta lección explica cómo funcionan los modelos por dentro. Esta es la habilidad cotidiana: realmente llamar a un modelo pre-entrenado para resolver una tarea real en unas pocas líneas de código.
Ahora entiendes cómo se construyen estos modelos. El trabajo cotidiano es mucho más simple: carga un modelo pre-entrenado y úsalo. El Hub de Hugging Face aloja cientos de miles de modelos listos para usar, y la librería transformers hace que llamarlos sea unas pocas líneas de código.
Hay dos niveles de acceso:
-
pipeline— la única línea.pipeline("sentiment-analysis")descarga un modelo por defecto razonable, conecta su tokenizador y te entrega una función:pipe("I love this!")devuelve una etiqueta y una puntuación. Hay pipelines para clasificación, traducción, resumen, preguntas y respuestas, y más. Perfecto para prototipar. -
AutoTokenizer+AutoModel— control total. Cuando necesitas personalizar, carga el tokenizador y el modelo explícitamente, tokeniza tu texto en IDs tú mismo, ejecuta el modelo y decodifica la salida. Esto expone las perillas de generación (temperature, top-p, máximo de tokens) y te permite agrupar en lotes, hacer streaming o alimentar embeddings a tu propia pipeline.
Dos formas de guiar un modelo generativo SIN entrenamiento alguno:
- Prompting zero-shot — simplemente describe la tarea en lenguaje llano ("Clasifica el sentimiento de esta reseña: ...").
- Prompting few-shot — incluye un puñado de ejemplos resueltos en el prompt antes de la consulta real, para que el modelo infiera el patrón a partir de las demostraciones (esto es "aprendizaje en contexto", in-context learning).
Y un uso caballo de batalla de los modelos encoder: los embeddings de oraciones. Codifica cada oración en un único vector (la familia encoder de la lección 39), luego compara vectores por similitud coseno para encontrar texto semánticamente relacionado — el motor detrás de la búsqueda semántica y la generación aumentada por recuperación (RAG). La celda ejecutable de abajo construye justo ese ranking a partir de embeddings de juguete.
Uso de HuggingFace: pipeline('sentiment-analysis') en una línea; AutoTokenizer + AutoModelForCausalLM con model.generate(temperature, top_p, do_sample); y un prompt few-shot con ejemplos etiquetados antes de la consulta.
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
¿Qué permite la similitud coseno sobre embeddings de oraciones?
- Carga modelos pre-entrenados del Hugging Face Hub: pipeline('tarea') para una sola línea instantánea, o AutoTokenizer + AutoModel para control total sobre la tokenización y la generación (temperature, top_p, max_new_tokens).
- Guía un modelo generativo SIN entrenamiento vía prompting zero-shot (describe la tarea) o few-shot (incluye ejemplos resueltos — aprendizaje en contexto).
- Los embeddings de oraciones + la similitud coseno ordenan textos por significado sin importar el solapamiento exacto de palabras — el mecanismo central de la búsqueda semántica y la generación aumentada por recuperación (RAG).
Esto ES el NLP aplicado del día a día: unas pocas líneas de transformers / sentence-transformers para clasificar, generar o hacer embedding de texto — y los embeddings ordenados por coseno impulsan prácticamente todo sistema de búsqueda y RAG en producción.
Si lo quitas: Entenderías los transformers en teoría pero no sabrías cómo llamar a uno de verdad, tratando el Hub y el flujo de prompting/embeddings como un misterio en lugar de unas pocas líneas de código.