Aprendizado de máquina e IA com ONNX no SQL Edge

Importante

O Azure SQL Edge não suporta mais a plataforma ARM64.

O aprendizado de máquina no SQL Edge do Azure dá suporte a modelos no formato ONNX (Open Neural Network Exchange). ONNX é um formato aberto que você pode usar para trocar modelos entre várias estruturas e ferramentas de aprendizado de máquina.

Descrição geral

Para inferir modelos de aprendizado de máquina no Azure SQL Edge, primeiro você precisa obter um modelo. Pode ser um modelo pré-treinado ou um modelo personalizado treinado com a estrutura de sua escolha. O Azure SQL Edge dá suporte ao formato ONNX e você precisa converter o modelo para esse formato. Não deve haver nenhum efeito na precisão do modelo e, depois de ter o modelo ONNX, você pode implantar o modelo no Azure SQL Edge e usar a pontuação nativa com a função PREDICT T-SQL.

Obtenha modelos ONNX

Para obter um modelo no formato ONNX:

  • Serviços de Criação de Modelo: Serviços como o recurso de Aprendizado de Máquina automatizado no Azure Machine Learning e o Serviço de Visão Personalizada do Azure oferecem suporte à exportação direta do modelo treinado no formato ONNX.

  • Converter e/ou exportar modelos existentes: várias estruturas de treinamento (por exemplo, PyTorch, Chainer e Caffe2) suportam a funcionalidade de exportação nativa para ONNX, o que permite salvar seu modelo treinado em uma versão específica do formato ONNX. Para estruturas que não suportam exportação nativa, existem pacotes instaláveis independentes do ONNX Converter que permitem converter modelos treinados de diferentes estruturas de aprendizado de máquina para o formato ONNX.

    Estruturas suportadas

Limitações

Atualmente, nem todos os modelos ONNX são suportados pelo Azure SQL Edge. O suporte é limitado a modelos com tipos de dados numéricos:

Outros tipos numéricos podem ser convertidos em tipos suportados usando CAST e CONVERT.

As entradas do modelo devem ser estruturadas de modo que cada entrada para o modelo corresponda a uma única coluna em uma tabela. Por exemplo, se você estiver usando um dataframe pandas para treinar um modelo, cada entrada deverá ser uma coluna separada para o modelo.

Próximos passos