Metodologia de benchmarking da Artificial Analysis
Escopo
A Artificial Analysis realiza benchmarks de inteligência, qualidade, desempenho e preço em modelos de IA, endpoints de APIs de inferência e sistemas. Esta seção do nosso site descreve nossa metodologia de benchmarking, incluindo nossos benchmarks de qualidade e de desempenho.
Em nossos benchmarks de modelos de linguagem, consideramos que os endpoints são serverless quando os clientes pagam apenas pelo uso, e não uma tarifa fixa para acessar um sistema. Em geral, isso significa que o preço dos endpoints é calculado por token, muitas vezes com preços diferentes para tokens de entrada e saída.
Em todas as modalidades, nossos benchmarks de desempenho medem o desempenho de ponta a ponta que os clientes de serviços e sistemas de inferência de IA vivenciam. Isso significa que os resultados dos benchmarks não pretendem representar o máximo desempenho possível em uma plataforma de hardware específica, mas sim o desempenho real que os clientes vivenciam entre diferentes provedores.
Avaliamos tanto modelos proprietários quanto modelos de pesos abertos.
Inteligência de modelos de linguagem
Fala, imagem, vídeo e música
Inferência
Diversos
Definições
Nesta página e em todo o site da Artificial Analysis, usamos os seguintes termos:
- Modelo: Um modelo de linguagem de grande escala (LLM), incluindo modelos proprietários, de código aberto e de pesos abertos.
- Criador do modelo: A organização que desenvolveu e treinou o modelo. Por exemplo, a OpenAI é a criadora do GPT-4, e a Meta é a criadora do Llama 3.
- Endpoint: Uma instância hospedada de um modelo que pode ser acessada por meio de uma API. Um único modelo pode ter vários endpoints de diferentes provedores.
- Sistema: Um ambiente computacional dedicado à execução de modelos de IA, normalmente uma infraestrutura provisionada, como uma VM, cujo desempenho sob carga pode ser avaliado.
- Provedor: Uma empresa que hospeda e fornece acesso a um ou mais endpoints de modelos ou sistemas. Alguns exemplos são OpenAI, AWS Bedrock, Together.ai, entre outros. Muitas empresas são, ao mesmo tempo, criadoras de modelos e provedoras.
- Serverless: Serviço de nuvem fornecido conforme o uso. No contexto de APIs de inferência de LLMs, geralmente significa que o preço é calculado por token de entrada e saída. Mesmo assim, produtos de nuvem serverless são executados em servidores!
- Pesos abertos: Um modelo cujos pesos foram disponibilizados publicamente por seu criador. Usamos 'pesos abertos' ou simplesmente modelos 'abertos', em vez de 'código aberto', pois muitos LLMs abertos foram disponibilizados sob licenças que não atendem à definição completa de software de código aberto.
- Token: Os LLMs modernos são construídos com base em tokens — representações numéricas de palavras e caracteres. Os LLMs recebem tokens como entrada e geram tokens como saída. O texto de entrada é convertido em tokens por um tokenizador. Diferentes LLMs usam diferentes tokenizadores.
- Tokens nativos: Tokens contados pelo tokenizador próprio de um LLM, normalmente conforme informados pela API do provedor. Em geral, os preços se referem a tokens nativos, e nossas métricas de desempenho, como a velocidade de saída, os contam.
- Preço (entrada/saída): O preço cobrado por um provedor por token de entrada enviado ao modelo e por token de saída recebido do modelo. Os preços exibidos são os preços atuais informados pelos provedores.
- Preço combinado: Para facilitar a comparação, calculamos um preço combinado considerando uma proporção de 7:2:1 entre tokens de acerto de cache, entrada e saída.
- Custo por tarefa: O custo médio ponderado (USD) para concluir uma tarefa do Artificial Analysis Intelligence Index. Ele é calculado multiplicando os preços dos tokens de entrada, em cache e de saída pelos tokens consumidos em toda a carga de trabalho, ponderados pelos mesmos pesos por benchmark usados pelo Intelligence Index, e então dividindo pelo número de tarefas. O preço corresponde à tarifa da API própria do provedor ou à mediana entre todos os provedores. Os custos de cache variam conforme o provedor. Como o custo reflete o uso real de tokens, modelos que produzem respostas mais longas ou mais tokens de raciocínio têm um custo por tarefa maior, mesmo com preços idênticos por token.
em que i = cada benchmark do Artificial Analysis Intelligence Index e w = o peso desse benchmark no Index
- Tempo por tarefa: O tempo médio ponderado estimado para concluir uma tarefa do Artificial Analysis Intelligence Index. Para cada benchmark, dividimos os tokens de resposta e de raciocínio por tarefa pela velocidade de saída do modelo e ponderamos pelos mesmos pesos por benchmark usados pelo Intelligence Index. A velocidade de saída vem dos nossos benchmarks de desempenho de API: os tokens de saída por segundo ao longo de toda a duração de cada solicitação, com a média das cargas de trabalho que medimos nos últimos 5 dias, no endpoint representativo do modelo, normalmente a API do próprio criador do modelo, que também usamos para o preço. Se o modelo não tiver endpoint representativo, ou se não tivermos medições dele, usamos a mediana entre os endpoints medidos do modelo. Quando mostramos o tempo por tarefa de um endpoint, como nas páginas de provedores, usamos a velocidade de saída desse endpoint. Derivamos o tempo por tarefa dos tokens e da velocidade, em vez de cronometrar as execuções da avaliação, para que ele reflita velocidades de API representativas.
em que i = cada benchmark do Artificial Analysis Intelligence Index, w = o peso desse benchmark no Index e Output Speed = a velocidade de saída do modelo em tokens por segundo
- Tempo até o primeiro token da resposta final: O tempo, em segundos, entre o envio de uma solicitação ao serviço ou sistema e o recebimento do primeiro token da resposta final. Para modelos de raciocínio, inclui o tempo de raciocínio, então, ao contrário do tempo até o primeiro token, mede a espera por uma resposta da mesma forma para modelos com e sem raciocínio. Nas cargas de trabalho multiturno, calculamos a média entre os turnos de uma sessão.
- Tempo até o primeiro token: O tempo, em segundos, entre o envio de uma solicitação ao serviço ou sistema e o recebimento do primeiro token da resposta. Para modelos de raciocínio que retornam tokens de raciocínio, este será o primeiro token de raciocínio. Nas cargas de trabalho multiturno, calculamos a média entre os turnos de uma sessão.
- Velocidade de saída (tokens de saída por segundo): O número de tokens de saída, incluindo tokens de raciocínio, recebidos por segundo ao longo de toda a duração de uma solicitação, do envio da solicitação ao recebimento do último token, por isso inclui o tempo até o primeiro token. Em uma sessão multiturno, dividimos os tokens de saída da sessão pelo tempo que o endpoint levou para responder às solicitações, sem contar o tempo que as ferramentas levam para rodar entre elas.
- Tempo de ponta a ponta: O tempo, em segundos, entre o envio de uma solicitação e o recebimento do último token, medido em cada solicitação. Em uma sessão multiturno, é o total das solicitações da sessão, sem contar o tempo que as ferramentas levam para rodar entre elas.
- Taxa de erros do endpoint: A proporção de solicitações de um endpoint nos últimos 5 dias que falharam do lado do endpoint. Uma sessão multiturno conta como uma solicitação, que falha se qualquer uma de suas solicitações falhar. Excluímos falhas que não atribuímos ao endpoint, como uma chave de API inválida, créditos esgotados ou a cota da nossa conta, uma solicitação rejeitada por ser inválida ou longa demais para a janela de contexto, uma resposta que nosso limite de max_tokens corta antes que ela responda, um bloqueio de segurança ou um erro de sandbox. Erros do lado do endpoint contam, incluindo seus limites de taxa, tempos esgotados e solicitações ainda em andamento no prazo final do benchmark. Entre cargas de trabalho, agrupamos as solicitações antes de dividir.
- Taxa de acerto do cache: a proporção de tokens de entrada armazenáveis em cache que são atendidos pelo cache de prompts do provedor, conforme informado pela API do provedor durante sessões agênticas com vários turnos. Informamos uma taxa de acerto do cache representativa para cada endpoint com base em suas medições recentes.