Modelos encoder frente a decoder: ¿qué arquitectura encaja?

Traducción automática

Este artículo se tradujo automáticamente a partir de la versión original en inglés.

Usa un encoder entrenado para la tarea cuando necesites representaciones o predicciones sobre una entrada. Usa un modelo encoder-decoder cuando un sistema entrenado transforme una secuencia en otra. Usa un modelo de lenguaje de solo decoder para la generación autorregresiva y las tareas basadas en prompts. El entrenamiento y la interfaz de salida del checkpoint importan tanto como el nombre de la arquitectura.

Estas opciones son un punto de partida útil para los ingenieros que eligen modelos, no límites a lo que una arquitectura adaptada puede llegar a hacer.

Compara qué devuelve cada modelo

FamiliaPatrón de atenciónSalida típica y ejemplo
Solo encoderLos tokens ven toda la entradaRepresentaciones de tokens, etiquetas o fragmentos de texto; BERT
Encoder-decoderEncoder sobre toda la entrada; decoder de salida causal con atención cruzadaSecuencia de salida generada; T5
Solo decoderAtención causal sobre la secuencia de tokensDistribuciones del siguiente token y continuaciones generadas; Llama

BERT aprende representaciones bidireccionales mediante preentrenamiento con lenguaje enmascarado. Una cabeza de salida adecuada y el entrenamiento para la tarea convierten esas representaciones en clasificaciones, fragmentos de texto u otras predicciones. BERT estándar no está configurado como un generador de texto convencional de izquierda a derecha. Además, la salida agregada de un encoder cualquiera no es automáticamente un buen embedding para recuperación: ese uso requiere entrenamiento y evaluación adecuados.

T5 usa un encoder para representar una entrada y un decoder para generar una salida aplicando atención a esas representaciones. Puede expresar tareas de clasificación como generación de texto, además de transformar secuencias. Encoder-decoder no significa solo traducción.

Un modelo de solo decoder usa la misma secuencia causal para las instrucciones, los ejemplos y la continuación generada. Cada posición puede atender a sí misma y a las posiciones anteriores. Sus estados KV anteriores siguen siendo válidos cuando la generación añade tokens, lo que permite la decodificación incremental. El artículo del Transformer explica la diferencia entre el enmascaramiento y la atención cruzada.

Elige el checkpoint para la tarea

Para clasificación con etiquetas fijas o extracción, compara un modelo más pequeño entrenado para la tarea con un generador guiado por un prompt. Para recuperación, compara checkpoints entrenados para embeddings o reranking, en vez de basarte en las etiquetas de arquitectura. Para respuestas flexibles, código o argumentos de herramientas, evalúa un modelo generativo según el formato de salida y los errores que tu aplicación puede tolerar.

Comprueba los límites de entrada, los idiomas admitidos, la cabeza de salida necesaria, la calidad, la latencia y el runtime de despliegue. La etiqueta de una familia permite anticipar el patrón de cálculo; no garantiza calidad en la tarea ni hace que un modelo más grande sea la mejor opción.

Guía de ingeniería: familias de modelos explica conjuntamente las propiedades de generación y almacenamiento en caché.