Saltar a contenido

Enfoque

El trabajo no enfrenta fine-tuning contra no fine-tuning. Resuelve un único problema y explora varias técnicas, con y sin entrenamiento, sobre los mismos tres modelos abiertos pequeños. Un único corpus sintético alimenta ambas ramas.

Bloque Qué hace
Generación de datos sintéticos Produce un corpus en español guiado por esquema con un pipeline de cinco etapas adaptado de GuideX
Rama zero-shot Mantiene los pesos congelados y combina prompting, ejemplos few-shot recuperados, decodificación restringida y posprocesado
Rama de fine-tuning Actualiza los pesos con LoRA y con fine-tuning completo sobre el mismo corpus

Generación de datos sintéticos

El corpus sigue la idea de GuideX (generación sintética guiada para extracción de información zero-shot), adaptada al español y al formato de registro de GenSIE.

Etapa Qué ocurre
0 Preparar un corpus heterogéneo en español (sobre todo pasajes de la Wikipedia en español), segmentarlo en pasajes autocontenidos y etiquetar el dominio
1 Un LLM profesor escribe un resumen estructurado de cada pasaje y lista candidatos a null-trap, preguntas que el pasaje no responde
2 Sintetizar un esquema JSON y una instrucción únicos para cada pasaje
3 Extraer una instancia JSON conforme al esquema, reintentando con la realimentación del validador si no lo es
4–5 Control de calidad sin LLM (violaciones de esquema, registros degenerados o poco especificados) y empaquetado en el formato de registro de GenSIE

La principal diferencia respecto a GuideX es que cada pasaje recibe su propio esquema, de modo que un modelo al que se le da el corpus como prompt o como datos de entrenamiento tiene que leer el esquema en la inferencia en lugar de memorizar una ontología fija.

Rama zero-shot

Una cascada de generar y verificar en torno a una única llamada al LLM. Ningún nombre de campo ni ejemplo del conjunto de desarrollo está fijado en el código.

  1. Construcción del prompt. Un prompt de sistema fija el papel de extractor estructurado. El mensaje del usuario contiene el esquema, el texto y unas pocas demostraciones few-shot recuperadas de la biblioteca sintética por similitud de esquema, con embeddings multilingües de frases. Una guía de campos opcional reformula en lenguaje llano la descripción, la enumeración y la nulabilidad de cada campo.
  2. Decodificación restringida. El esquema JSON se compila en una gramática que enmascara los logits de tokens del modelo, de modo que la validez estructural se cumple por construcción y el esfuerzo del modelo se dedica a la corrección semántica.
  3. Posprocesado consciente del esquema. Una pasada determinista con cinco capas conservadoras: anclaje a la fuente, normalización léxica, canonicalización guiada por el esquema, ajuste literal y un filtro de alucinaciones que sustituye por null los valores sin respaldo de campos anulables.

Rama de fine-tuning

Fine-tuning supervisado sobre ejemplos en formato de chat del mismo corpus, con la pérdida de entropía cruzada habitual sobre el JSON de referencia y sin aprendizaje por refuerzo. Dos regímenes se ejecutan en paralelo con los mismos datos y objetivo:

  • LoRA: congela los pesos base y entrena adaptadores de bajo rango que pueden fusionarse de nuevo en un checkpoint estándar.
  • Fine-tuning completo: actualiza todos los parámetros, repartidos entre varias GPUs para los modelos más grandes.

Se prueban tres modos de prompt en entrenamiento, incluido el in-context tuning, donde unas pocas demostraciones se colocan dentro del propio prompt de entrenamiento.