Metodologia do Mobile Device Benchmark Set
Visão geral
O Mobile Device Benchmark Set refere-se ao conjunto atual de cinco avaliações que usamos para medir a inteligência de modelos de linguagem pequenos o suficiente para rodar em celulares. Ele aplica a mesma abordagem de avaliação independente que usamos em toda a Artificial Analysis.
Em vez dos pesos originais em precisão total, avaliamos as versões quantizadas que os celulares executam na prática. Por isso, as pontuações aqui podem diferir das pontuações do mesmo modelo em outras partes da Artificial Analysis.
Critérios de elegibilidade
Definimos um modelo como teoricamente pequeno o suficiente para rodar em celulares se ele couber em 8 GB de memória após a quantização, incluindo o cache KV com contexto de 8K. O cache KV conta porque um modelo precisa de memória para o contexto além dos pesos, e 8K é um limite deliberadamente generoso para os tokens necessários em tarefas cotidianas no dispositivo com instruções e definições de ferramentas.
Na página de resultados, os modelos que se qualificaram mas não rodaram corretamente no dispositivo selecionado (na quantização específica escolhida) são exibidos com cor ou padrão diferente, indicando que pode não ser viável executar essa combinação de modelo, quantização, framework de inferência e dispositivo.
Como executamos as avaliações
- A versão atual usa quantizações GGUF de 4 bits (Q4_K_M) ou menos, servidas com llama.cpp.
- Todas as avaliações rodam com uma janela de contexto de 16K tokens. A resposta é limitada por essa janela e pelo limite de tokens de saída do próprio modelo, o que for menor; não compactamos nem cortamos o contexto, portanto um modelo que fica sem tokens antes de dar a resposta final é marcado como incorreto naquela tentativa. Esse limite de contexto é generoso em comparação com os limites realistas de contexto em celulares, que na prática costumam ficar abaixo de 4K. Os resultados do benchmark também incluem um limite de 1 minuto de tempo, para oferecer uma perspectiva alternativa do desempenho dos modelos sob uma restrição maior; os resultados com um limite de 64K de contexto chegarão em breve.
- Cada avaliação roda 5 repetições por questão com pontuação pass@1, exceto o AA-Omniscience, que faz uma única passagem por suas 6.000 questões.
- Modelos que suportam tanto o modo de raciocínio quanto o de não raciocínio serão avaliados em ambas as configurações e listados como variantes separadas. Inicialmente, a cobertura de cada modo para cada modelo será incompleta.
Avaliações componentes
A primeira versão do conjunto de benchmarks consiste em cinco avaliações, cada uma medida de forma independente pela Artificial Analysis:
- BFCL. Chamada de ferramentas em um subconjunto de 640 tarefas selecionado para modelos pequenos, com três categorias de tarefas ponderadas igualmente.
- IFBench. Seguimento de instruções com restrições de saída precisas e verificáveis.
- AA-Omniscience. Conhecimento factual e resistência a alucinações, dividido igualmente entre precisão e não alucinação.
- GPQA Diamond. Raciocínio científico de nível de pós-graduação.
- MATH-500. Resolução de problemas matemáticos.
Essas avaliações foram escolhidas para representar a combinação de seguimento de instruções, chamada de ferramentas, recuperação de conhecimento e raciocínio que se espera que modelos pequenos realizem. Elas são combinadas em uma média simples (pesos iguais) para produzir a pontuação final de inteligência.
Esperamos que as avaliações mudem no futuro à medida que aprimoramos nossas práticas de benchmarking de modelos pequenos e dispositivos móveis.
BFCL
O Berkeley Function Calling Leaderboard (BFCL) v4 mede quão bem um modelo chama ferramentas. Rodamos um subconjunto de 640 tarefas escolhido para ser significativo para modelos pequenos, extraído de três categorias que contribuem com um terço da pontuação do BFCL cada:
- Multiple (200 tarefas): escolher a função certa entre várias disponíveis e chamá-la com os argumentos corretos. Pontuado comparando a chamada com a estrutura esperada.
- Multi-turn base (200 tarefas): concluir uma tarefa ao longo de vários turnos de uso de ferramentas. Pontuado pela sequência de chamadas e pelo estado final que elas produzem.
- Irrelevance (240 tarefas): reconhecer que nenhuma das ferramentas disponíveis atende ao pedido e recusar em vez de forçar uma chamada.
Onde diferimos da configuração oficial do BFCL:
- Todas as tarefas vêm da divisão non-live, escrita pelos autores do BFCL. A divisão live, obtida por crowdsourcing, é candidata para versões futuras do conjunto de benchmarks.
- Testamos apenas a chamada nativa de funções (o modo FC do BFCL), pois é assim que as aplicações normalmente passam ferramentas aos modelos. Não usamos o modo de prompting do BFCL, que passa as ferramentas no prompt em vez de pela interface de ferramentas da API, e extrai as chamadas da resposta do modelo.
- Usamos a chamada de ferramentas nativa de cada modelo, com o parsing feito pelo llama.cpp a partir do chat template do modelo, e não tentamos resgatar chamadas de ferramentas do conteúdo de texto: uma chamada que um runtime não conseguiria executar conta como falha, como aconteceria em uma aplicação real.
- As requisições passam pela nossa pilha padrão de provedores, e não pelos handlers por modelo do BFCL.
Conjunto de dados: a divisão non-live do BFCL v4, desenvolvida na UC Berkeley e mantida no repositório Gorilla.
IFBench
O IFBench testa se um modelo consegue seguir instruções precisas e verificáveis, como contagens de palavras, regras de formatação e manipulação de frases. Ele está incluído porque seguir instruções de forma confiável é a base de quase tudo o que as pessoas pedem a modelos pequenos.
- Conjunto de dados: o conjunto IFBench de turno único, com 294 prompts (allenai/IFBench_test). Não usamos a versão multiturno.
- Uma resposta só conta se satisfizer todas as instruções do prompt (acurácia por prompt).
- As respostas são verificadas com o código oficial de allenai/IFBench no modo loose, que tolera texto e formatação extras ao redor da resposta.
AA-Omniscience
O AA-Omniscience é o nosso próprio benchmark de conhecimento e alucinação: 6.000 questões em 42 tópicos abrangendo negócios, direito, saúde, engenharia de software, ciências e humanidades. Ele recompensa o conhecimento preciso e penaliza respostas erradas dadas com confiança.
- Subconjunto público: ArtificialAnalysis/AA-Omniscience-Public.
- Cada resposta é classificada como correta, incorreta, parcialmente correta ou não tentada por um avaliador LLM.
- Ele contribui com dois componentes de peso igual para a média. A precisão é a proporção de perguntas respondidas corretamente. A não alucinação é 1 menos a taxa de alucinação, em que a taxa de alucinação é a proporção de perguntas que o modelo respondeu incorretamente entre aquelas que não respondeu corretamente.
- Incluir a não alucinação é deliberado: não se espera que modelos pequenos tenham conhecimento extenso de conceitos obscuros, mas eles precisam demonstrar confiabilidade ao não responder nem agir quando não sabem a resposta correta.
- Os detalhes completos, incluindo a abordagem de avaliação, estão na seção AA-Omniscience da metodologia do nosso Índice de Inteligência.
GPQA Diamond
O GPQA Diamond testa o raciocínio científico em nível de pós-graduação com questões de múltipla escolha em biologia, física e química.
- Conjunto de dados: o subconjunto Diamond do GPQA, com 198 questões de 4 alternativas cada, selecionado pelos autores do benchmark como a porção de maior qualidade do conjunto completo.
- As respostas são extraídas com regex e pontuadas em pass@1, usando o mesmo prompt de múltipla escolha do nosso Índice de Inteligência principal (veja o modelo de prompt).
MATH-500
O MATH-500 é um conjunto de 500 problemas de matemática de competições de ensino médio, abrangendo diversos assuntos e níveis de dificuldade.
- Conjunto de dados: HuggingFaceH4/MATH-500.
- Pede-se aos modelos que resolvam o problema passo a passo e apresentem a resposta final dentro de uma caixa.
- A avaliação primeiro verifica a resposta extraída simbolicamente, de modo que formas equivalentes da mesma resposta sejam consideradas iguais. Quando isso é inconclusivo, um verificador de igualdade baseado em LLM decide se a resposta corresponde à referência.
Inferência em celulares
O desempenho de inferência em celulares, incluindo velocidade, latência e uso de memória, é avaliado separadamente por meio de nossa parceria com a Liquid AI, com medições feitas nos próprios dispositivos. A plataforma de medição da Liquid AI (e o visualizador de resultados) chama-se Pipette.
- Liquid AI no GitHub: o harness aberto de benchmarking, publicado em três repositórios: pipette-clients, pipette-mgmt, pipette-scores. Esses repositórios estão disponíveis desde o dia do lançamento.
- Metodologia de benchmarking de inferência: como o desempenho é medido em celulares, gerido pela Liquid AI.