Degradación de Vectores: Cambio de Modelo Base
Actualizar el modelo base subyacente provoca una deriva significativa en los embeddings, invalidando búsquedas vectoriales previamente optimizadas.
Actualizar el modelo base subyacente provoca una deriva significativa en los embeddings, invalidando búsquedas vectoriales previamente optimizadas.
Hemos observado una regresión no trivial en la precisión de la búsqueda semántica tras actualizar nuestro modelo base de embeddings, pasando de `mistral-7b` a `llama3-8b`. Nuestro flujo de trabajo implicaba la incrustación de datos usando `Ollama` para servir el modelo, luego indexándolos en `Qdrant` para búsquedas vectoriales. La actualización del modelo, aparentemente simple, resultó en vectores significativamente diferentes para el mismo texto de entrada, generando resultados de búsqueda irrelevantes. La latencia de las consultas se mantuvo estable, pero la calidad del ranking de resultados se deterioró notablemente.
La magnitud de la deriva no es lineal y parece estar influenciada por la complejidad semántica del texto. Fragmentos más cortos y simples muestran una menor divergencia, mientras que documentos más largos y matizados sufren una alteración más pronunciada. Para mitigar esto, es crucial re-incrustar *todo* el dataset después de cada actualización de modelo base. Ignorar este paso producirá resultados engañosos y comprometerá la utilidad de las aplicaciones que dependen de la búsqueda semántica.
Usamos `LangGraph` para definir nuestro flujo de trabajo de recuperación de información y `n8n` para la automatización de la re-incrustación. Implementamos ahora un sistema de monitoreo automatizado que compara la calidad de las búsquedas antes y después de la actualización del modelo, alertando al equipo sobre cualquier desviación significativa. Esta medición temprana nos permite tomar medidas correctivas antes de que la degradación afecte a los usuarios finales.
Finalmente, este incidente subraya la importancia de tratar los embeddings como una dependencia crucial y no como una característica inmutable del sistema. El re-entrenamiento periódico (o al menos la re-incrustación) es un coste operativo inevitable al utilizar modelos de lenguaje grandes para la búsqueda semántica.