Blog

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:

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:

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:

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:

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:

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:

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:

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:

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.

Comprueba tu texto