Machine learning e IA com o ONNX no SQL no Edge
Importante
O SQL do Azure no Edge será desativado em 30 de setembro de 2025. Para obter mais informações e opções de migração, veja o Aviso de aposentadoria.
Observação
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 machine learning no SQL do Azure no Edge, primeiro você precisará obter um modelo. Pode ser um modelo pré-treinado ou um modelo personalizado treinado com a estrutura de sua escolha. O SQL do Azure no Edge é compatível com o formato ONNX e você precisa converter o modelo para esse formato. A precisão do modelo não deve ser afetada e, assim que você tiver o modelo ONNX, poderá implantá-lo no SQL do Azure no Edge e usar a pontuação nativa com a função T-SQL PREDICT.
Obter modelos ONNX
Para obter um modelo no formato ONNX:
Serviços de criação de modelo: serviços como o recurso Machine Learning automatizado no Azure Machine Learning e o serviço Visão Personalizada do Azure são compatíveis com a 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 incompatíveis com a exportação nativa, há pacotes instaláveis autônomos do conversor de ONNX que permitem converter modelos treinados de diversas estruturas de aprendizado de máquina no 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 uma estrutura de dados pandas para treinar um modelo, cada entrada deverá ser uma coluna separada para o modelo.