Comparamos 14 modelos de incorporação de código aberto, hospedados em um único H100, em mais de 500 consultas de recuperação selecionadas manualmente, abrangendo contratos legais, notas técnicas de suporte ao cliente e resumos médicos. O modelo NVIDIA Llama-Embed-Nemotron-8B apresentou o melhor desempenho em termos de precisão. Em relação ao custo, o modelo Google EmbeddingGemma-300m é aproximadamente 4 vezes mais barato que o Nemotron, com uma pequena perda de precisão.
Resultados de benchmark de modelos de incorporação de código aberto
Explicação das métricas
nDCG@3: Ganho cumulativo descontado normalizado no ponto de corte 3. Com um documento relevante por consulta, o valor é 1 / log2(classificação + 1) quando o documento relevante está entre os 3 primeiros, e 0 caso contrário. A classificação 1 recebe uma pontuação de 1,000, a classificação 2 recebe 0,631 e a classificação 3 recebe 0,500. Usamos nDCG@3 como a métrica principal porque os pipelines RAG de produção alimentam o LLM com os 3 a 5 primeiros blocos, e o viés de primazia faz com que a classificação 1 tenha um peso desproporcional.
nDCG@10: Mesma fórmula com ponto de corte 10.
Recall@10: Fração de consultas em que o documento principal aparece entre os 10 primeiros resultados.
MRR@10: Classificação recíproca média no ponto de corte 10. Ouro na classificação 1 pontua 1,000, classificação 2 pontua 0,500 e classificação 10 pontua 0,100. Intenção semelhante à do nDCG@3, mas com uma penalidade de classificação mais acentuada.
Resultado principal (Top-1 hit): Fração de consultas em que o documento relevante para o resultado principal é o único resultado obtido. A métrica mais rigorosa e a que mais se aproxima de um fluxo de trabalho de pesquisa sem LLM (Limited Liability Metabolism).
Resultados nDCG@3 por domínio
A classificação AVG oculta inversões de domínio. Harrier vence no CUAD, mas fica em sétimo no TechQA. SFR-2 ocupa o segundo lugar no TechQA, mas apenas o quarto no CUAD. KaLM-12B está em quinto lugar no MedRAG e em nono no TechQA. nDCG@3 por domínio:
O BM25 é competitivo no MedRAG (0,7862, superando o PubMedBERT e o Granite multilíngue) e fraco no CUAD (0,5844, onde 11 dos 14 modelos densos o superam). Contratos jurídicos contêm linguagem de entidades densa que recompensa a correspondência lexical. Em resumos médicos, os melhores modelos densos (Nemotron 0,9629, SFR-2 0,9620, jina-v5 0,9523) superam o BM25 em 0,17 a 0,18 pontos absolutos nDCG@3.
Os intervalos de confiança de 95% por célula (modelo, domínio) obtidos por bootstrap, incluindo um empate quádruplo no topo do MedRAG e uma sobreposição entre o Harrier e o Nemotron CUAD que a classificação por estimativa pontual atenua, são apresentados na seção de metodologia de referência .
Custo por milhão de tokens
O custo de hospedagem própria é amortizado por GPU: a taxa horária dividida pelos tokens processados por hora. O pod que utilizamos foi um RunPod community-cloud H100 80GB SXM5 a US$ 2,99/hora . O tempo real por modelo, considerando as 551 consultas e 3 passagens pelo corpus (totalizando aproximadamente 46,2 milhões de tokens), resulta nas seguintes estimativas de custo por milhão de tokens:
A fórmula:
GPU $/h = $2,99 (taxa da comunidade RunPod H100 80GB SXM5 do pod que usamos). wall_seconds = tempo total de execução de cada modelo ao longo das 551 consultas e 3 corpora. total_tokens ≈ 46,22 milhões (soma de 3 corpora + 551 consultas, heurística de contagem de caracteres ÷ 4).
Exemplo prático, Nemotron-8B: ($2,99 / 3600) × (1247,8 × 1.000.000 / 46.220.000) = $0,0224 por 1 milhão de tokens .
Cinco modelos lideram sua faixa de custo (nenhuma outra linha custa menos e pontua mais alto): Granite-278m-multilingual na base da escala de custo, seguido por Granite-small-r2, EmbeddingGemma-300m, jina-v5-text-small e Nemotron-8B no topo da escala de qualidade. Os extremos variam em 13 vezes em custo (de US$ 0,0017/M a US$ 0,0224/M) e 0,23 em nDCG@3 absoluto (de 0,6952 a 0,9249).
Especialistas de domínio versus generalistas
O PubMedBERT, otimizado para pares título-resumo do PubMed, é a ferramenta ideal para recuperação de dados médicos RAG no PubMed. Ele alcança uma pontuação nDCG@3 = 0,7084 no MedRAG, que está abaixo da linha de base lexical BM25 (0,7862) no mesmo corpus. Generalistas modernos de código aberto o superam em 0,22 a 0,25 pontos absolutos em seu domínio de dados de treinamento.
O motivo pelo qual o especialista apresenta desempenho inferior é a idade e a metodologia utilizada. O PubMedBERT é um BERT de 2022 com 110 milhões de parâmetros, agrupamento simétrico de médias e sem prefixo de instrução. Os generalistas de 2024 a 2026 são construídos sobre estruturas maiores, prefixos assimétricos de consulta e documento e objetivos de recuperação ajustados a instruções. A diferença arquitetônica importa mais do que a correspondência de domínio: um algoritmo de ajuste fino de 4 anos não consegue acompanhar um recuperador ajustado a instruções da geração atual, mesmo em seu próprio corpus de treinamento.
A regra do comprador é testar um especialista de domínio contra um generalista moderno em consultas representativas antes de implementá-lo. A suposição de que "o especialista vencerá em seu domínio" não é mais segura para modelos de incorporação de código aberto em 2026.
Resultados do benchmark de incorporação de código aberto
A vantagem do Nemotron-8B no TechQA é estatisticamente significativa em relação ao segundo colocado.
O valor médio de nDCG@3 do Nemotron-8B é 0,9249. Por domínio, atinge 0,8602 no CUAD, 0,9515 no TechQA e 0,9629 no MedRAG. O resultado do TechQA (0,9515, 0,923, 0,977) não se sobrepõe ao segundo colocado, SFR-Embedding-2_R (0,9109, 0,869, 0,949). Os intervalos de confiança (IC) de bootstrap são claramente distintos. A base 8B Llama-3.1, otimizada para recuperação de instruções com um prefixo de consulta Instruct: …\nQuery: … e um prefixo simétrico no documento, apresenta uma vantagem absoluta de 0,04 no nDCG@3 em relação à linha seguinte em cargas de trabalho com suporte a documentos longos.
Os dois domínios em que o Nemotron vence de forma incontestável (TechQA, MedRAG) são os corpora de documentos longos onde a assimetria de prefixos de instruções é mais relevante. CUAD é o único domínio em que não lidera: o Harrier-oss-v1-0.6b de Microsoft (0,8720) supera o Nemotron (0,8602) em contratos legais, apesar de ser 13 vezes menor, embora os intervalos de confiança se sobreponham e a vantagem não seja estatisticamente significativa neste tamanho de amostra.
Um modelo Harrier de 0,6B Microsoft supera todos os modelos abertos com menos de 7B parâmetros.
Microsoft Harrier-oss-v1-0.6b (lançado em 2026-04 com uma base Qwen3-0.6B e uma licença MIT) alcança AVG nDCG@3 = 0,8911 , em quarto lugar geral. Ele supera o 12B Tencent KaLM-Gemma3 (0,8057, licença comunitária Tencent), o 7B Salesforce SFR-Embedding-2_R no CUAD (0,8421 vs Harrier 0,8720) e o EmbeddingGemma-300m de Google (0,8706). Em uma comparação de arquitetura idêntica, o Harrier-0.6b (0,8911) apresenta um nDCG@3 0,074 acima do Qwen3-Embedding-0.6B (0,8168), construído sobre a mesma base Qwen3-0.6B. A diferença foi determinada pelo corpus de treinamento e pela receita de instruções, e não pela quantidade de parâmetros.
Para compradores, o Harrier é a biblioteca de código aberto mais bem classificada que vem com uma licença adequada para uso comercial sem restrições. SFR-2 (CC-BY-NC), Nemotron (NSCL-v1) e jina-v5 (CC-BY-NC) o superam na classificação média, mas todos os três são destinados apenas à pesquisa ou não comerciais.
Um especialista médico em implantação perde para BM25.
O conjunto de embeddings PubMedBERT-base do NeuML foi otimizado com base em pares de título e resumo do PubMed. É a ferramenta ideal para um benchmark RAG médico no PubMed. Obtém uma pontuação nDCG@3 = 0,7084 no MedRAG , que é 0,078 pontos abaixo da linha de base lexical BM25 (0,7862) no mesmo corpus. Os melhores generalistas de código aberto no MedRAG superam ambos: Nemotron-8B 0,9629, SFR-Embedding-2_R 0,9620, Harrier-oss 0,9605, jina-v5 0,9523, KaLM-Gemma3-12B 0,9453.
Essa é a inversão que deve mudar a forma como um comprador escolhe um especialista de domínio. O PubMedBERT é um BERT de 2022 com 110 milhões de parâmetros, com agrupamento simétrico de médias e sem prefixo de instrução. O campo generalista de 2024 a 2026 é construído sobre estruturas maiores, prefixos assimétricos de consulta e documento e objetivos de recuperação ajustados por instruções. Em consultas MedRAG que já incluem vocabulário médico, a correspondência lexical do BM25 é naturalmente forte, e a especialização do PubMedBERT não adiciona nada além disso.
A conclusão prática é que não se deve escolher um especialista em incorporação apenas pelo nome. Compare-o com suas próprias consultas antes de se comprometer.
Snowflake Arctic oscila 0,32 nDCG@3 em todos os domínios
O modelo snowflake-arctic-embed-l-v2.0 (568M, Apache-2.0, derivado de bge-m3-retromae, multilíngue) do usuário Snowflake obteve uma pontuação nDCG@3 de 0,5846 em contratos legais CUAD e 0,9053 em resumos médicos MedRAG. O mesmo modelo, a mesma receita e o mesmo formato de consulta apresentaram uma variação de apenas 0,32 pontos percentuais entre os dois domínios. Outros modelos na lista apresentaram variações menores: o SFR-2 variou de 0,8421 a 0,9620 (diferença de 0,12), o Nemotron de 0,8602 a 0,9629 (diferença de 0,10) e o Harrier de 0,8408 a 0,9605 (diferença de 0,12).
O mecanismo é a composição de dados de treinamento. O Arctic foi ajustado nos conjuntos de dados BEIR, MIRACL e CLEF; contratos legais não estão representados. Para uma carga de trabalho de recuperação vertical, os dados de treinamento do domínio são mais importantes do que a quantidade de parâmetros ou o comprimento do contexto.
Como funciona a inferência de incorporação de código aberto
Neste teste comparativo, os modelos de incorporação de código aberto são executados em dois backends: sentence-transformers (12 modelos) e vLLM (4 modelos). A divisão não se deve à qualidade, mas sim à eficiência de tempo de execução em modelos com 8 bilhões ou mais de modelos, onde o loop de inferência padrão em Python do sentence-transformers é lento demais para ser viável.
A receita específica de cada modelo é mais importante do que a escolha do backend. Os modelos de recuperação modernos usam prefixos assimétricos: o lado da consulta é envolvido em um prompt no estilo Instruct ( Instruct: Given a question, retrieve passages...\nQuery: <text> ), enquanto o lado do documento é simples. O tipo de pooling varia: modelos derivados do BERT usam pooling CLS; modelos derivados do LLM (Llama, Mistral, Qwen3, Gemma3 base) usam pooling de último token; modelos multilíngues geralmente usam pooling de média. O cartão HuggingFace para cada modelo é a fonte de referência para a combinação correta de prefixo e pooling.
Camada de backend:
- vLLM: Nemotron-8B, KaLM-Gemma3-12B, jina-v5-text-small
- Transformadores de sentenças: Qwen3-0.6B, EmbeddingGemma-300m, Granite trio, SFR-2, Conan-v1, PubMedBERT, GIST, Snowflake Arctic, Microsoft Harrier
Padrões de prefixos assimétricos observados:
- Instrução + Consulta/Documento: SFR-2, KaLM-Gemma3, Nemotron-8B, Qwen3-Embedding
- encode_query / encode_document integrados: EmbeddingGemma, KaLM-Gemma3, Nemotron-8B
- tarefa / nome_do_prompt (parâmetro sentence-transformers): jina-v5, Snowflake Arctic, Harrier
- Sem prefixo (simétrico): Trio de granito, Conan, PubMedBERT, GIST
Tipo de agrupamento por arquitetura base:
- Agrupamento CLS: Trio Granite r2, Snowflake Arctic
- Agrupamento do último token: Nemotron, KaLM-Gemma3, SFR-2, jina-v5, Qwen3-Embedding, Harrier
- Agrupamento médio: EmbeddingGemma, Granite-multilingual, Conan, PubMedBERT, GIST
Usar a receita errada degrada silenciosamente a qualidade da recuperação sem causar falhas. Qualquer avaliação comparativa de embedders de código aberto deve incluir um limite mínimo aceitável (Recall@10 abaixo de 0,5 em todos os domínios para qualquer modelo é um sinal de alerta para uma configuração incorreta, não um resultado).
Metodologia de avaliação comparativa de modelos de incorporação de código aberto
Três domínios de recuperação foram avaliados: contratos legais da CUAD (246 consultas, 509 contratos), notas técnicas de suporte ao cliente da TechQA (151 consultas, 28.000 notas técnicas) e resumos de saúde do MedRAG-PubMed (154 consultas, 50.000 resumos). Total de 551 consultas.
A metodologia de construção do conjunto de dados é compartilhada com nosso benchmark anterior de modelos de incorporação em inglês : geração de consultas de consenso Protocol-A 3-LLM (pool de escritores rotativo, avaliador fixo, dois validadores não escritores por tentativa), fixação do corpus por hash SHA-256, listas de permissão de tokens proibidos por domínio para evitar atalhos lexicais BM25, concordância interavaliadores de Cohen's κ relatada por par de validadores, classificações de linha de base BM25 sintetizadas a partir do campo bm25_rank_at_target já presente em cada JSON de consulta (equivalente a Pyserini). Métrica primária nDCG@3 (realista para RAG, o que os sistemas RAG de produção consomem); métricas secundárias nDCG@10, Recall@10, Recall@100, MRR@10, Top-1 hit.
Especificações específicas para código aberto:
- GPU: 1 x NVIDIA H100 80GB SXM5 via nuvem comunitária RunPod
- Modelo de Pod:
runpod/pytorch:1.0.2-cu1281-torch280-ubuntu2404
- Pilha de compilação: PyTorch 2.10.0+cu128, vLLM 0.19.1, transformers 5.6.2, sentence-transformers 5.4.1
- Despacho por modelo: caminho primário do cartão modelo HF. ST para 12 modelos, vLLM para Nemotron-8B, KaLM-Gemma3-12B, jina-v5-text-small.
- Fragmentação por modelo: truncamento em nível de caractere em
max_seq_length x 4caracteres por token, em seguida, o tokenizador do modelo trunca para o seu comprimento máximo de sequência real.
- Recuperação assimétrica: todos os modelos que a suportam recebem o prefixo de consulta e documento documentado no HF-card. A ausência de prefixo é o padrão documentado para alguns modelos.
- Normalização L2: aplicada uniformemente após o agrupamento. Alguns modelos fazem isso internamente. Renormalizamos para garantir a paridade em toda a lista.
- A chave de cache de incorporação inclui prefixo + tarefa + nome_do_prompt + max_seq + backend, portanto, uma troca de prefixo no meio da execução não pode carregar silenciosamente incorporações obsoletas.
- Protocolo estatístico: 10 mil reamostragens bootstrap por célula (modelo, domínio, métrica), intervalo de confiança de 95% em percentil, semente = 2026.
Modelos testados
Ordenado por AVG nDCG@3. Coluna de backend: ST = transformadores de sentença, vLLM = vLLM 0,19.
Resultados dos intervalos de confiança de 95% do Bootstrap
A tabela de classificação completa acima representa uma única execução por célula (modelo, domínio). A variância de inicialização do modelo entre sessões não foi medida. Para capturar a variância no nível da consulta dentro de cada execução, reamostramos o vetor de classificação por consulta para cada célula (modelo, domínio) 10.000 vezes com reposição (método percentil, seed=2026, tamanhos de amostra CUAD n=246, TechQA n=151, MedRAG n=154). Intervalo de confiança (IC) de 95% por domínio para nDCG@3:
Os intervalos de confiança (IC) alteram quais inversões os dados suportam. No CUAD, os valores de Harrier (0,8720, [0,836, 0,906]) e Nemotron (0,8602, [0,821, 0,897]) se sobrepõem, portanto, a vantagem de Harrier sobre o CUAD não é estatisticamente significativa neste tamanho de amostra. No TechQA, os valores de Nemotron (0,9515, [0,923, 0,977]) e SFR-2 (0,9109, [0,869, 0,949]) não se sobrepõem, portanto, a vantagem de Nemotron sobre o TechQA é estatisticamente significativa. No MedRAG, os quatro valores principais (Nemotron 0,9629, SFR-2 0,9620, Harrier 0,9605, jina-v5 0,9523) estão dentro dos ICs uns dos outros e formam um empate estatístico quádruplo. A inversão PubMedBERT-abaixo-BM25 no MedRAG (0,7084 [0,641, 0,772] vs BM25 0,7862) está na margem de sobreposição. A tendência central coloca claramente o especialista abaixo de BM25, mas uma análise cruzada de 3 sessões é necessária para determinar se a inversão é separada ou sobreposta.
Limitações
Execução única por célula (modelo, domínio). A tabela de IC bootstrap acima captura a variância no nível da consulta dentro da execução (10 mil reamostragens, método percentil, semente = 2026), mas a variância de inicialização do modelo entre sessões não é medida. Uma passagem de 3 execuções durante a madrugada está planejada para a versão 2.1. Os empates mais próximos revelados pela tabela de IC (por exemplo, o empate quádruplo do MedRAG no topo, a sobreposição do Harrier-Nemotron CUAD, a inversão marginal do PubMedBERT vs. BM25) se beneficiariam mais da passagem de múltiplas execuções.
Confusão por comprimento de contexto por modelo. Modelos com janelas de contexto de 512 tokens (Granite-278m-multilingual, PubMedBERT, Conan, GIST) visualizam apenas os primeiros ~2 mil caracteres de cada documento. Modelos com contexto de 8 mil ou 32 mil caracteres (Nemotron, KaLM-12B, jina-v5, Harrier, Granite r2 english) visualizam o documento completo. Isso favorece modelos com contexto longo no TechQA (notas técnicas longas) e no MedRAG (resumos longos).
Risco de contaminação dos dados de treinamento do MedRAG. Vários dos modelos avaliados foram treinados com dados derivados do PubMed (PubMedBERT por definição, possivelmente Granite-278m-multilingual, possivelmente Qwen3 base). Alguns boosts do MedRAG nDCG@3 podem refletir sobreposição de dados de treinamento em vez de qualidade de recuperação.
O Conan-v1 foi treinado em chinês. Incluí-lo em domínios exclusivamente em inglês fornece dados instrutivos sobre a incompatibilidade linguística, em vez de uma comparação direta e justa da qualidade de recuperação em inglês. Esperávamos um desempenho inferior em comparação com seus pares treinados em inglês, e é isso que os dados mostram.
Conclusão
NVIDIA Llama-Embed-Nemotron-8B lidera com AVG nDCG@3 = 0,9249, com vitórias estatisticamente distintas nos testes TechQA e MedRAG. A opção de código aberto com melhor classificação sob licença irrestrita (MIT) é Microsoft Harrier-oss-v1-0.6b, com AVG 0,8911. Google EmbeddingGemma-300m tem um custo aproximadamente 4 vezes menor, com uma pequena perda de precisão.
Leitura complementar
Explore outros benchmarks RAG, como:
- Os 10 principais modelos de incorporação multilíngue para RAG
- Modelos de Incorporação: OpenAI vs Gemini vs Voyage
- Banco de dados de vetores principais para RAG: Qdrant vs Weaviate vs Pinecone
- Análise comparativa do Reranker: Comparação dos 8 melhores modelos
- Modelos de Incorporação Multimodal: Apple vs Meta vs OpenAI
- RAG Híbrido: Aumentando a Precisão do RAG
- Gráfico RAG vs Vetor RAG
Seja o primeiro a comentar
Seu endereço de e-mail não será publicado. Todos os campos são obrigatórios.