Metodología del Mobile Device Benchmark Set

Descripción general

El Mobile Device Benchmark Set es el conjunto actual de cinco evaluaciones que usamos para medir la inteligencia de los modelos de lenguaje lo bastante pequeños como para ejecutarse en teléfonos móviles. Aplica el mismo enfoque de evaluación independiente que usamos en todo Artificial Analysis.

En lugar de los pesos originales en precisión completa, evaluamos las versiones cuantizadas que los teléfonos móviles ejecutan en la práctica. Por tanto, las puntuaciones aquí pueden diferir de las puntuaciones del mismo modelo en otras partes de Artificial Analysis.

Elegibilidad

Definimos un modelo como teóricamente lo bastante pequeño para ejecutarse en teléfonos móviles si cabe en 8 GB de memoria tras la cuantización, incluida la caché KV con un contexto de 8K. La caché KV cuenta porque un modelo necesita memoria para su contexto además de para sus pesos, y 8K es un límite deliberadamente amplio para los tokens que necesitan las tareas cotidianas en el dispositivo con instrucciones y definiciones de herramientas.

En la página de resultados, los modelos que cumplieron los requisitos pero no se ejecutaron correctamente en el dispositivo seleccionado (con la cuantización concreta elegida) se muestran con un color o patrón distinto, para indicar que quizá no sea viable ejecutar esa combinación de modelo, cuantización, framework de inferencia y dispositivo.

Cómo ejecutamos las evaluaciones

  • La versión actual usa cuantizaciones GGUF de 4 bits (Q4_K_M) o menos, servidas con llama.cpp.
  • Todas las evaluaciones se ejecutan con una ventana de contexto de 16K tokens. Una respuesta está limitada por esa ventana y por el límite de tokens de salida del propio modelo, el que sea menor; no compactamos ni recortamos el contexto, así que un modelo que agota sus tokens antes de dar su respuesta final se marca como incorrecto en ese intento. Este límite de contexto es holgado frente a los límites realistas de un teléfono móvil, que en la práctica suelen ser inferiores a 4K. Los resultados del benchmark también incluyen un límite de 1 minuto de tiempo, para ofrecer una perspectiva alternativa del rendimiento de los modelos con una restricción mayor; los resultados con un límite de 64K de contexto llegarán próximamente.
  • Cada evaluación ejecuta 5 repeticiones por pregunta con puntuación pass@1, excepto AA-Omniscience, que ejecuta una sola pasada sobre sus 6.000 preguntas.
  • Los modelos que admiten tanto el modo de razonamiento como el de no razonamiento se evaluarán en ambas configuraciones y se listarán como variantes separadas. Inicialmente la cobertura de cada modo para cada modelo será incompleta.

Evaluaciones componentes

La primera versión del conjunto de benchmarks consta de cinco evaluaciones, cada una medida de forma independiente por Artificial Analysis:

  • BFCL. Llamadas a herramientas sobre un subconjunto de 640 tareas seleccionado para modelos pequeños, con tres categorías de tareas ponderadas por igual.
  • IFBench. Seguimiento de instrucciones con restricciones de salida precisas y verificables.
  • AA-Omniscience. Conocimiento factual y resistencia a las alucinaciones, dividido a partes iguales entre precisión y no alucinación.
  • GPQA Diamond. Razonamiento científico de nivel de posgrado.
  • MATH-500. Resolución de problemas matemáticos.

Estas evaluaciones se eligieron para representar la mezcla de seguimiento de instrucciones, llamadas a herramientas, recuperación de conocimiento y razonamiento que se espera que manejen los modelos pequeños. Se combinan en una media simple (ponderación igual) para producir la puntuación final de inteligencia.

Esperamos que las evaluaciones cambien en el futuro a medida que sigamos mejorando nuestras prácticas de benchmarking de modelos pequeños y dispositivos móviles.

BFCL

El Berkeley Function Calling Leaderboard (BFCL) v4 mide la capacidad de un modelo para llamar a herramientas. Ejecutamos un subconjunto de 640 tareas elegido para ser significativo para modelos pequeños, extraído de tres categorías que aportan cada una un tercio de la puntuación de BFCL:

  • Multiple (200 tareas): elegir la función correcta entre varias disponibles y llamarla con los argumentos correctos. Se puntúa comparando la llamada con la estructura esperada.
  • Multi-turn base (200 tareas): completar una tarea a lo largo de varios turnos de uso de herramientas. Se puntúa sobre la secuencia de llamadas y el estado final que producen.
  • Irrelevance (240 tareas): reconocer que ninguna de las herramientas disponibles encaja con la petición y declinar en lugar de forzar una llamada.

