En el mundo actual, donde la cantidad de información disponible crece de forma exponencial, los motores de búsqueda enfrentan desafíos cada vez más complejos. La necesidad de recuperar resultados precisos y relevantes, combinando búsquedas lexicográficas con búsquedas basadas en vectores, ha impulsado el desarrollo de soluciones híbridas. Sin embargo, estas soluciones presentan problemas intrínsecos que limitan su eficiencia y escalabilidad. Ante ello, surge una propuesta innovadora que busca simplificar y optimizar el proceso: los modelos de dos torres. Los motores de búsqueda tradicionales se sustentan en filtros lexicales, que funcionan seleccionando documentos que contienen palabras clave específicas en sus títulos o descripciones.
Posteriormente, se aplica una ordenación basada en la similitud vectorial, utilizando embeddings para identificar la cercanía semántica entre la consulta y los documentos. Esta técnica híbrida intenta combinar lo mejor de ambos mundos, pero pronto emerge el principal problema: la explosión combinatoria de filtros y candidatos. Al integrar múltiples atributos y criterios lexicográficos, cada uno generando conjuntos de candidatos propios para la búsqueda vectorial, la gestión se vuelve rápidamente inmanejable. Cada tipo de filtro da lugar a una consulta separada que se combina con otras en una consulta mayor mediante UNION ALL o equivalentes, incrementando el coste computacional y la latencia de respuesta. Esta situación es comparable a una gallina que pone un huevo tras otro, pero que, al ser demasiados, se convierten en un verdadero problema para el corral, dificultando la tarea de seleccionar los mejores candidatos sin sacrificar velocidad.
Ante este panorama, los expertos buscan reducir la dependencia de los filtros lexicográficos tradicionales, integrando más información directamente en el proceso de embedding. En lugar de solucionar la complejidad con filtros adicionales, proponen condensar los diferentes atributos de la consulta y del documento en una representación vectorial conjunta. Es aquí donde los modelos de dos torres juegan un papel crucial. Un modelo de dos torres se compone esencialmente de dos redes neuronales que trabajan en paralelo: una para procesar la consulta y otra para procesar los documentos. Cada torre transforma su entrada en un vector de embeddings, abstraído y adecuado para medir la similitud semántica.
La verdadera fortaleza de este enfoque radica en el entrenamiento conjunto mediante pérdidas contrastivas, en el que las parejas consulta-documento relevantes se acercan en el espacio vectorial, mientras que las no relevantes se alejan. Este proceso de entrenamiento precisa de un conjunto de datos anotados, donde se identifica qué documentos son relevantes para cada consulta. De esta forma, el modelo aprende a capturar no solo la similitud textual tradicional, sino también las relaciones más profundas y contextuales que de otro modo serían difíciles de codificar manualmente mediante filtros. La implementación técnica de un modelo de dos torres suele usar transformadores como base para generar embeddings. Por ejemplo, se puede utilizar un modelo preentrenado como DistilBERT para codificar tanto las consultas como el texto del producto o documento.
El resultado inicial del transformador se proyecta mediante capas adicionales totalmente conectadas que permiten aprender pesos específicos de cada dimensión del embedding, así adaptando el espacio vectorial a las particularidades del dominio de aplicación. Un desafío inicial es cómo representar adecuadamente los diferentes atributos del documento, como su nombre, descripción o categoría. La solución más efectiva consiste en procesar cada atributo por separado a través del transformador y sus capas proyectivas, para luego combinar sus embeddings mediante una operación promedio o concatenación. De esta forma, se crea una representación rica y comprimida del contenido, lista para ser comparada con la representación de la consulta. Para calcular la función de pérdida, se evalúa la similitud entre todos los pares query-documento de un lote de entrenamiento.
Se emplea la multiplicación matricial para obtener una matriz de similitudes, escalada por un parámetro de temperatura que modula la suavidad del entrenamiento. La pérdida de entropía cruzada promueve que cada consulta se acerque a su documento relevante correspondiente y se distancie del resto, lo que a su vez garantiza una mayor capacidad discriminativa al momento de recuperar resultados. Las ventajas de los modelos de dos torres son evidentes. En primer lugar, simplifican la arquitectura del motor de búsqueda al necesitar menos filtros y condiciones lexicográficas específicas. Como resultado, el conjunto de candidatos preliminar es mucho más manejable y eficiente, permitiendo búsquedas con menor latencia.
Además, al estar entrenados con datos propios de la aplicación, los embeddings capturan de manera óptima las necesidades y características del negocio, incrementando la relevancia de las respuestas. Otra ventaja destacable es la flexibilidad para integrar múltiples tipos de información en un solo vector, sin el costo exponencial que implicaría con filtros tradicionales. Esto permite incorporar no solo texto, sino también otros atributos, como categorías o metadata, enriqueciendo enormemente la semántica del modelo. Es importante mencionar que los modelos de dos torres también pueden beneficiarse de técnicas avanzadas como la fine-tuning ligero y la incorporación de grandes modelos de lenguaje, lo que los posiciona como una solución escalable y adaptable a futuro. Asimismo, al separar claramente la codificación de la consulta y del documento, facilitan la actualización parcial y la indexación eficiente en bases de datos vectoriales.
No obstante, el desarrollo y puesta en marcha de un modelo de dos torres no está exento de retos. Uno de los aspectos críticos es la necesidad de contar con conjuntos de datos suficientemente grandes y representativos que contengan etiquetas de relevancia, lo que puede implicar un esfuerzo significativo en anotación. Además, el entrenamiento requiere recursos computacionales elevados, especialmente cuando se incorporan transformadores potentes. La optimización del modelo también implica decisiones estratégicas en cuanto a arquitecturas y parámetros. Por ejemplo, determinar cuántas capas congelar en un transformador preentrenado o qué tamaño debe tener la proyección lineal afecta directamente el rendimiento y la capacidad de generalización.
El impacto en el rendimiento del sistema de búsqueda es también un punto a evaluar cuidadosamente. Aunque la reducción de filtros lexicográficos mejora la latencia, la comparación vectorial sigue siendo costosa, y requiere contar con infraestructuras optimizadas para búsquedas vectoriales, como bases de datos especializadas. A pesar de estos retos, la comunidad tecnológica está adoptando cada vez más el enfoque de dos torres, especialmente en sectores como el comercio electrónico, donde la relevancia y rapidez en la recuperación de productos es crucial para la experiencia del usuario y para maximizar conversiones. En conclusión, los modelos de dos torres representan una evolución natural y necesaria para superar las limitaciones de las búsquedas híbridas. Al integrar de manera efectiva información compleja y variada en un espacio vectorial compartido, simplifican la arquitectura de búsqueda y aumentan la calidad de los resultados.
Su enfoque centrado en el entrenamiento supervisado con pérdidas contrastivas asegura que los embeddings sean personalizados y altamente representativos, adaptándose a las particularidades de cada dominio. Con la adecuada inversión en datos y recursos, las organizaciones que adopten estos modelos podrán ofrecer experiencias de búsqueda más rápidas, precisas y satisfactorias para sus usuarios. En la encrucijada tecnológica actual, abandonar las complejidades de la búsqueda híbrida e invertir en modelos de dos torres es una estrategia que puede marcar la diferencia entre un sistema de búsqueda promedio y uno verdaderamente avanzado y competitivo.