ElemedexEnciclopedia de bolsillo de arquitecturas de IA

Glosario (MT) › Piezas de arquitectura

MT079

Bicodificadores y codificadores cruzados

También: cross-encoder, bi-encoder, reordenador (reranker)

En inglés: Bi-encoders and cross-encoders

Dos maneras de comparar textos con un codificador: por separado, un vector por texto (bicodificador), o leyéndolos juntos para puntuar el par (codificador cruzado).

Hay dos maneras de usar un codificador como BERT para medir cuán relacionados están dos textos, sean una consulta y un documento o dos oraciones. El codificador cruzado (cross-encoder) los recibe juntos, separados por un token [SEP] (token especial), de modo que la atención cruza de un texto al otro, y devuelve un puntaje; no produce embeddings reutilizables (Alammar y Grootendorst, 2024, p. 294). El bicodificador (bi-encoder) procesa cada texto por separado con la misma red (dos copias con pesos compartidos, una arquitectura siamesa) y los compara después, por ejemplo con similitud coseno (2024, p. 295). Es la solución de Sentence-BERT.

Los costos son asimétricos. Con un codificador cruzado, hallar el par más parecido entre 10.000 oraciones exige n(n − 1)/2 = 49.995.000 pasadas por la red, unas 65 horas en una GPU V100; con un bicodificador se calculan 10.000 vectores (≈ 5 segundos) y luego cosenos (≈ 0,01 segundos) (Reimers y Gurevych, 2019, pp. 3982–3983). Pero el cruzado es más preciso: al evaluar la similitud de argumentos sobre un tema no visto, SBERT quedó unos 7 puntos de correlación por debajo de BERT, que puede comparar ambas oraciones palabra por palabra, mientras que SBERT debe ubicar cada una en el espacio sin ver la otra (2019, pp. 3986–3987).

Por eso los buscadores los encadenan: un bicodificador (o una búsqueda por palabras clave) preselecciona cien o mil candidatos y un codificador cruzado los reordena (reranking) (Alammar y Grootendorst, 2024, pp. 242, 244). En el benchmark multilingüe MIRACL, ese paso lleva el nDCG@10 de 36,5 a 62,8 (2024, p. 243). Es el esquema típico de la búsqueda semántica y de Generación aumentada por recuperación (RAG).

La diferencia tiene un aire filosófico. El bicodificador supone que el significado de cada texto puede fijarse de antemano, con independencia de aquello con lo que se lo comparará: un punto en un espacio, al modo atomista. El cruzado trata la pertinencia como una relación que solo se evalúa mirando ambos términos a la vez. ¿Se deja factorizar la relevancia (o la implicación) en dos representaciones separadas y una métrica?

Fuentes

  • Alammar, J., & Grootendorst, M. (2024). Hands-on large language models: Language understanding and generation. O’Reilly Media. §
  • Liu, Y., Ott, M., Goyal, N., Du, J., Joshi, M., Chen, D., Levy, O., Lewis, M., Zettlemoyer, L., & Stoyanov, V. (2019). RoBERTa: A robustly optimized BERT pretraining approach (arXiv:1907.11692). arXiv. https://doi.org/10.48550/arXiv.1907.11692 §
  • Reimers, N., & Gurevych, I. (2019). Sentence-BERT: Sentence embeddings using Siamese BERT-networks. In Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP) (pp. 3982–3992). Association for Computational Linguistics. https://doi.org/10.18653/v1/D19-1410 §