Finalmente percebi por que os re-rankers são tão poderosos assim que compreendi a diferença chave entre bi- e cross-encoders. Além disso, encontrei uma maneira de combinar seus poderes usando uma arquitetura unificada. Deixe-me explicar: RAG é 80% recuperação e 20% geração. Portanto, se o RAG não está funcionando, provavelmente é um problema de recuperação. É exatamente por isso que acertar sua arquitetura de recuperação é tão importante - e tudo começa com a compreensão dessas duas (na verdade, três) abordagens de codificação. (refira-se ao visual abaixo enquanto lê) 1️⃣ Bi-encoders Bi-encoders (a espinha dorsal da busca vetorial) processam consultas e documentos separadamente. - As embeddings dos documentos são pré-computadas - A consulta é incorporada no momento da busca Isso torna os bi-encoders perfeitos para a recuperação inicial: - extremamente rápidos - funcionam em grande escala - perdem informações contextuais importantes 2️⃣ Cross-encoders Cross-encoders adotam uma abordagem completamente diferente para re-ranking. Eles processam a consulta e cada documento como uma única unidade. - Combine a consulta com o documento ([CLS] Consulta [SEP] Documento [SEP]) - Execute através do modelo juntos para uma atenção cruzada completa Isso torna os cross-encoders ideais para a segunda etapa: - captura relações semânticas para melhor precisão - mas muito mais lentos e pesados em recursos para grandes coleções Agora, e se pudermos combinar o melhor de ambos os mundos! 3️⃣ ColBERT ColBERT reúne o poder dos cross-encoders e a escalabilidade dos bi-encoders. - Codifique separadamente consultas e documentos - Crie uma matriz de interação com pontuações de similaridade entre todos os pares de tokens consulta-documento - Pegue a pontuação máxima para cada token de consulta entre os tokens de documento - Some as pontuações máximas para a pontuação final de correspondência _____ Isso é tudo! Se você achou isso perspicaz, compartilhe com sua rede. Encontre-me → @akshay_pachaar ✔️ Para mais insights e tutoriais sobre LLMs, Agentes de IA e Aprendizado de Máquina!
46,68K