O que são contêineres de IA do Azure?

Os serviços de IA do Azure fornecem vários contêineres do Docker que permitem usar as mesmas APIs disponíveis no Azure, localmente. O uso desses contêineres oferece a flexibilidade de aproximar os serviços de IA do Azure de seus dados por motivos de conformidade, segurança ou outros motivos operacionais. O suporte de contêiner está atualmente disponível para um subconjunto de serviços de IA do Azure.

A conteinerização é uma abordagem à distribuição de software na qual um aplicativo ou serviço, incluindo suas dependências e configuração, é empacotado em conjunto como uma imagem de contêiner. Com pouca ou nenhuma modificação, uma imagem de contêiner pode ser implantada em um host de contêiner. Os contêineres são isolados uns dos outros e do sistema operacional subjacente, com um espaço menor do que uma máquina virtual. Os contêineres podem ser instanciados a partir de imagens de contêiner para tarefas de curto prazo e removidos quando não forem mais necessários.

Funcionalidades e benefícios

  • Infraestrutura imutável: permita que as equipes de DevOps aproveitem um conjunto consistente e confiável de parâmetros conhecidos do sistema, ao mesmo tempo em que são capazes de se adaptar às mudanças. Os contêineres oferecem a flexibilidade de girar dentro de um ecossistema previsível e evitar desvios de configuração.
  • Controle sobre os dados: escolha onde seus dados são processados pelos serviços de IA do Azure. Isso pode ser essencial se você não puder enviar dados para a nuvem, mas precisar de acesso às APIs de serviços de IA do Azure. Ofereça suporte à consistência em ambientes híbridos – em dados, gerenciamento, identidade e segurança.
  • Controle sobre atualizações de modelos: Flexibilidade no versionamento e atualização de modelos implantados em suas soluções.
  • Arquitetura portátil: permite a criação de uma arquitetura de aplicativo portátil que pode ser implantada no Azure, no local e na borda. Os contêineres podem ser implantados diretamente no Serviço Kubernetes do Azure, nas Instâncias de Contêiner do Azure ou em um cluster Kubernetes implantado no Azure Stack. Para obter mais informações, consulte Implantar o Kubernetes no Azure Stack.
  • Alta taxa de transferência/baixa latência: forneça aos clientes a capacidade de dimensionar para requisitos de alta taxa de transferência e baixa latência, permitindo que os serviços de IA do Azure sejam executados fisicamente perto da lógica e dos dados do aplicativo. Os contêineres não limitam as transações por segundo (TPS) e podem ser dimensionados para lidar com a demanda se você fornecer os recursos de hardware necessários.
  • Escalabilidade: Com a crescente popularidade dos softwares de conteinerização e orquestração de contêineres, como o Kubernetes, a escalabilidade está na vanguarda dos avanços tecnológicos. Com base em uma base de cluster escalável, o desenvolvimento de aplicativos atende à alta disponibilidade.

Contêineres nos serviços de IA do Azure

Os contêineres de IA do Azure fornecem o seguinte conjunto de contêineres do Docker, cada um dos quais contém um subconjunto de funcionalidades de serviços nos serviços de IA do Azure. Você pode encontrar instruções e locais de imagem nas tabelas abaixo.

Nota

Consulte Instalar e executar contêineres do Document Intelligence para instruções de contêiner do Azure AI Document Intelligence e locais de imagem.

Contentores de decisão

Service Contentor Description Disponibilidade
Detetor de anomalias Detetor de anomalias (imagem ) A API do Detetor de Anomalias permite monitorar e detetar anormalidades em seus dados de séries cronológicas com aprendizado de máquina. Disponibilidade geral

Contentores de linguagem

Service Contentor Description Disponibilidade
LUIS LUIS (imagem ) Carrega um modelo de Compreensão de Linguagem treinado ou publicado, também conhecido como aplicativo LUIS, em um contêiner docker e fornece acesso às previsões de consulta dos pontos de extremidade da API do contêiner. Você pode coletar logs de consulta do contêiner e carregá-los de volta para o portal LUIS para melhorar a precisão de previsão do aplicativo. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
Serviço linguístico Extração de frases-chave (imagem) Extrai frases-chave para identificar os pontos principais. Por exemplo, para o texto de entrada “The food was delicious and there were wonderful staff”, a API devolve os pontos de conversa principais: “food” e “wonderful staff”. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
Serviço linguístico Deteção de idioma de texto (imagem) Para até 120 idiomas, deteta em qual idioma o texto de entrada está escrito e relata um único código de idioma para cada documento enviado na solicitação. O código de idioma é emparelhado com uma pontuação que indica a força da pontuação. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
Serviço linguístico Análise de Sentimento (imagem) Analisa o texto bruto em busca de pistas sobre sentimentos positivos ou negativos. Esta versão da análise de sentimento retorna rótulos de sentimento (por exemplo , positivo ou negativo) para cada documento e frase dentro dele. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
Serviço linguístico Análise de texto para saúde (imagem) Extraia e rotule informações médicas de textos clínicos não estruturados. Disponibilidade geral
Serviço linguístico Reconhecimento de entidade nomeada (imagem) Extraia entidades nomeadas do texto. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
Serviço linguístico Reconhecimento personalizado de entidade nomeada (imagem) Extraia entidades nomeadas do texto, usando um modelo personalizado que você cria usando seus dados. Disponibilidade geral
Serviço linguístico Sumarização (imagem) Resuma textos de várias fontes. Pré-visualização pública.
Esse contêiner também pode ser executado em ambientes desconectados.
Translator Tradutor (imagem) Traduzir texto em vários idiomas e dialetos. Geralmente disponível. Fechado - solicitar acesso.
Esse contêiner também pode ser executado em ambientes desconectados.