En qué nos diferenciamos de la configuración oficial de BFCL:

  • Todas las tareas proceden de la división non-live, escrita por los autores de BFCL. La división live, obtenida por crowdsourcing, es candidata para futuras versiones del conjunto de benchmarks.
  • Probamos únicamente las llamadas a funciones nativas (el modo FC de BFCL), porque así es como las aplicaciones suelen pasar las herramientas a los modelos. No usamos el modo prompting de BFCL, que pasa las herramientas en el prompt en lugar de a través de la interfaz de herramientas de la API, y extrae las llamadas de la respuesta del modelo.
  • Usamos la llamada a herramientas nativa de cada modelo, con el parseo a cargo de llama.cpp a partir de la plantilla de chat del modelo, y no intentamos rescatar llamadas a herramientas del contenido de texto: una llamada a herramienta que un runtime no podría ejecutar cuenta como fallo, igual que ocurriría en una aplicación real.
  • Las peticiones pasan por nuestra pila de proveedores estándar en lugar de los handlers por modelo de BFCL.

Conjunto de datos: la partición non-live de BFCL v4, desarrollada en UC Berkeley y mantenida en el repositorio Gorilla.

IFBench

IFBench comprueba si un modelo puede seguir instrucciones precisas y verificables, como recuentos de palabras, reglas de formato y manipulación de frases. Se incluye porque seguir instrucciones de forma fiable es la base de casi todo lo que la gente pide a los modelos pequeños.

  • Conjunto de datos: el conjunto IFBench de un solo turno con 294 prompts (allenai/IFBench_test). No usamos la versión multiturno.
  • Una respuesta solo cuenta si satisface todas las instrucciones del prompt (precisión a nivel de prompt).
  • Las respuestas se verifican con el código oficial de allenai/IFBench en modo loose, que tolera texto y formato adicionales alrededor de la respuesta.

AA-Omniscience

AA-Omniscience es nuestro propio benchmark de conocimiento y alucinaciones: 6.000 preguntas en 42 temas que cubren negocios, derecho, salud, ingeniería de software, ciencia y humanidades. Premia el conocimiento preciso y penaliza las respuestas erróneas dadas con confianza.

  • Subconjunto público: ArtificialAnalysis/AA-Omniscience-Public.
  • Cada respuesta se califica como correcta, incorrecta, parcialmente correcta o no intentada por un calificador LLM.
  • Aporta dos componentes con la misma ponderación a la media. La precisión es la proporción de preguntas respondidas correctamente. La no alucinación es 1 menos la tasa de alucinación, donde la tasa de alucinación es la proporción de preguntas que el modelo respondió incorrectamente de entre las que no respondió correctamente.
  • Incluir la no alucinación es deliberado: no se espera que los modelos pequeños tengan un conocimiento extenso de conceptos poco comunes, pero sí deben demostrar fiabilidad no respondiendo ni actuando cuando no conocen la respuesta correcta.
  • Los detalles completos, incluido el enfoque de calificación, están en la sección de AA-Omniscience de nuestra metodología del Índice de Inteligencia.

GPQA Diamond

GPQA Diamond evalúa el razonamiento científico de nivel de posgrado con preguntas de opción múltiple de biología, física y química.

  • Conjunto de datos: el subconjunto Diamond de GPQA, 198 preguntas con 4 opciones de respuesta cada una, seleccionado por los autores del benchmark como la parte de mayor calidad del conjunto completo.
  • Las respuestas se extraen con regex y se puntúan pass@1, usando el mismo prompt de opción múltiple que nuestro Índice de Inteligencia principal (ver la plantilla del prompt).

MATH-500

MATH-500 es un conjunto de 500 problemas de matemáticas de competición de nivel de secundaria que abarca diversos temas y niveles de dificultad.

  • Conjunto de datos: HuggingFaceH4/MATH-500.
  • Se pide a los modelos que resuelvan el problema paso a paso y den la respuesta final en un recuadro.
  • La calificación primero comprueba la respuesta extraída de forma simbólica, de modo que las formas equivalentes de una misma respuesta coinciden. Cuando esto no es concluyente, un verificador de igualdad LLM decide si la respuesta coincide con la referencia.

Inferencia en teléfonos móviles

El rendimiento de inferencia en teléfonos móviles, incluidos la velocidad, la latencia y el uso de memoria, se evalúa por separado a través de nuestra colaboración con Liquid AI, con mediciones tomadas en los propios dispositivos. La plataforma de medición de Liquid AI (y su visor de resultados) se llama Pipette.