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

Os serviços de IA do Azure fornecem vários contêineres do Docker que permitem usar no local as mesmas APIs disponíveis no Azure. Esses contêineres lhe oferecem a flexibilidade de trazer os serviços de IA do Azure mais para perto dos seus dados para fins de conformidade, segurança ou outros motivos operacionais. O suporte para contêineres no momento está disponível para um subconjunto de serviços de IA do Azure.

O uso de contêineres é uma abordagem para distribuição de software em que um aplicativo ou serviço, incluindo as dependências e configurações, é empacotado 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 poderão ser instanciados a partir de imagens de contêiner para tarefas de curto prazo e removidos, quando não forem mais necessários.

Características e benefícios

  • Infraestrutura imutável: permite que equipes de DevOps aproveitem um conjunto consistente e confiável de parâmetros de sistema conhecidos e sejam capazes de se adaptar a mudanças. Os contêineres fornecem flexibilidade para dinamizar em um ecossistema previsível e evitar descompassos de configuração.
  • Controle sobre os dados: escolha onde seus dados serão processados pelos serviços de IA do Azure. Isso pode ser fundamental se você não puder enviar dados para a nuvem, mas precisar acessar as APIs de serviços de IA do Azure. Suporte para consistência em ambientes híbridos – entre dados, gerenciamento, identidade e segurança.
  • Controle sobre atualizações de modelos: flexibilidade no controle de versão e atualização dos modelos implantados nas soluções.
  • Arquitetura portátil: habilita a criação de uma arquitetura de aplicativo portátil que possa ser implantada no Azure, no local e na borda. Os contêineres podem ser implantados diretamente no Serviço de Kubernetes do Azure, nas Instâncias de Contêiner do Azure ou em um cluster do Kubernetes implantado no Azure Stack. Para obter mais informações, consulte Implantar Kubernetes no Azure Stack.
  • Alta taxa de transferência/baixa latência: fornece aos clientes a capacidade de ampliar seus requisitos de alta taxa de transferência e baixa latência permitindo que os serviços de IA do Azure sejam fisicamente executados perto de seus dados e de sua lógica de aplicativo. Os contêineres não limitam as TPS (transações por segundo) e poderão ser criados para serem escalados vertical e horizontalmente para lidar com a demanda se os recursos de hardware necessários forem fornecidos.
  • Escalabilidade: com a popularidade cada vez maior da conteinerização, bem como de programa de software de orquestração de contêiner, como o Kubernetes, a escalabilidade está na vanguarda dos avanços tecnológicos. Criado com base em um cluster escalável, o desenvolvimento de aplicativos fornece alta disponibilidade.

Contêineres nos serviços de IA do Azure

Os contêineres de IA do Azure fornecem o conjunto abaixo de contêineres do Docker, cada qual contendo um subconjunto de funcionalidades dos serviços incluídos nos serviços de IA do Azure. É possível encontrar instruções e locais de imagem nas tabelas abaixo.

Observação

Confira Instalar e executar contêineres de Informações de Documentos para obter instruções de contêiner e locais de imagem da IA do Azure para Informação de Documentos.

Contêineres de decisão

Serviço Contêiner Descrição Disponibilidade
Detector de Anomalias Detector de Anomalias (imagem) A API do Detector de Anomalias permite monitorar e detectar anormalidades em seus dados de série temporal com aprendizado de máquina. Disponível para o público geral

Contêineres de linguagem

Serviço Contêiner Descrição Disponibilidade
LUIS LUIS (imagem) Carrega um modelo de reconhecimento vocal treinado ou publicado, também conhecido como um aplicativo LUIS, para um contêiner do 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 novamente no portal do LUIS para aumentar a precisão da previsão do aplicativo. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
Serviço de linguagem Extração de Frases-Chave (imagem) Extrai frases-chave para identificar os principais pontos. Por exemplo, para o texto de entrada "A comida estava deliciosa e a equipe era maravilhosa", a API retorna os principais pontos de discussão: "comida" e "equipe maravilhosa". Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
Serviço de linguagem Detecção de Idioma do Texto (imagem) Para até 120 idiomas, detecta em qual idioma o texto de entrada está escrito e informa um código de idioma único para cada documento enviado na solicitação. O código de idioma é emparelhado com uma pontuação que indica a intensidade da pontuação. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
Serviço de linguagem 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 sentimentos (como positivos ou negativos) para cada documento e frase dentro dela. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
Serviço de linguagem Análise de Texto para serviços de saúde (imagem) Extraia informações médicas de textos clínicos não estruturados, depois insira um rótulo nelas. Disponível para o público geral
Serviço de linguagem Reconhecimento de Entidade Nomeada (imagem) Extrair entidades nomeadas do texto. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
Serviço de linguagem Reconhecimento de Entidade Nomeada Personalizada (imagem) Extraia entidades nomeadas do texto, usando um modelo personalizado que você cria usando seus dados. Disponível para o público geral
Serviço de Linguagem Resumo (imagem) Resumir texto de várias fontes. Versão prévia pública.
Este contêiner também pode ser executado em ambientes desconectados.
Tradutor Tradutor (imagem) Traduza o texto em diversos idiomas e dialetos. Em disponibilidade geral. Restrito – solicitar acesso.
Este contêiner também pode ser executado em ambientes desconectados.

