← Últimos artículos
🤖 machine learning

Synthetic Hallucinations, Real Gains: Hard Negatives from Frontier Models for FIM Hallucination Mitigation

Este artículo propone un enfoque libre de ejecución para mitigar las alucinaciones de tipo Fill-in-the-Middle en modelos de código pequeños mediante el uso de modelos de frontera para sintetizar ejemplos negativos difíciles, los cuales, al ser utilizados para el ajuste fino supervisado, mejoran significativamente el rendimiento a través de múltiples lenguajes y evaluaciones sin requerir etiquetas humanas o entornos de ejecución (sandboxes).

Autores originales: Mahdi Erfanian, Nelson Daniel Troncoso, Aashna Garg, Amabel Gale, Xiaoyu Liu, Pareesa Ameneh Golnari, Shengyu Fu

Publicado 2026-06-03
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Mahdi Erfanian, Nelson Daniel Troncoso, Aashna Garg, Amabel Gale, Xiaoyu Liu, Pareesa Ameneh Golnari, Shengyu Fu

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

El Problema: El Autocompletado "Confiado pero Equivocado"

Imagina que estás escribiendo código en un editor de texto y un asistente de IA intenta terminar la frase por ti. A veces, esta IA es como un estudiante confiado que se ha memorizado el estilo de un libro de texto, pero que no ha leído realmente el capítulo específico en el que estás trabajando.

Podría sugerir un nombre de función que suene real, o una variable que encaje perfectamente con la gramática, pero que no existe en tu proyecto. Esto se llama una alucinación. En el mundo de la programación, esto es peligroso porque el código parece correcto a la vista, pero fallará en el momento en que intentes ejecutarlo.

Las soluciones actuales para arreglar esto son torpes:

  1. El Método del "Sandbox": Intentar ejecutar cada sugerencia para ver si funciona. Esto es demasiado lento para la escritura en tiempo real (no puedes esperar 5 segundos por una sugerencia).
  2. El Método del "Profesor Humano": Hacer que los humanos etiqueten miles de ejemplos de código "bueno" frente a "malo". Esto es costoso y lento.

La Solución: El Profesor "Embaucador"

Los autores proponen una nueva forma ingeniosa de entrenar estos modelos de IA pequeños y rápidos sin necesidad de ejecutar código ni contratar ejércitos de humanos. Lo llaman "Alucinaciones Sintéticas, Ganancias Reales".

Piensa en esto como entrenar a un guardia de seguridad para detectar falsificaciones. En lugar de mostrarle al guardia solo dinero real, contratas a un equipo de falsificadores expertos (los "Modelos de Frontera") para que creen billetes falsos que parezcan casi perfectos.

Así funciona su proceso:

  1. La Configuración: Toman código real de proyectos públicos (como GitHub) y recortan la parte media, dejando un "hueco" donde la IA debe rellenar el espacio en blanco.
  2. Los Embaucadores: Le piden a tres modelos de IA muy inteligentes y potentes que rellenen ese hueco, pero les instruyen para que cometan un error. Específicamente, les piden a los embaucadores que inventen nombres de funciones falsos, variables falsas o importaciones falsas que parezcan plausibles pero que sean erróneas.
  3. El "Negativo Difícil": Estas sugerencias falsas se llaman "negativos difíciles" (hard negatives). Son la herramienta de entrenamiento perfecta porque son lo suficientemente engañosas como para confundir a un humano (o a una IA más débil), pero son definitivamente incorrectas.
  4. La Lección: Le muestran al modelo de IA pequeño el hueco, la respuesta correcta real (del código original) y la respuesta falsa incorrecta. Le enseñan al modelo pequeño: "Esta es la respuesta correcta. Esa otra que parece buena es una trampa. Aprende a detectar la trampa".

Los Resultados: Un Asistente Más Inteligente y Rápido

Probaron este método en modelos de codificación pequeños (de 3 mil millones y 7 mil millones de parámetros). Esto fue lo que pasó:

  • La Mejora "Mágica": Cuando entrenaron el modelo de 7 mil millones de parámetros usando este método, su capacidad para evitar alucinaciones saltó casi 19 puntos. Ese es un salto masivo.
  • Venciendo a Modelos Más Grandes: Curiosamente, el modelo pequeño entrenado con este método (de tamaño 3B) se volvió mejor evitando estos errores específicos que un modelo mucho más grande y no entrenado (de 7B). Los datos de entrenamiento importaron más que el tamaño del cerebro.
  • Aprender a Detenerse: Un beneficio oculto fue que los modelos aprendieron exactamente cuándo dejar de escribir. A menudo, los modelos de IA siguen escribiendo contenido sin sentido después de terminar una frase. Este entrenamiento les enseñó a detenerse justo en la línea de meta.

La "Receta Secreta" (Lo que lo hizo funcionar)

Los autores realizaron muchos experimentos para descubrir por qué esto funcionó tan bien. Encontraron algunas reglas clave:

  • La Cantidad Importa (Pero Solo Hasta Cierto Punto): Necesitaban entre 50,000 y 100,000 ejemplos para obtener los mejores resultados. Añadir más no ayudaba mucho después de eso.
  • La Variedad es Clave: Tuvieron que usar ejemplos de muchos lenguajes de programación diferentes (Python, Java, C#, etc.). Si solo usaban Python, el modelo se confundía. Usar cinco o más lenguajes ayudó al modelo a entender el patrón de la mentira, no solo las palabras específicas.
  • El Nivel del "Truco": Los ejemplos falsos debían ser difíciles. Si el código falso era obviamente erróneo (como una función llamada hacer_cosas_falsas), el modelo no aprendía nada. Los mejores entrenamientos vinieron de los ejemplos del "medio": falsificaciones que eran tan buenas que casi engañaban a los jueces.
  • Funciona en Diferentes Modelos: Este método funcionó en tres tipos diferentes de modelos de IA base, demostrando que es una receta universal y no un truco específico de un solo modelo.

El Intercambio: El Tamaño Importa

Hubo un inconveniente. Cuando intentaron esto con el modelo más pequeño (3 mil millones de parámetros), este se volvió excelente para detener las alucinaciones, pero a veces olvidaba cómo escribir código largo y complejo correctamente. Era como un estudiante que aprendió a detectar erratas a la perfección, pero olvidó cómo escribir ensayos largos. Los autores sugieren que este método es mejor para modelos que tienen al menos 7 mil millones de parámetros de tamaño.

La Conclusión

El artículo demuestra que no necesitas ejecutar código ni contratar humanos para solucionar las alucinaciones de la IA. En su lugar, puedes usar un "embaucador inteligente" para generar errores falsos y complicados, y enseñar a la IA a detectarlos. Esto crea un asistente de codificación más rápido y fiable que sabe cuándo detenerse y cuándo decir: "No conozco esa función".

Los autores han publicado el código de todo este proceso, por lo que cualquier persona con acceso a código público y un modelo de IA potente puede reproducir estos resultados.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →