Otimização de modelos do TensorFlow

O Kit de ferramentas para otimização de modelos do TensorFlow minimiza a complexidade de otimizar a inferência de machine learning.

A eficiência da inferência é uma preocupação crítica ao implantar modelos de machine learning devido à latência, à utilização de memória e, em muitos casos, ao consumo de energia. Especialmente em dispositivos de borda, como dispositivos móveis e de Internet das Coisas (IoT, na sigla em inglês), os recursos são ainda mais restritos, e o tamanho do modelo e a eficiência da computação são uma grande preocupação.

A demanda computacional para treinamento cresce com o número de modelos treinados em diferentes arquiteturas, enquanto a demanda computacional para inferência cresce proporcionalmente ao número de modelos.

Casos de uso

A otimização de modelos serve, entre outras coisas, para:

  • reduzir a latência e o custo de inferência para dispositivos de nuvem e de borda (por exemplo, dispositivos móveis e de IoT);
  • implantar modelos em dispositivos de borda com restrições de processamento, memória e/ou consumo de energia;
  • reduzir o tamanho do payload para atualizações de modelo over-the-air (OTA);
  • ativar a execução em hardware restrito a (ou otimizado para) operações de ponto fixo;
  • otimizar modelos para aceleradores de hardware com fins especiais.

Técnicas de otimização

A área de otimização de modelos pode envolver várias técnicas:

  • Reduzir a contagem de parâmetros com remoção e remoção estruturada.
  • Reduzir a precisão representacional com a quantização.
  • Atualizar a topologia do modelo original para uma mais eficiente com parâmetros reduzidos ou execução mais rápida. Por exemplo, métodos de decomposição de tensores e destilação

Nosso kit de ferramentas é compatível com quantização pós-treinamento, treinamento com reconhecimento de quantização e remoção.

Quantização

Os modelos quantizados são aqueles em que representamos os modelos com menor precisão, como números inteiros de 8 bits, em vez de flutuantes de 32 bits. Uma precisão menor é um requisito para aproveitar determinado hardware.

Esparsidade e remoção

Os modelos esparsos são aqueles em que as conexões entre operadores (ou seja, camadas de rede neural) foram removidas, introduzindo zeros aos tensores de parâmetros.