MLPerf: un resumen general

MLPerf es una “herramienta de análisis comparativo (benchmarking) sobre el desempeño de modelos de Machine Learning, que cuenta con el apoyo de instituciones académicas y de empresas”. La organización detrás de MLPerf es MLCommons, un consorcio de ingeniería abierto cuya misión es “definir, desarrollar y poner a prueba benchmarks de capacitación de MLPerf”, así como crear estándares de la industria. La organización define las reglas, políticas y procedimientos para obtener análisis imparciales.

Hasta la fecha, existen 50 miembros fundadores que incluyen compañías como AMD, ARM, Cisco, Google, Alibaba, Intel, Facebook, Fujitsu, Microsoft, Samsung, NVIDIA, Red Hat, VMWare y más. Peter Mattson, Staff Engineer de Google y presidente de MLCommons, hizo una presentación en la Conferencia ScaledML que proporcionó al público una gran cantidad de información sobre MLPerf. En el evento, Mattson afirmó que hay tres tipos de análisis de MLPerf.

  • MLPerf Training (Entrenamiento): mide el tiempo para entrenar un modelo.
  • MLPerf Inference (Inferencia): mide la tasa de inferencia.
  • MLPerf Mobile (Móvil): mide el desempeño de la inferencia en dispositivos móviles.

El análisis de MLPerf Training mide el tiempo para entrenar un modelo. Peter describió este tipo de análisis como “tomar un conjunto de datos como ImageNet, ejecutarlo a través de un modelo como Resnet y configurarlo para alcanzar una calidad objetivo de un cierto porcentaje”. Luego mide cuánto tiempo se tarda en hacerlo. Lo destacable de la prueba es que mide un valor real para el usuario.

Fuente: Conferencia ScaleML

Una de las dudas que surgen en este proceso de benchmarking es si debe especificarse el modelo. Si se especifica, como en la ilustración anterior, se puede hacer una comparación de manzanas con manzanas entre diferentes sistemas. Si no se especifica un modelo, los ingenieros pueden usar uno propio. El beneficio de este enfoque: es abierto para que cualquiera pueda utilizar métodos innovadores para mejorar los benchmarks. Tal vez el ingeniero invirtió mucho en la creación de un algoritmo potente u optimizó el stack de software o hardware para alcanzar nuevos niveles de desempeño.

División cerrada y división abierta

Los dos enfoques mencionados anteriormente se denominan división cerrada y división abierta.

  • División cerrada: se especifica el modelo. Tiende a ser utilizado por los proveedores de chips, por ejemplo.
  • División abierta: no se especifica el modelo. Utilizado por los innovadores y quienes quieren ir más allá con la creación de sus propios métodos.

Para los análisis de MLPerf Training v0.5 y v0.6, el consorcio lanzó siete análisis diferentes en las áreas de visión, lenguaje, comercio e investigación, como se ilustra a continuación.

Fuente: Conferencia ScaleML

Por su parte, MLPerf Inference mide la tasa de inferencia. Esta fue la explicación de Peter Mattson: “se toman los inputs, se procesan con un modelo entrenado y nos aseguramos de que el modelo funcione con el nivel adecuado de precisión”. Este enfoque se ilustra en la siguiente imagen:

Fuente: Conferencia ScaleML

La inferencia suele usarse en situaciones más diversas. El consorcio presentó cuatro escenarios diferentes.

·         Flujo único (Single stream): un flujo constante de datos llega en orden.

·         Flujo múltiple (Multiple stream): varios flujos diferentes llegan al mismo tiempo.

·         Servidor (Server): los datos llegan en la distribución de Poisson.

·         Fuera de línea (Offline): los datos llegan en trozos, en ciertos momentos.

Fuente: Conferencia ScaleML

En términos de benchmarks, MLCommons creó cinco tipos para las áreas de visión y lenguaje, como se muestra aquí:

Fuente: Conferencia ScaleML

MLCommons está activa y están lanzando actualizaciones de forma regular. Por ejemplo, el 30 de junio de 2021, la organización lanzó MLPerf Training v1.0 que incluía dos nuevos tipos de análisis:

  • Voz a texto con RNN-T: analiza la entrada de voz para predecir el texto correspondiente. Utiliza el conjunto de datos LibriSeech.
  • 3D Medical Imaging with 3D U-Net: detecta células cancerosas en los riñones. Utiliza el conjunto de datos KiTS 19.

En resumen, MLCommons está desarrollando benchmarks que están ayudando a la comunidad global a medir y mejorar el desempeño de los modelos de Machine Learning.

Scroll to Top