MLPerf: uma visão geral

O MLPerf é uma “ferramenta de benchmarking sobre o desempenho dos modelos de Machine Learning com amplo suporte das instituições acadêmicas e de empresas”. A organização por trás do MLPerf é a MLCommons, um consórcio aberto de engenharia com a missão de “definir, desenvolver e testar benchmarks de treinamento do MLPerf”, além de criar padrões na indústria. A organização define as regras, políticas e procedimentos para obter benchmarks imparciais.

Até o momento, existem 50 membros fundadores que incluem empresas como AMD, ARM, Cisco, Google, Alibaba, Intel, Facebook, Fujitsu, Microsoft, Samsung, NVIDIA, Red Hat, VMWare e muitos mais. Peter Mattson, Staff Engineer do Google e Presidente da MLCommons, fez uma apresentação na Conferência ScaledML que forneceu ao público uma grande quantidade de informações sobre o MLPerf. No evento, Mattson explicou que existem três tipos de benchmarks do MLPerf.

  • MLPerf Training (Treinamento): mede o tempo para treinar um modelo.
  • MLPerf Inference (Inferência): mede a taxa de inferência.
  • MLPerf Mobile (Móvil): mede o desempenho da inferência em dispositivos móveis.

A análise do MLPerf Training mede o tempo para treinar um modelo. Peter descreveu esse tipo de análise como “pegar um conjunto de dados como o ImageNet, executá-lo em um modelo como o Resnet e configurar-o para atingir uma qualidade alvo de uma certa porcentagem”. Então mede quanto tempo leva para fazer isso. O mais relevante do teste é que ele mede um valor real para os usuários.

Fonte: Conferência ScaleML.

Uma das questões que surgem sobre o benchmarking é se deve ser especificado o modelo usado ou não. Se for especificado, como mostra a ilustração acima, uma comparação de maçãs e maçãs pode ser feita entre diferentes sistemas. Se um modelo não for especificado, os engenheiros podem usar o seu próprio. O benefício dessa abordagem é que ela deixa aberto para qualquer pessoa usar métodos inovadores para melhorar os benchmarks. Talvez o engenheiro tenha investido muito na criação de um algoritmo poderoso ou otimizou o stack de software ou hardware para alcançar novos níveis de desempenho.

Divisão fechada e divisão aberta

As duas abordagens mencionadas acima são chamadas de divisão fechada e divisão aberta.

  • Divisão fechada: o modelo é especificado. Tende a ser usado por vendedores de chips, por exemplo.
  • Divisão Aberta: o modelo não é especificado. Usado por inovadores e aqueles que querem derrubar barreiras criando seus próprios métodos.

Nos benchmarks do MLPerf Training v0.5 y v0.6, o consórcio lançou sete benchmarks diferentes nas áreas de visão, linguagem, comércio e pesquisa, conforme ilustrado abaixo.

Fonte: Conferência ScaleML.

Por sua parte, o benchmark MLPerf Inference mede a taxa de inferência. Peter explicou desta forma: “pegue os inputs, processe-os através de um modelo treinado e certifique-se de que o modelo esteja funcionando no nível certo de precisão”. Esta abordagem é ilustrada aqui:

Fonte: Conferência ScaleML

A inferência tende a ser usada em situações mais diversas. O consórcio apresentou quatro cenários diferentes.

  • Fluxo único (Single stream): um fluxo constante de dados chega em ordem.
  • Fluxo múltiplo (Multiple stream): vários fluxos diferentes chegam ao mesmo tempo.
  • Servidor (Server): os dados chegam na distribuição de Poisson.
  • Offline: os dados chegam em pedaços em determinados momentos.
Fonte: Conferência ScaleML.

Em termos de benchmarks, a MLCommons criou cinco benchmarks nas áreas de visão e linguagem, conforme ilustrado aqui:

Fonte: Conferência ScaleML.

A MLCommons está ativa e está lançando atualizações com regularidade. Por exemplo, nodia  30 de junho de 2021, a organização lançou o MLPerf Training v1.0 que incluiu dois novos benchmarks:

  • Voz-para-Texto com RNN-T: analisa a entrada de voz para prever o texto correspondente. Usa o conjunto de dados LibriSeech.
  • 3D Medical Imaging com 3D U-Net: detecta células cancerosas nos rins. Usa o conjunto de dados KiTS 19.

Em resumo, a MLCommons está desenvolvendo benchmarks que estão ajudando a comunidade global a medir e melhorar o desempenho dos modelos de Machine Learning.

Scroll to Top