Contentores de voz

Service Contentor Description Disponibilidade
API de Serviço de Voz Conversão de voz em texto (imagem) Transcreve voz em tempo real contínua para texto. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
API de Serviço de Voz Conversão de voz em texto (imagem) Transcreve fala contínua em tempo real para texto usando um modelo personalizado. Disponível ao público em geral
Esse contêiner também pode ser executado em ambientes desconectados.
API de Serviço de Voz Texto neural para fala (imagem) Converte texto em fala com som natural usando tecnologia de rede neural profunda, permitindo uma fala sintetizada mais natural. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
API de Serviço de Voz Identificação fonoaudiológica (imagem) Determina o idioma do áudio falado. Pré-visualizar

Contentores de imagem

Service Contentor Description Disponibilidade
Azure AI Vision Ler OCR (imagem) O contêiner Read OCR permite extrair texto impresso e manuscrito de imagens e documentos com suporte para formatos de arquivo JPEG, PNG, BMP, PDF e TIFF. Para obter mais informações, consulte a documentação da API de leitura. Geralmente disponível.
Esse contêiner também pode ser executado em ambientes desconectados.
Análise Espacial Análise espacial (imagem) Analisa streaming de vídeo em tempo real para entender as relações espaciais entre as pessoas, seu movimento e interações com objetos em ambientes físicos. Pré-visualizar

Além disso, alguns contêineres são suportados na oferta de recursos multisserviço de serviços de IA do Azure. Você pode criar um único recurso All-In-One de serviços de IA do Azure e usar a mesma chave de cobrança entre os serviços suportados para os seguintes serviços:

  • Azure AI Vision
  • LUIS
  • Serviço linguístico

Pré-requisitos

Você deve satisfazer os seguintes pré-requisitos antes de usar contêineres do Azure AI:

Docker Engine: Você deve ter o Docker Engine instalado localmente. O Docker fornece pacotes que configuram o ambiente do Docker no macOS, Linux e Windows. No Windows, o Docker deve ser configurado para suportar contêineres Linux. Os contêineres do Docker também podem ser implantados diretamente no Serviço Kubernetes do Azure ou nas Instâncias de Contêiner do Azure.

O Docker deve ser configurado para permitir que os contêineres se conectem e enviem dados de cobrança para o Azure.

Familiaridade com o Microsoft Container Registry e o Docker: você deve ter uma compreensão básica dos conceitos do Microsoft Container Registry e do Docker, como registros, repositórios, contêineres e imagens de contêiner, bem como conhecimento de comandos básicos docker .

Para um manual de noções básicas do Docker e do contentor, veja a descrição geral do Docker.

Os contêineres individuais também podem ter seus próprios requisitos, incluindo requisitos de alocação de servidor e memória.

Segurança de contêiner de serviços de IA do Azure

A segurança deve ser um foco principal sempre que você estiver desenvolvendo aplicativos. A importância da segurança é uma métrica para o sucesso. Ao arquitetar uma solução de software que inclui contêineres de IA do Azure, é vital entender as limitações e os recursos disponíveis para você. Para obter mais informações sobre segurança de rede, consulte Configurar redes virtuais de serviços de IA do Azure.

Importante

Por padrão, não há segurança na API de contêiner de serviços de IA do Azure. A razão para isso é que, na maioria das vezes, o contêiner será executado como parte de um pod que é protegido do lado de fora por uma ponte de rede. No entanto, é possível que os usuários construam sua própria infraestrutura de autenticação para aproximar os métodos de autenticação usados ao acessar os serviços de IA do Azure baseados em nuvem.

O diagrama a seguir ilustra a abordagem padrão e não segura :

Container security

Como exemplo de uma abordagem alternativa e segura , os consumidores de contêineres de IA do Azure podem aumentar um contêiner com um componente frontal, mantendo o ponto de extremidade do contêiner privado. Vamos considerar um cenário em que usamos o Istio como um gateway de entrada. O Istio suporta HTTPS/TLS e autenticação de certificado de cliente. Nesse cenário, o frontend do Istio expõe o acesso ao contêiner, apresentando o certificado do cliente que é aprovado previamente com o Istio.

Nginx é outra escolha popular na mesma categoria. Tanto o Istio quanto o Nginx atuam como uma malha de serviço e oferecem recursos adicionais, incluindo coisas como balanceamento de carga, roteamento e controle de taxa.

Funcionamento em rede do contentor

Os contêineres de IA do Azure são necessários para enviar informações de medição para fins de cobrança. A falha em permitir a lista de vários canais de rede nos quais os contêineres de IA do Azure dependem impedirá que o contêiner funcione.

Allowlist, serviços do Azure AI, domínios e portas

O host deve permitir a porta 443 e os seguintes domínios:

  • *.cognitive.microsoft.com
  • *.cognitiveservices.azure.com

Desative a inspeção profunda de pacotes

A inspeção profunda de pacotes (DPI) é um tipo de processamento de dados que inspeciona em detalhes os dados enviados por uma rede de computadores e geralmente age bloqueando, redirecionando ou registrando-os de acordo.

Desabilite o DPI nos canais seguros que os contêineres de IA do Azure criam para os servidores da Microsoft. Se não o fizer, o contentor não funcionará corretamente.

Exemplos de programador

Exemplos de desenvolvedores estão disponíveis em nosso repositório GitHub.

Próximos passos

Saiba mais sobre receitas de contêiner que você pode usar com os serviços de IA do Azure.

Instale e explore a funcionalidade fornecida pelos contêineres nos serviços de IA do Azure: