Machine learning e IA com o ONNX no SQL no Edge
Importante
O SQL do Azure no Edge encerrou o suporte à plataforma ARM64.
O aprendizado de máquina no SQL do Azure no Edge é compatível com os modelos no formato ONNX (Open Neural Network Exchange). O ONNX é um formato aberto que você pode usar para trocar modelos entre várias estruturas e ferramentas de aprendizado de máquina.
Visão geral
Para inferir modelos de aprendizado de máquina no SQL Edge do Azure, primeiro você precisa obter um modelo. Este pode ser um modelo pré-treinado ou um modelo personalizado treinado com sua estrutura de escolha. O Azure SQL Edge dá suporte ao formato ONNX e você precisa converter o modelo para esse formato. Não deve haver efeito na precisão do modelo e, depois de ter o modelo ONNX, você pode implantar o modelo no SQL Edge do Azure e usar a pontuação nativa com a função PREDICT T-SQL.
Obter 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 Aprendizado de Máquina do Azure e o Serviço de Visão Personalizada do Azure dão suporte à exportação direta do modelo treinado no formato ONNX.
Converter e/ou exportar modelos existentes: várias estruturas de treinamento (por exemplo, o PyTorch, o Chainer e o Caffe2) dão suporte à funcionalidade de exportação nativa para o ONNX, o que permite salvar o modelo treinado em uma versão específica do formato ONNX. Para estruturas que não oferecem suporte à exportação nativa, existem pacotes instaláveis autônomos do ONNX Converter que permitem converter modelos treinados de diferentes estruturas de aprendizado de máquina para o formato ONNX.
Estruturas com suporte
-
Para obter a lista completa de estruturas e exemplos com suporte, consulte Conversão no formato ONNX.
Limitações
Atualmente, nem todos os modelos ONNX são compatíveis com o SQL do Azure no Edge. A compatibilidade se limita a modelos com tipos de dados numéricos:
Outros tipos numéricos podem ser convertidos em tipos compatíveis usando CAST e CONVERT.
As entradas do modelo devem ser estruturadas de forma que cada entrada para o modelo corresponda a uma única coluna de uma tabela. Por exemplo, se você estiver usando um dataframe de pandas para treinar um modelo, cada entrada deverá ser uma coluna separada para o modelo.