
Cómo entrenamos un detector multilingüe de texto generado por IA (sin desvelar los secretos)
Datos emparejados, texto humano anterior a los chatbots, una partición sin fugas y una calibración que protege a quien escribe: así se entrenó el modelo de detección de Probator.
Hemos creado nuestro propio modelo para detectar texto escrito por IA en seis idiomas, y ya funciona detrás de cada comprobación de Probator. Así es como lo entrenamos.
Vamos a ser transparentes con el método, pero nos guardamos algunas cosas:
- qué modelos escribieron los textos de IA con los que entrenamos;
- cuántos datos usamos;
- la arquitectura exacta;
- los umbrales.
Nada que ponga más fácil engañar a un detector tiene cabida en un artículo de blog. Todo lo demás está aquí.
1. Enseñar «quién lo escribió», no «de qué trata»
La forma más fácil de construir un mal detector de IA es recopilar texto humano de un sitio y texto de IA de otro. El modelo aprende que los artículos de enciclopedia son humanos y que las respuestas con estilo de blog son de IA, saca una puntuación estupenda en su propio conjunto de prueba y falla con documentos reales.
Por eso, todos los datos de entrenamiento van en parejas: un texto humano y un texto de IA escrito sobre el mismo tema, en el mismo idioma y del mismo género. La única diferencia sistemática que queda entre ambos lados es quién los escribió, y eso es justo lo que el modelo tiene que aprender.
2. Texto humano anterior a los chatbots
No puedes estar seguro de que un texto lo haya escrito una persona si se publicó después de 2022. Por eso, la parte humana procede de textos anteriores a los chatbots:
- artículos de enciclopedia;
- páginas web rastreadas hace años;
- noticias;
- resúmenes académicos.
Cada texto pasa por filtros de calidad, y el material se reparte entre seis idiomas: inglés, portugués, español, francés, alemán e italiano.
La variedad de géneros importa tanto como el volumen. Los textos formales, técnicos y traducidos son precisamente aquellos en los que los detectores de IA más acusan a personas, así que ese tipo de texto está bien representado a propósito.
3. Texto de IA de muchos modelos, escrito de muchas formas
La parte de IA la escribe un conjunto variado de modelos actuales, con instrucciones que piden distintos géneros, extensiones y tonos. Un detector entrenado con un solo modelo aprende los hábitos de ese modelo. Uno entrenado con muchos tiene que aprender lo que todos tienen en común.
También incluimos dos tipos de texto de IA más difíciles:
- Texto humano pulido con IA: un borrador humano que un modelo ha reescrito;
- Texto «humanizado»: texto que un modelo escribió con instrucciones para que sonara humano.
4. Dividir por tema, nunca por frase
Este es el paso en el que fallan la mayoría de las evaluaciones caseras. Puntuamos el texto fragmento a fragmento. Si repartes los fragmentos al azar entre los conjuntos de entrenamiento y de prueba, fragmentos del mismo documento acaban en ambos lados. Entonces el modelo reconoce en parte documentos que ya ha visto, y tu precisión parece mejor de lo que es.
Nosotros, en cambio, dividimos por pareja temática. Cada pareja recibe un hash estable y va, entera, a uno de estos tres conjuntos:
- entrenamiento: aquello con lo que aprende el modelo;
- validación: aquello sobre lo que calibramos;
- prueba: aquello de lo que salen los resultados que publicamos, y nada más lo toca.
Un tema del conjunto de prueba nunca se vio durante el entrenamiento, ni en el texto humano ni en el de IA.
5. El modelo
Cada fragmento se convierte en un embedding multilingüe de frase, más un puñado de rasgos de estilo sencillos. Una pequeña red neuronal lo transforma en la probabilidad de que el fragmento esté escrito por una máquina. Las puntuaciones de los fragmentos se combinan en una puntuación para todo el documento.
La red es pequeña a propósito. Solo añade unos milisegundos a cada comprobación y es lo bastante barata como para volver a entrenarla cada vez que aparecen modelos nuevos. Las probabilidades están calibradas, así que 0,8 significa aproximadamente «el 80 % de las veces», no solo «más que 0,6».
6. Calibrar pensando en quien podría ser acusado injustamente
Un detector de IA comete dos tipos de error, y no cuestan lo mismo. Que se escape un texto de IA es una pena. Decirle a un profesor que la redacción que un alumno escribió por sí mismo está generada por IA puede hacerle daño a alguien.
Por eso, el umbral de decisión se fija por idioma, sobre el conjunto de validación, de modo que como máximo 1 de cada 100 documentos humanos quede marcado. Por encima del modelo se aplican otras tres salvaguardas:
- Textos cortos: ningún veredicto de «generado por IA» por debajo de 80 palabras, salvo que haya indicios concluyentes, como un resto de chatbot o una marca oculta.
- Acuerdo: nuestro modelo es una de varias señales, junto con una lectura experta a cargo de un modelo de lenguaje, una prueba de reescritura y comprobaciones forenses. El veredicto más contundente exige que coincidan dos de ellas.
- Transparencia: cuando una salvaguarda cambia un resultado, el informe lo indica.
7. Ir a por tus propios falsos positivos
Los benchmarks no encuentran todos los puntos débiles; los usuarios, sí. Al principio, alguien nos envió un documento que había escrito íntegramente por su cuenta, y nuestro modelo le asignó un 9 % de probabilidad de IA. Está por debajo de cualquier veredicto, pero un lector atento no debería ver un 9 % en un texto totalmente humano.
Analizamos qué tipo de texto era: formal, estructurado, con pocos toques personales. Añadimos más textos humanos de ese tipo a los datos de entrenamiento, volvimos a entrenar y lo comprobamos de nuevo. La lección general: los textos que más fácilmente se juzgan mal son justo los que más vale la pena recopilar.
8. Entrenar sin un clúster de GPU
Todo el proceso se ejecuta en infraestructura serverless: recopilar texto, generar texto de IA, calcular los embeddings y entrenar. No hay ninguna máquina funcionando de forma continua. Eso condicionó el diseño:
- Pasos pequeños y reanudables: cada paso es corto y guarda su estado, así que el entrenamiento sobrevive a reinicios y a tiempos de espera agotados. Los pesos del modelo se guardan como checkpoint en un almacenamiento de objetos después de cada paso.
- Una cola dirige la ejecución: cada paso terminado programa el siguiente.
- Un watchdog: detecta cuándo un paso se ha atascado y lo vuelve a lanzar.
- Ejecuciones acumulativas: una nueva ejecución puede añadir textos nuevos a todo lo recopilado antes, en lugar de empezar de cero.
La primera versión se atascó a mitad de una época más de una vez. Hacer que cada paso fuera reanudable es lo que volvió aburrido el entrenamiento, que es justo como debe ser.
9. Resultados
En documentos de prueba reservados, en los seis idiomas:
- Precisión: 98,4 %
- AUROC: 0,998
El AUROC mide lo bien que el modelo sitúa el texto de IA por encima del texto humano, sea cual sea el umbral: 1,0 es perfecto y 0,5 equivale a lanzar una moneda al aire. Los resultados por idioma están en nuestra página de precisión, que actualizamos cada vez que se pone en marcha un modelo nuevo.
Aun así, un detector nunca es una prueba. Nuestros resultados van acompañados de sus razones, para que la decisión la tome una persona.
Lo que nos guardamos, y por qué
No publicamos:
- qué modelos escribieron los textos de IA de entrenamiento;
- el volumen de los datos;
- la forma exacta de la red;
- los umbrales.
Con esa información sería más fácil retocar un texto hasta que se colara por debajo del detector. Todo lo que te dice si puedes fiarte de los resultados (el método, cómo funciona la partición y los resultados de las pruebas) es público.