Contêineres de fala

Serviço Contêiner Descrição Disponibilidade
API do Serviço de Fala Reconhecimento de fala (imagem) Transcreve fala em tempo real contínua em texto. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
API do Serviço de Fala Reconhecimento de fala personalizado (imagem) Transcreve em tempo real uma fala contínua em texto usando um modelo personalizado. Disponível para o público geral
Este contêiner também pode ser executado em ambientes desconectados.
API do Serviço de Fala Conversão de texto em fala neural (imagem) Converte o texto em uma fala que soa natural usando uma tecnologia de rede neural profunda, permitindo obter uma fala sintetizada mais natural. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
API do Serviço de Fala Identificação da linguagem de fala (imagem) Determina o idioma do áudio. Visualizar

Contêineres de visão

Serviço Contêiner Descrição Disponibilidade
Visão de IA do Azure OCR de Leitura (imagem) O contêiner de OCR de Leitura permite extrair um texto impresso e manuscrito de imagens e documentos compatíveis com os formatos de arquivos JPEG, PNG, BMP, PDF e TIFF. Para obter mais informações, confira a documentação da API de Leitura. Em disponibilidade geral.
Este contêiner também pode ser executado em ambientes desconectados.
Análise Espacial Análise espacial (imagem) Analisa um vídeo de streaming em tempo real para entender relações espaciais entre as pessoas, a movimentação delas e interações com objetos em ambientes físicos. Visualização

Além disso, alguns contêineres são compatíveis com a oferta de recursos de vários serviços dos serviços de IA do Azure. Você pode criar um único recurso tudo-em-um de serviços de IA do Azure e usar a mesma chave de cobrança nos diversos serviços com suporte para obter os seguintes serviços:

  • Visão de IA do Azure
  • LUIS
  • Serviço de linguagem

Pré-requisitos

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

Mecanismo do Docker: é necessário ter o Mecanismo do Docker instalado localmente. O Docker fornece pacotes que configuram o ambiente do Docker em macOS, Linux e Windows. No Windows, o Docker deve ser configurado para dar suporte a contêineres do Linux. Os contêineres do Docker também podem ser implantados diretamente no Serviço de Kubernetes do Azure ou Instâncias de Contêiner do Azure.

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

Familiaridade com Docker e Registro de Contêiner da Microsoft: é necessário ter uma compreensão básica de ambos os conceitos de Docker e Registro de Contêiner da Microsoft, como registros, repositórios, contêineres e imagens de contêiner, bem como conhecimento dos comandos básicos docker.

Para instruções sobre conceitos básicos do Docker e de contêiner, consulte a visão geral do Docker.

Contêineres individuais podem ter seus próprios requisitos, incluindo requisitos de alocação de memória e servidor.

Segurança de contêiner dos 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 sucesso. Ao arquitetar uma solução de software que inclui contêineres de IA do Azure, é essencial entender as limitações e as funcionalidades disponíveis para você. Para obter mais informações sobre segurança de rede, confira Configurar redes virtuais dos serviços de IA do Azure.

Importante

Por padrão, não há segurança na API de contêiner dos serviços de IA do Azure. O motivo para isso é que, na maioria das vezes, o contêiner será executado como parte de um pod que é protegido de fora por uma ponte de rede. No entanto, é possível que os usuários construam sua própria infraestrutura de autenticação para se aproximar dos 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 voltado para o usuário ou cliente, 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 dá suporte a HTTPS/TLS e autenticação de certificado do cliente. Nesse cenário, o front-end do Istio expõe o acesso ao contêiner, apresentando o certificado do cliente aprovado com antecedência com o Istio.

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

Rede de contêineres

Os contêineres de IA do Azure são obrigados a enviar informações de medição para fins de cobrança. O fato de não adicionar à lista de permissões vários canais de rede dos quais os contêineres de IA do Azure dependem impedirá o funcionamento do contêiner.

Lista de permissões de domínios e portas dos serviços de IA do Azure

O host deve adicionar a porta 443 e os seguintes domínios à lista de permitidos:

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

Desabilitar 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 que estão sendo enviados por uma rede de computadores e geralmente executa ações bloqueando, redirecionando ou registrando-os adequadamente.

Desabilite a DPI nos canais seguros que os contêineres de IA do Azure criam nos servidores da Microsoft. Se não for feito, isso impedirá que o contêiner funcione corretamente.

Exemplos do desenvolvedor

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

Próximas etapas

Saiba mais sobre as receitas de contêiner que podem ser usadas com os serviços de IA do Azure.

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