Blog

  • SageMaker AI: Decodificação Especulativa com EAGLE para Acelerar Inferência de IA Generativa

    A Demanda por Inferência mais Rápida

    Os modelos de IA generativa continuam crescendo em escala e capacidade, intensificando a necessidade de inferência mais veloz e eficiente. Aplicações que funcionam com estes modelos precisam de baixa latência e desempenho consistente sem comprometer a qualidade dos resultados gerados. A AWS anunciou novos aprimoramentos em seu kit de ferramentas de otimização de inferência no SageMaker AI, expandindo o suporte para a decodificação especulativa baseada em EAGLE para mais arquiteturas de modelos.

    Essas atualizações facilitam a aceleração do processo de decodificação, permitem otimizar o desempenho utilizando dados específicos da sua aplicação e possibilitam o deploy de modelos com maior throughput por meio do fluxo de trabalho familiar do SageMaker AI.

    Entendendo o EAGLE

    EAGLE é uma sigla para Algoritmo de Extrapolação para Maior Eficiência em Modelos de Linguagem (Extrapolation Algorithm for Greater Language-model Efficiency). A técnica funciona acelerando a decodificação de modelos de linguagem grandes ao prever tokens futuros diretamente a partir das camadas ocultas do modelo.

    Uma das características principais é a capacidade de otimização dinâmica baseada em seus dados. Quando você orienta a otimização usando dados reais da sua aplicação, as melhorias se alinham com os padrões e domínios específicos que você atende, produzindo uma inferência mais rápida que reflete suas cargas de trabalho reais e não apenas benchmarks genéricos.

    Dependendo da arquitetura do modelo, o SageMaker AI treina cabeçalhos EAGLE 3 ou EAGLE 2. É importante notar que esse treinamento e otimização não se limita a uma única operação. Você pode começar utilizando os conjuntos de dados fornecidos pelo SageMaker para treinamento inicial, mas conforme coleta e reúne seus próprios dados, pode também fazer ajuste fino usando seu próprio conjunto de dados curado para desempenho altamente adaptativo e específico à sua carga de trabalho.

    Um exemplo prático seria usar uma ferramenta como Captura de Dados para curar seu próprio conjunto de dados ao longo do tempo a partir de requisições em tempo real que atingem seu modelo hospedado. Trata-se de um recurso iterativo com múltiplos ciclos de treinamento para melhorar continuamente o desempenho.

    Fonte: AWS

    Visão Geral da Solução

    O SageMaker AI agora oferece suporte nativo para decodificação especulativa com EAGLE 2 e EAGLE 3, permitindo que cada arquitetura de modelo aplique a técnica que melhor se adequa ao seu design interno.

    Para seu modelo de base LLM, você pode utilizar modelos do SageMaker JumpStart ou trazer seus próprios artefatos de modelo de outro lugar, como o HuggingFace. A decodificação especulativa é uma técnica amplamente empregada para acelerar inferência em LLMs sem comprometer a qualidade. O método envolve usar um modelo de rascunho menor para gerar tokens preliminares, que são então verificados pelo LLM alvo. A extensão da aceleração obtida por meio da decodificação especulativa depende fortemente da seleção do modelo de rascunho.

    A natureza sequencial dos LLMs modernos os torna caros e lentos, e a decodificação especulativa provou ser uma solução eficaz para este problema. Métodos como EAGLE melhoram isso reutilizando recursos do modelo alvo, levando a melhores resultados.

    Evolução: Do EAGLE 2 ao EAGLE 3

    Uma tendência atual na comunidade de LLM é aumentar dados de treinamento para potencializar a inteligência do modelo sem adicionar custos de inferência. Infelizmente, essa abordagem tem benefícios limitados para EAGLE. Essa limitação ocorre devido às restrições do EAGLE na previsão de recursos.

    Para resolver isso, o EAGLE 3 foi introduzido, que prevê tokens diretamente em vez de recursos e combina recursos de múltiplas camadas usando uma técnica chamada teste em tempo de treinamento. Essas mudanças melhoram significativamente o desempenho e permitem que o modelo se beneficie plenamente do aumento de dados de treinamento.

    Fonte: AWS

    Flexibilidade de Workflows

    Para dar aos clientes máxima flexibilidade, o SageMaker suporta todos os principais fluxos de trabalho para construir ou refinar um modelo EAGLE:

    • Treinar um modelo EAGLE completamente do zero usando o conjunto de dados aberto curado pelo SageMaker
    • Treinar do zero com seus próprios dados para alinhar o comportamento especulativo com seus padrões de tráfego
    • Começar a partir de um modelo EAGLE base existente, retreinando-o com o conjunto de dados aberto padrão para uma baseline rápida e de alta qualidade
    • Ou ajustar esse modelo base com seu próprio conjunto de dados para desempenho altamente adaptativo e específico à sua carga de trabalho

    Além disso, o SageMaker JumpStart fornece modelos EAGLE completamente pré-treinados, permitindo que você comece a otimização imediatamente sem preparar nenhum artefato.

    A solução abrange seis arquiteturas suportadas e inclui uma base EAGLE pré-treinada e pré-armazenada em cache para acelerar experimentação. O SageMaker AI também suporta formatos de dados de treinamento amplamente utilizados, especificamente ShareGPT e chat e completude OpenAI, permitindo que corpora existentes sejam usados diretamente. Os clientes também podem fornecer dados capturados usando seus próprios endpoints do SageMaker AI, desde que os dados estejam nos formatos especificados acima.

    Seja confiando no conjunto de dados aberto do SageMaker ou trazendo seus próprios dados, os trabalhos de otimização normalmente entregam aproximadamente 2.5x de throughput sobre a decodificação padrão, ao mesmo tempo que se adaptam naturalmente às nuances de seu caso de uso específico. Todos os trabalhos de otimização produzem automaticamente resultados de benchmark, dando-lhe visibilidade clara nas melhorias de latência e throughput.

    Arquiteturas Suportadas

    O SageMaker AI atualmente suporta LlamaForCausalLM, Qwen3ForCausalLM, Qwen3MoeForCausalLM, Qwen2ForCausalLM e GptOssForCausalLM com EAGLE 3, e Qwen3NextForCausalLM com EAGLE 2. Você pode utilizar um pipeline de otimização único em um conjunto de arquiteturas diferentes enquanto ainda obtém os benefícios do comportamento específico de cada modelo.

    Como o EAGLE Funciona Internamente

    A decodificação especulativa pode ser pensada como um cientista chefe experiente guiando o fluxo de descoberta. Em configurações tradicionais, um modelo “assistente” menor funciona antecipadamente, esboçando rapidamente várias continuações de tokens possíveis, enquanto o modelo maior examina e corrige essas sugestões. Essa combinação reduz o número de passos lentos e sequenciais verificando múltiplos rascunhos de uma vez.

    O EAGLE simplifica ainda mais esse processo. Em vez de depender de um assistente externo, o modelo efetivamente se torna seu próprio parceiro de laboratório: inspeciona suas representações de camadas ocultas internas para antecipar vários tokens futuros em paralelo. Como essas previsões surgem da estrutura aprendida do próprio modelo, tendem a ser mais precisas desde o início, levando a etapas especulativas mais profundas, menos rejeições e throughput mais suave.

    Ao remover a sobrecarga de coordenação de um modelo secundário e permitir verificação altamente paralela, essa abordagem alivia gargalos de largura de banda de memória e entrega acelerações notáveis, frequentemente em torno de 2.5x, mantendo a mesma qualidade de saída que o modelo de base produziria.

    Executando Trabalhos de Otimização

    Você pode interagir com o kit de ferramentas de otimização usando o AWS Python Boto3 SDK, Studio UI ou AWS CLI. As chamadas de API principais para criação de endpoint permanecem as mesmas: create_model, create_endpoint_config e create_endpoint.

    O fluxo de trabalho começa com registro de modelo usando a chamada da API create_model. Com essa chamada você pode especificar seu contêiner de serviço e stack. Você não precisa criar um objeto de modelo SageMaker e pode especificar os dados do modelo também na chamada da API do Trabalho de Otimização.

    Para otimização de cabeçalhos EAGLE, você especifica os dados do modelo apontando para o parâmetro Fonte de Dados do Modelo. No momento, especificação do ID do Modelo do HuggingFace Hub não é suportada. Extraia seus artefatos e carregue-os em um bucket S3 e especifique-o no parâmetro Fonte de Dados do Modelo.

    Por padrão, verificações são realizadas para confirmar que os arquivos apropriados foram carregados, garantindo que você tenha os dados padrão esperados para LLMs:

    model/
    config.json
    tokenizer.json
    tokenizer_config.json
    special_tokens_map.json
    generation_config.json
    vocab.json
    model.safetensors
    model.safetensors.index.json

    Usando seus próprios dados de modelo com dataset EAGLE curado

    Você pode iniciar um trabalho de otimização com a chamada da API create-optimization-job. Aqui está um exemplo com um modelo Qwen3 32B. Note que você pode trazer seus próprios dados ou também usar os conjuntos de dados fornecidos pelo SageMaker.

    Primeiro, crie um objeto de Modelo SageMaker que especifique o bucket S3 com seus artefatos de modelo:

    aws sagemaker --region us-west-2 create-model \
    --model-name <target-model-name> \
    --primary-container '{
      "Image": "763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:{CONTAINER_VERSION}",
      "ModelDataSource": {
        "S3DataSource": {
          "S3Uri": "Enter model path",
          "S3DataType": "S3Prefix",
          "CompressionType": "None"
        }
      }
    }' \
    --execution-role-arn "Enter Execution Role ARN"

    Sua chamada de otimização então extrai esses artefatos de modelo quando você especifica o Modelo SageMaker e um parâmetro TrainingDataSource da seguinte forma:

    aws sagemaker --region us-west-2 create-optimization-job \
    --optimization-job-name <job-name> \
    --account-id <account-id> \
    --deployment-instance-type ml.p5.48xlarge \
    --max-instance-count 10 \
    --model-source '{
      "SageMakerModel": {
        "ModelName": "Created Model name"
      }
    }' \
    --optimization-configs '{
      "ModelSpeculativeDecodingConfig": {
        "Technique": "EAGLE",
        "TrainingDataSource": {
          "S3DataType": "S3Prefix",
          "S3Uri": "Enter custom train data location"
        }
      }
    }' \
    --output-config '{
      "S3OutputLocation": "Enter optimization output location"
    }' \
    --stopping-condition '{"MaxRuntimeInSeconds": 432000}' \
    --role-arn "Enter Execution Role ARN"

    Trazendo seu próprio EAGLE treinado

    Para seu próprio EAGLE treinado, você pode especificar outro parâmetro na chamada da API create_model onde aponta para seus artefatos EAGLE. Opcionalmente, você também pode especificar um ID de Modelo SageMaker JumpStart para extrair os artefatos de modelo empacotados:

    aws sagemaker --region us-west-2 create-model \
    --model-name <target-model-name> \
    --primary-container '{
      "Image": "763104351884.dkr.ecr.{region}.amazonaws.com/djl-inference:{CONTAINER_VERSION}",
      "ModelDataSource": {
        "S3DataSource": {
          "S3Uri": "<model path>",
          "S3DataType": "S3Prefix",
          "CompressionType": "None"
        }
      },
      "AdditionalModelDataSources": [
        {
          "ChannelName": "eagle_model",
          "S3DataSource": {
            "S3Uri": "<pre-trained EAGLE path>",
            "S3DataType": "S3Prefix",
            "CompressionType": "None"
          }
        }
      ]
    }' \
    --execution-role-arn "Enter Execution Role ARN"

    De forma similar, a API de otimização então herda esse objeto de modelo com os dados de modelo necessários:

    aws sagemaker --region us-west-2 create-optimization-job \
    --account-id <account-id> \
    --optimization-job-name <job-name> \
    --deployment-instance-type ml.p5.48xlarge \
    --max-instance-count 10 \
    --model-source '{
      "SageMakerModel": {
        "ModelName": "Created Model Name"
      }
    }' \
    --optimization-configs '{
      "ModelSpeculativeDecodingConfig": {
        "Technique": "EAGLE",
        "TrainingDataSource": {
          "S3Uri": "Enter training data path",
          "S3DataType": "S3Prefix"
        }
      }
    }' \
    --output-config '{
      "SageMakerModel": {
        "ModelName": "Model Name"
      },
      "S3OutputLocation": "Enter output data location"
    }' \
    --stopping-condition '{"MaxRuntimeInSeconds": 432000}' \
    --role-arn "Enter Execution Role ARN"

    Usando dados de modelo próprio com conjuntos de dados incorporados

    Opcionalmente, você pode utilizar os conjuntos de dados fornecidos pelo SageMaker:

    • gsm8k_training.jsonl
    • magicoder.jsonl
    • opencodeinstruct.jsonl
    • swebench_oracle_train.jsonl
    • ultrachat_0_8k_515292.jsonl

    Após conclusão, o SageMaker AI armazena métricas de avaliação no S3 e registra a linhagem de otimização no Studio. Você pode fazer deploy do modelo otimizado para um endpoint de inferência com a chamada da API create_endpoint ou na interface.

    Resultados de Benchmark

    Para benchmarks, foram comparados três estados: sem EAGLE como baseline, EAGLE base usando conjuntos de dados incorporados, e EAGLE treinado usando datasets incorporados e retreinamento com dados customizados próprios.

    Os números exibidos abaixo são para Qwen3-32B em métricas como Tempo para Primeiro Token (TTFT) e throughput geral:

    Fonte: AWS

    Considerações sobre Preços

    Os trabalhos de otimização são executados em instâncias de treinamento do SageMaker AI, e você será cobrado dependendo do tipo de instância e duração do trabalho. O deploy do modelo otimizado resultante usa a precificação padrão de Inferência do SageMaker AI.

    Conclusão

    A decodificação especulativa adaptativa baseada em EAGLE oferece um caminho mais rápido e eficaz para melhorar o desempenho de inferência de IA generativa no Amazon SageMaker AI. Ao funcionar dentro do modelo em vez de depender de uma rede de rascunho separada, o EAGLE acelera a decodificação, aumenta o throughput e mantém a qualidade da geração. Quando você otimiza usando seu próprio conjunto de dados, as melhorias refletem o comportamento único de suas aplicações, resultando em melhor desempenho de ponta a ponta.

    Com suporte a conjuntos de dados incorporados, automação de benchmarks e deployment simplificado, o kit de ferramentas de otimização de inferência ajuda você a entregar aplicações de IA generativa de baixa latência em escala.

    Fonte

    Amazon SageMaker AI introduces EAGLE based adaptive speculative decoding to accelerate generative AI inference (https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-ai-introduces-eagle-based-adaptive-speculative-decoding-to-accelerate-generative-ai-inference/)

  • Treinar Modelos Customizados de Detecção de Defeitos com Visão Computacional no Amazon SageMaker

    Transição do Amazon Lookout for Vision para SageMaker

    Em outubro de 2024, a AWS anunciou a descontinuação do Amazon Lookout for Vision, com previsão de encerramento em 31 de outubro de 2025. Como parte de sua estratégia de transição, a empresa recomenda que clientes interessados em soluções de inteligência artificial e aprendizado de máquina para visão computacional utilizem as ferramentas do Amazon SageMaker AI.

    A boa notícia é que a AWS disponibilizou no AWS Marketplace os modelos subjacentes que alimentavam o serviço descontinuado. Esses modelos podem ser ajustados usando o Amazon SageMaker para casos de uso específicos, oferecendo flexibilidade total de integração com infraestruturas existentes de hardware e software. Quando executados na nuvem, os custos envolvem apenas a infraestrutura necessária para treinamento ou inferência.

    Fluxo end-to-end: da aquisição de imagens até a inferência em dispositivos edge — Fonte: Aws

    Vantagens da Migração para SageMaker

    A transição proporciona ganhos significativos em flexibilidade e controle. Com o SageMaker, é possível treinar modelos em instâncias maiores para reduzir o tempo de processamento. Além disso, usuários podem ajustar hiperparâmetros que antes não eram disponíveis no console do Lookout for Vision. Por exemplo, é possível desabilitar a cabeça do classificador binário em modelos de segmentação semântica, tornando a solução mais tolerante a variações de iluminação e fundo.

    Outro destaque é o controle sobre o tempo máximo de treinamento, que no Lookout for Vision era limitado a 24 horas. Agora, organizações podem customizar esse parâmetro conforme suas necessidades.

    Recursos e Modelos Disponíveis

    A AWS coloca à disposição dois tipos principais de modelos:

    • Classificação binária: para categorizar imagens como normais ou anômalas
    • Segmentação semântica: para identificar regiões específicas com defeitos em uma imagem

    Ambos podem ser treinados nas contas próprias da AWS para implantação na nuvem ou em dispositivos edge. O repositório GitHub do Amazon Lookout for Vision foi atualizado com um Jupyter Notebook que facilita o treinamento de datasets com esses dois tipos de modelos e seu empacotamento.

    Para rotular dados além do conjunto amostral, é possível usar o Amazon SageMaker Ground Truth para crowdsourcing ou permitir que equipes privadas façam a anotação. Alternativas incluem soluções de parceiros como Edge Impulse, Roboflow e SuperbAI.

    Pré-Requisitos

    Antes de começar, certifique-se de ter em lugar:

    • Amazon SageMaker Studio ou Amazon SageMaker Unified Studio para desenvolvimento integrado
    • Função Controle de Identidade e Acesso (IAM) com permissões apropriadas, incluindo acesso ao Amazon S3, operações no SageMaker e subscrição ao AWS Marketplace
    • Subscrição a um modelo de detecção de defeitos por visão computacional no AWS Marketplace
    • Dados etiquetados (é possível usar amostras como o cookie-dataset ou aliens-dataset do GitHub)
    • Conhecimento básico de criar instâncias Jupyter no SageMaker e executar notebooks

    Configuração do Processo de Etiquetagem

    O primeiro passo da jornada envolve preparar os dados para treinamento. A AWS oferece o Ground Truth, que possibilita criar equipes privadas de anotadores e organizar o trabalho de rotulação.

    No console do SageMaker AI, navegue até Ground Truth e selecione a opção de criar uma equipe privada. Após definir nome e configurações iniciais, você pode convidar membros da sua equipe por e-mail, enviando automaticamente convites com credenciais de acesso.

    Etiquetagem com SageMaker Ground Truth — Fonte: Aws

    Preparação e Etiquetagem de Datasets

    Uma vez que a equipe está pronta, o próximo passo é preparar o dataset. Faça upload das imagens para um bucket Amazon S3 e organize-as em uma estrutura única de diretório, combinando imagens normais e anômalas.

    Para automatizar esse processo, você pode usar um script no AWS CloudShell:

    #!/bin/bash
    # Clone o repositório
    git clone https://github.com/aws-samples/amazon-lookout-for-vision.git
    cd amazon-lookout-for-vision/aliens-dataset
    
    # Remove diretório anterior se existir
    rm -rf all
    
    # Cria novo diretório
    mkdir -p all
    
    # Copia imagens normais
    cp normal/*.png all/
    
    # Copia imagens anômalas com sufixo
    cd "$(dirname "$0")/amazon-lookout-for-vision/aliens-dataset"
    for file in anomaly/*.png; do
      if [ -f "$file" ]; then
        filename=$(basename "$file")
        cp "$file" "all/${filename}.anomaly.png"
      fi
    done
    
    # Verifica contagem
    echo "Imagens normais: $(find normal -name "*.png" | wc -l)"
    echo "Imagens anômalas: $(find anomaly -name "*.png" | wc -l)"
    echo "Total no diretório all: $(find all -type f | wc -l)"
    
    # Upload para S3
    aws s3 cp all/ s3://<BUCKET_NAME>/aliens-dataset-all/ --recursive
    
    # Limpeza
    cd ../..
    rm -rf amazon-lookout-for-vision

    Alternativamente, com a CLI da AWS configurada, você pode usar comandos manuais. Depois de fazer upload, acesse o console do SageMaker, navigate para Ground Truth e crie um novo job de etiquetagem. Configure a localização dos dados no S3, escolha “Configuração Automática de Dados” e selecione “Imagem” como tipo de dados.

    Para o tipo de tarefa, escolha “Classificação de Imagem (Rótulo Único)” para classificação binária ou “Segmentação Semântica” conforme sua necessidade. Crie dois rótulos: “normal” e “anomalia”. Uma vez que o job é iniciado, trabalhadores acesso o portal de etiquetagem e rotulam cada imagem conforme as instruções fornecidas.

    Treinamento do Modelo

    Após concluir a etiquetagem, use os dados rotulados para treinar o modelo de detecção de defeitos. Primeiro, subscrevam-se ao modelo no AWS Marketplace. Copie o ARN (Identificador de Recurso da Amazon) do modelo para referência posterior.

    Em seguida, crie uma instância Jupyter do SageMaker. Para essa tarefa, uma instância do tipo m5.2xl é adequada, com volume de 128 GB (o padrão de 5 GB é insuficiente). GPU não é obrigatória na instância do notebook, pois o SageMaker ativa automaticamente instâncias habilitadas com GPU durante o treinamento.

    Clone o repositório GitHub dentro da instância Jupyter e localize a pasta relevante. No notebook, defina o ARN do modelo que você subscreveu:

    # TODO: altere para usar o algoritmo SageMaker subscrito
    algorithm_name = "<Especificar nome do algoritmo após subscrição>"

    # Inicializa a sessão SageMaker e obtém a função de execução
    sagemaker_session = sagemaker.Session()
    region = sagemaker_session.boto_region_name
    role = get_execution_role()

    # Nome do projeto para identificar no S3
    project = "ComputerVisionDefectDetection"

    Fonte

    Train custom computer vision defect detection model using Amazon SageMaker (https://aws.amazon.com/blogs/machine-learning/train-custom-computer-vision-defect-detection-model-using-amazon-sagemaker/)

  • Transmissão Bidirecional em Tempo Real: A Evolução da Inferência no Amazon SageMaker AI

    O Futuro da IA em Tempo Real: Comunicação Bidirecional Contínua

    Em 2025, a inteligência artificial generativa transcendeu a simples geração de texto. As aplicações modernas demandam muito mais do que respostas transacionais isoladas. Elas exigem capacidades multimodais abrangentes — desde transcrição e tradução de áudio até agentes de voz sofisticados — e, sobretudo, necessitam de comunicação contínua e fluida em tempo real.

    O diferencial está em um requisito essencial: os dados precisam fluir simultaneamente em ambas as direções, através de uma única conexão persistente. Imagine um cenário de conversão de fala para texto onde o áudio é transmitido de forma contínua enquanto, ao mesmo tempo, o modelo processa e retorna a transcrição em tempo real, palavra por palavra. Esses casos de uso demandam exatamente essa capacidade bidirecional.

    A AWS anunciou a transmissão bidirecional para Amazon SageMaker AI Inference, transformando fundamentalmente o paradigma de inferência — de uma troca transacional isolada para uma conversa contínua e natural. A experiência de fala flui naturalmente quando não há interrupções. Com transmissão bidirecional, a conversão de fala para texto torna-se imediata: o modelo escuta e transcreve simultaneamente, fazendo as palavras aparecerem no exato momento em que são pronunciadas.

    Considere o caso prático de um centro de atendimento ao cliente. Conforme o cliente descreve seu problema, a transcrição ao vivo aparece instantaneamente na tela do atendente, fornecendo contexto imediato e permitindo que ele responda sem esperar o cliente terminar de falar. Esse tipo de troca contínua torna as experiências de voz mais fluidas, responsivas e genuinamente humanas.

    Como Funciona a Transmissão Bidirecional

    O Paradigma Tradicional versus Bidirecional

    Na abordagem tradicional de requisições de inferência, existe um padrão bem definido: o cliente envia uma pergunta completa e aguarda, enquanto o modelo processa e retorna uma resposta completa antes que o cliente possa enviar a próxima pergunta. É um ciclo de espera e resposta.

    Com transmissão bidirecional, esse fluxo é radicalmente diferente. A pergunta começa a fluir do cliente enquanto o modelo simultaneamente inicia o processamento e começa a retornar a resposta imediatamente. O cliente pode continuar refinando sua entrada enquanto o modelo adapta sua resposta em tempo real. Os resultados aparecem assim que o modelo os gera — palavra por palavra para texto, frame por frame para vídeo, amostra por amostra para áudio.

    Esse padrão também oferece benefícios infraestruturais significativos: manter uma única conexão persistente elimina a necessidade de centenas de conexões de curta duração. Isso reduz consideravelmente a sobrecarga de gerenciamento de rede, handshakes TLS e administração de conexões. Além disso, os modelos conseguem manter contexto ao longo de um fluxo contínuo, possibilitando interações multi-turnos sem a necessidade de reenviar o histórico de conversa a cada requisição.

    Arquitetura de Três Camadas do SageMaker AI Inference

    A implementação técnica da transmissão bidirecional no SageMaker AI Inference combina dois protocolos complementares: HTTP/2 e WebSocket, criando um canal robusto de comunicação bidirecional em tempo real entre cliente e modelo. O fluxo ocorre em três camadas:

    Cliente para Roteador SageMaker AI: Sua aplicação se conecta ao endpoint de tempo de execução do Amazon SageMaker AI usando HTTP/2, estabelecendo uma conexão eficiente e multiplexada que suporta transmissão bidirecional.

    Roteador para Contêiner do Modelo: O roteador encaminha a requisição para um Sidecar — um proxy leve executando ao lado de seu contêiner de modelo — que estabelece uma conexão WebSocket com o contêiner em ws://localhost:8080/invocations-bidirectional-stream. Uma vez estabelecida, os dados fluem livremente em ambas as direções.

    Fluxo de Requisição e Resposta: Sua aplicação envia entrada como uma série de blocos de dados via HTTP/2. A infraestrutura do SageMaker AI converte esses blocos em frames de dados WebSocket — texto (para dados UTF-8) ou binário — e os encaminha ao contêiner. O modelo recebe esses frames em tempo real e começa a processar imediatamente, antes mesmo da chegada da entrada completa. Na direção oposta, o modelo gera saída e a envia como frames WebSocket. O SageMaker AI encapsula cada frame em um payload de resposta e o transmite diretamente à sua aplicação via HTTP/2.

    A conexão WebSocket entre o Sidecar e o contêiner permanece aberta pela duração da sessão, com monitoramento de saúde integrado. Para manter a integridade da conexão, o SageMaker AI envia frames de ping a cada 60 segundos para verificar se a conexão está ativa. Seu contêiner responde com pong frames para confirmar que está saudável. Se 5 pings consecutivos não receberem resposta, a conexão é fechada de forma controlada.

    Construindo seu Próprio Contêiner com Transmissão Bidirecional

    Pré-requisitos e Preparação

    Se você deseja utilizar modelos de código aberto ou seus próprios modelos, é possível customizar seu contêiner para suportar transmissão bidirecional. Seu contêiner deve implementar o protocolo WebSocket para lidar com frames de dados recebidos e enviar frames de resposta de volta ao SageMaker AI.

    Para começar, você precisará de:

    • Uma conta AWS com permissões no SageMaker AI
    • A política de acesso gerenciado AmazonSageMakerFullAccess IAM Managed Policy para permitir criação de endpoints
    • Permissões de IAM que permitam explicitamente a ação sagemaker:InvokeEndpoint* para invocação de endpoints
    • Docker instalado localmente
    • Python 3.12 ou superior
    • Instalar aws-sdk-python para a API InvokeEndpointWithBidirectionalStream do tempo de execução do SageMaker AI

    Construindo e Implantando o Contêiner

    O processo começa clonando o repositório de demonstração e configurando seu ambiente conforme definido no README.md. Os passos a seguir criarão uma imagem Docker simples de demonstração e a enviarão para seu repositório de ECR na AWS.

    # As variáveis de ambiente devem ser definidas para autenticação AWS
    # export AWS_ACCESS_KEY_ID="sua-chave-de-acesso"
    # export AWS_SECRET_ACCESS_KEY="sua-chave-secreta"
    # export AWS_DEFAULT_REGION="us-west-2"
    
    container_name="sagemaker-bidirectional-streaming"
    container_tag="latest"
    cd container
    account=$(aws sts get-caller-identity --query Account --output text)
    region=$(aws configure get region)
    region=${region:-us-west-2}
    container_image_uri="${account}.dkr.ecr.${region}.amazonaws.com/${container_name}:${container_tag}"
    
    # Se o repositório não existe no ECR, crie-o
    aws ecr describe-repositories --repository-names "${container_name}" --region "${region}" > /dev/null 2>&1
    if [ $? -ne 0 ]
    then
      aws ecr create-repository --repository-name "${container_name}" --region "${region}" > /dev/null
    fi
    
    # Obtenha o comando de login do ECR e execute-o
    aws ecr get-login-password --region ${region} | docker login --username AWS --password-stdin ${account}.dkr.ecr.${region}.amazonaws.com/${container_name}
    
    # Construa a imagem Docker localmente e envie-a para o ECR
    docker build --platform linux/amd64 --provenance=false -t ${container_name} .
    docker tag ${container_name} ${container_image_uri}
    docker push ${container_image_uri}

    Este processo cria um contêiner com um rótulo Docker indicando ao SageMaker AI que o suporte a transmissão bidirecional está habilitado: com.amazonaws.sagemaker.capabilities.bidirectional-streaming=true.

    Após criar a imagem, você pode implantar o contêiner em um endpoint do SageMaker AI através de um script Python que cria o modelo, a configuração do endpoint e finalmente o endpoint propriamente dito.

    Invocando o Endpoint com a Nova API

    Uma vez que o endpoint do SageMaker AI esteja em estado InService, você pode proceder à invocação do endpoint para testar a funcionalidade de transmissão bidirecional. O cliente Python conecta-se ao endpoint do SageMaker AI e envia dados em chunks, recebendo respostas simultâneas.

    #!/usr/bin/env python3
    """
    Script Python para Transmissão Bidirecional no SageMaker AI.
    Conecta-se a um endpoint do SageMaker AI para comunicação bidirecional.
    """
    
    import argparse
    import asyncio
    import sys
    from aws_sdk_sagemaker_runtime_http2.client import SageMakerRuntimeHTTP2Client
    from aws_sdk_sagemaker_runtime_http2.config import Config, HTTPAuthSchemeResolver
    from aws_sdk_sagemaker_runtime_http2.models import InvokeEndpointWithBidirectionalStreamInput, RequestStreamEventPayloadPart, RequestPayloadPart
    from smithy_aws_core.identity import EnvironmentCredentialsResolver
    from smithy_aws_core.auth.sigv4 import SigV4AuthScheme
    import logging
    
    def parse_arguments():
        """Analisa argumentos da linha de comando."""
        parser = argparse.ArgumentParser(
            description="Conecta-se a um endpoint do SageMaker AI para transmissão bidirecional"
        )
        parser.add_argument(
            "ENDPOINT_NAME",
            help="Nome do endpoint do SageMaker AI para conectar"
        )
        return parser.parse_args()
    
    AWS_REGION = "us-west-2"
    BIDI_ENDPOINT = f"https://runtime.sagemaker.{AWS_REGION}.amazonaws.com:8443"
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger(__name__)
    
    class SimpleClient:
        def __init__(self, endpoint_name, region=AWS_REGION):
            self.endpoint_name = endpoint_name
            self.region = region
            self.client = None
            self.stream = None
            self.response = None
            self.is_active = False
    
        def _initialize_client(self):
            config = Config(
                endpoint_uri=BIDI_ENDPOINT,
                region=self.region,
                aws_credentials_identity_resolver=EnvironmentCredentialsResolver(),
                auth_scheme_resolver=HTTPAuthSchemeResolver(),
                auth_schemes={"aws.auth#sigv4": SigV4AuthScheme(service="sagemaker")}
            )
            self.client = SageMakerRuntimeHTTP2Client(config=config)
    
        async def start_session(self):
            if not self.client:
                self._initialize_client()
            logger.info(f"Iniciando sessão com endpoint: {self.endpoint_name}")
            self.stream = await self.client.invoke_endpoint_with_bidirectional_stream(
                InvokeEndpointWithBidirectionalStreamInput(endpoint_name=self.endpoint_name)
            )
            self.is_active = True
            self.response = asyncio.create_task(self._process_responses())
    
        async def send_words(self, words):
            for i, word in enumerate(words):
                logger.info(f"Enviando payload: {word}")
                await self.send_event(word.encode('utf-8'))
                await asyncio.sleep(1)
    
        async def send_event(self, data_bytes):
            payload = RequestPayloadPart(bytes_=data_bytes)
            event = RequestStreamEventPayloadPart(value=payload)
            await self.stream.input_stream.send(event)
    
        async def end_session(self):
            if not self.is_active:
                return
            await self.stream.input_stream.close()
            logger.info("Stream fechado")
    
        async def _process_responses(self):
            try:
                output = await self.stream.await_output()
                output_stream = output[1]
                while self.is_active:
                    result = await output_stream.receive()
                    if result is None:
                        logger.info("Sem mais respostas")
                        break
                    if result.value and result.value.bytes_:
                        response_data = result.value.bytes_.decode('utf-8')
                        logger.info(f"Recebido: {response_data}")
            except Exception as e:
                logger.error(f"Erro ao processar respostas: {e}")
    
    def main():
        """Função principal para analisar argumentos e executar o cliente de streaming."""
        args = parse_arguments()
        print("=" * 60)
        print("Cliente de Transmissão Bidirecional SageMaker AI")
        print("=" * 60)
        print(f"Nome do Endpoint: {args.ENDPOINT_NAME}")
        print(f"Região AWS: {AWS_REGION}")
        print("=" * 60)
    
        async def run_client():
            sagemaker_client = SimpleClient(endpoint_name=args.ENDPOINT_NAME)
            try:
                await sagemaker_client.start_session()
                words = ["Preciso de ajuda com", "meu saldo da conta", "Posso ajudar com isso", "e cobranças recentes"]
                await sagemaker_client.send_words(words)
                await asyncio.sleep(2)
                await sagemaker_client.end_session()
                sagemaker_client.is_active = False
                if sagemaker_client.response and not sagemaker_client.response.done():
                    sagemaker_client.response.cancel()
                logger.info("Sessão encerrada com sucesso")
                return 0
            except Exception as e:
                logger.error(f"Erro no cliente: {e}")
                return 1
    
        try:
            exit_code = asyncio.run(run_client())
            sys.exit(exit_code)
        except KeyboardInterrupt:
            logger.info("Interrompido pelo usuário")
            sys.exit(1)
        except Exception as e:
            logger.error(f"Erro inesperado: {e}")
            sys.exit(1)
    
    if __name__ == "__main__":
        main()
    Imagem original — fonte: Aws

    Integração com Modelos Deepgram no SageMaker AI

    Parceria e Capacidades

    A AWS e a Deepgram colaboraram para construir suporte de transmissão bidirecional especificamente para endpoints do SageMaker AI. A Deepgram, parceira de Tier Avançado da AWS, oferece modelos de IA de voz em nível empresarial com precisão e velocidade líderes do setor. Seus modelos alimentam aplicações de transcrição em tempo real, conversão de texto para fala e agentes de voz para contact centers, plataformas de mídia e aplicações de IA conversacional.

    Para clientes com requisitos rigorosos de conformidade que exigem que o processamento de áudio nunca saia de sua Nuvem Privada Virtual (VPC) na AWS, as opções tradicionais auto-hospedadas demandavam sobrecarga operacional considerável para configuração e manutenção. A transmissão bidirecional do Amazon SageMaker transforma completamente essa experiência, permitindo que os clientes implantem e escalem aplicações de IA em tempo real com apenas alguns poucos cliques no Console de Gerenciamento da AWS.

    O modelo de fala para texto Deepgram Nova-3 está disponível atualmente no AWS Marketplace para implantação como um endpoint do SageMaker AI, com modelos adicionais chegando em breve. As capacidades incluem transcrição multilíngue, desempenho em escala empresarial e reconhecimento específico de domínio. A Deepgram oferece um período de avaliação gratuita de 14 dias no Amazon SageMaker AI para desenvolvedores prototiparem aplicações sem incorrer em custos de licença de software. As cobranças de infraestrutura do tipo de máquina escolhido ainda serão incorridas durante esse período. Para mais detalhes, consulte a documentação de preços do Amazon SageMaker AI.

    Configurando um Endpoint Deepgram no SageMaker AI

    Para configurar um endpoint Deepgram no SageMaker AI, navegue até a seção de pacotes de modelos do AWS Marketplace dentro do console do Amazon SageMaker AI e procure por Deepgram. Inscreva-se no produto e proceda ao assistente de lançamento na página do produto. Continue fornecendo detalhes no assistente de criação de endpoint de inferência em tempo real do Amazon SageMaker AI. Certifique-se de editar a variante de produção para incluir um tipo de instância válido ao criar sua configuração de endpoint. O botão de edição pode estar oculto até que você role a direita na tabela de variantes de produção. O ml.g6.2xlarge é um tipo de instância preferido para testes iniciais. Consulte a documentação Deepgram para requisitos específicos de hardware e orientação de seleção. Na página de resumo do endpoint, anote o nome do endpoint que você forneceu, pois será necessário na seção seguinte.

    Usando o Endpoint Deepgram no SageMaker AI

    Uma aplicação TypeScript de exemplo mostra como transmitir um arquivo de áudio para o modelo Deepgram hospedado em um endpoint de inferência em tempo real do SageMaker AI e imprimir uma transcrição transmitida em tempo real. A função cria um fluxo do arquivo WAV abrindo um arquivo de áudio local e enviando-o para o Amazon SageMaker AI Inference em pequenos blocos binários.

    import * as fs from "fs";
    import * as path from "path";
    import { RequestStreamEvent } from '@aws-sdk/client-sagemaker-runtime-http2';
    
    function sleep(ms: number): Promise {
      return new Promise(resolve => setTimeout(resolve, ms));
    }
    
    async function* streamWavFile(filePath: string): AsyncIterable {
      const full = path.resolve(filePath);
      if (!fs.existsSync(full)) {
        throw new Error(`Arquivo de áudio não encontrado: ${full}`);
      }
      console.log(`Transmitindo áudio: ${full}`);
      const readStream = fs.createReadStream(full, { highWaterMark: 512_000 }); // 512 KB
      for await (const chunk of readStream) {
        yield { PayloadPart: { Bytes: chunk, DataType: "BINARY" } };
      }
      // Mantenha o stream ativo para receber respostas de transcrição após todo arquivo ser enviado
      console.log("Áudio enviado, aguardando conclusão da transcrição...");
      await sleep(15000); // Aguarde 15 segundos para processamento do bloco final de áudio
      // Avise ao contêiner que terminamos
      yield { PayloadPart: { Bytes: new TextEncoder().encode('{"type":"CloseStream"}'), DataType: "UTF8" } };
    }

    O cliente de tempo de execução do AWS SageMaker AI é configurado especificando a região AWS, o nome do endpoint do SageMaker AI e a rota do modelo Deepgram dentro do contêiner. Você precisa atualizar esses valores conforme necessário.

    import { SageMakerRuntimeHTTP2Client, InvokeEndpointWithBidirectionalStreamCommand } from '@aws-sdk/client-sagemaker-runtime-http2';
    
    const region = "us-east-1"; // Região AWS
    const endpointName = "REPLACEME"; // Nome do seu endpoint Deepgram SageMaker
    const audioFile = "test.wav"; // Arquivo de áudio local
    const modelInvocationPath = "v1/listen"; // Caminho WebSocket dentro do contêiner do modelo
    const modelQueryString = "model=nova-3";
    const client = new SageMakerRuntimeHTTP2Client({ region });

    O trecho final envia o fluxo de áudio ao endpoint do SageMaker AI e imprime os eventos JSON de transmissão da Deepgram conforme chegam. A aplicação exibe a saída de fala para texto ao vivo sendo gerada.

    async function run() {
      console.log("Enviando áudio para Deepgram via SageMaker...");
      const command = new InvokeEndpointWithBidirectionalStreamCommand({
        EndpointName: endpointName,
        Body: streamWavFile(audioFile),
        ModelInvocationPath: modelInvocationPath,
        ModelQueryString: modelQueryString
      });
      const response = await client.send(command);
      if (!response.Body) {
        console.log("Nenhuma resposta de streaming recebida.");
        return;
      }
      const decoder = new TextDecoder();
      for await (const msg of response.Body) {
        if (msg.PayloadPart?.Bytes) {
          const text = decoder.decode(msg.PayloadPart.Bytes);
          try {
            const parsed = JSON.parse(text);
            // Extraia e exiba a transcrição
            if (parsed.channel?.alternatives?.[0]?.transcript) {
              const transcript = parsed.channel.alternatives[0].transcript;
              if (transcript.trim()) {
                console.log("Transcrição:", transcript);
              }
            }
            console.debug("Deepgram (bruto):", parsed);
          } catch {
            console.error("Deepgram (erro):", text);
          }
        }
      }
    }
    console.log("Streaming concluído.");
    }
    run().catch(console.error);

    Para informações mais detalhadas e exemplos adicionais, consulte a página de documentação Deepgram. Se precisar de suporte adicional com a configuração, conecte-se com a Comunidade de Desenvolvedores Deepgram.

    Conclusão

    A transmissão bidirecional no Amazon SageMaker AI Inference representa um avanço significativo na forma como os desenvolvedores podem construir aplicações de IA em tempo real. Ao eliminar as limitações das interações transacionais tradicionais, essa capacidade abre possibilidades para experiências de usuário genuinamente conversacionais e responsivas.

    Com suporte para contêineres customizados e integração pronta com modelos parceiros como o Deepgram, a plataforma oferece flexibilidade tanto para quem deseja trazer seus próprios modelos quanto para quem busca soluções prontas para produção. A infraestrutura de três camadas garante eficiência, enquanto o monitoramento automático de conexão assegura confiabilidade.

    Developers podem começar a construir aplicações de transmissão bidirecional com Modelos de Linguagem Grande (LLMs) e SageMaker AI hoje mesmo, abrindo novos horizontes para agentes de voz, assistentes conversacionais e qualquer aplicação que se beneficie de comunicação em tempo real verdadeiramente bidirecional.

    Fonte

    Introducing bidirectional streaming for real-time inference on Amazon SageMaker AI (https://aws.amazon.com/blogs/machine-learning/introducing-bidirectional-streaming-for-real-time-inference-on-amazon-sagemaker-ai/)

  • Gerenciamento de clusters SageMaker HyperPod com o novo servidor MCP de IA da Amazon

    Novo servidor MCP do SageMaker com suporte a HyperPod

    A AWS ampliou as capacidades do servidor MCP (Model Context Protocol) de IA do SageMaker, adicionando ferramentas especializadas para configuração e gerenciamento de clusters HyperPod. Esse avanço permite que assistentes de código alimentados por IA possam provisionar e operar clusters de IA e aprendizado de máquina completos, desde o treinamento inicial até a implantação de modelos em produção.

    O que é SageMaker HyperPod e por que importa

    O SageMaker HyperPod foi desenvolvido pela AWS para eliminar tarefas repetitivas e de baixo nível no processo de construção de modelos de IA generativa. A solução escala rapidamente tarefas como treinamento, ajuste fino e implantação de modelos em grupos de aceleradores de IA. Com a integração ao servidor MCP de IA, agora é possível que assistentes de código configurem e gerenciem essa infraestrutura complexa de forma intuitiva.

    Como funcionam os servidores MCP na AWS

    Os servidores MCP no ecossistema da AWS oferecem uma interface padronizada que amplifica a capacidade de desenvolvimento assistido por IA. Equipam os assistentes de código com compreensão em tempo real e contextualizada de diferentes serviços AWS, integrando-se perfeitamente ao fluxo de trabalho dos desenvolvedores.

    Capacidades do novo servidor MCP de IA do SageMaker

    Configuração simplificada de clusters

    O servidor MCP do SageMaker oferece ferramentas que simplificam o ciclo de vida completo das operações de cluster de IA/ML. Os agentes de IA conseguem configurar clusters HyperPod orquestrados tanto pelo Amazon EKS (Elastic Kubernetes Service) quanto pelo Slurm, com todos os pré-requisitos inclusos. A solução usa modelos CloudFormation que otimizam automaticamente rede, armazenamento e recursos de computação, garantindo que os clusters estejam prontos para cargas de trabalho de treinamento distribuído de alta performance.

    Gerenciamento e operações contínuas

    Além da configuração inicial, o servidor oferece ferramentas abrangentes para administração de clusters e nós, incluindo operações de dimensionamento, aplicação de patches de software e manutenção diversa. Quando integrado ao API MCP Server da AWS, ao Knowledge MCP Server e ao Amazon EKS MCP Server, você ganha cobertura completa de todas as APIs do SageMaker HyperPod, permitindo diagnóstico eficaz de problemas comuns—como identificar por que um nó se tornou inacessível.

    Benefícios para diferentes perfis

    Administradores de cluster

    Para equipes de administração, as ferramentas simplificam operações diárias, reduzindo overhead manual e facilitando a manutenção de infraestrutura em larga escala.

    Cientistas de dados

    Para profissionais de ciência de dados, a solução permite configurar e escalar clusters de IA/ML sem necessidade de expertise profunda em infraestrutura, liberando tempo para focar no que realmente importa: treinar e implantar modelos eficientes.

    Disponibilidade e próximos passos

    O gerenciamento de clusters de IA/ML através do servidor MCP do SageMaker está disponível em todas as regiões onde o SageMaker HyperPod opera. Para começar, consulte a documentação do servidor MCP do SageMaker.

    Fonte

    Manage Amazon SageMaker HyperPod clusters with the new Amazon SageMaker AI MCP Server (https://aws.amazon.com/about-aws/whats-new/2025/11/manage-amazon-sagemaker-hyperpod-clusters-mcp-server/)

  • Amazon OpenSearch Service apresenta Busca Agentica

    Busca Agentica: Uma Nova Forma de Interagir com Dados

    A AWS anunciou o lançamento do recurso Agentic Search no Amazon OpenSearch Service, revolucionando a maneira como os usuários buscam e interagem com seus dados. Esse novo sistema utiliza agentes inteligentes orientados por linguagem natural, eliminando a necessidade de conhecer a sintaxe complexa de consultas tradicionais.

    Como Funciona o Agentic Search

    O Agentic Search introduz um sistema de busca orientado por agentes que compreende a intenção do usuário, orquestra o conjunto adequado de ferramentas, gera consultas em DSL (Linguagem de Domínio Específico) do OpenSearch e fornece resumos transparentes do seu processo de tomada de decisão através de cláusulas simples e consultas em linguagem natural.

    Ao automatizar o planejamento e a execução de consultas do OpenSearch, o recurso dispensa a necessidade de sintaxe de busca complexa. Usuários podem fazer perguntas simples como “Encontre carros vermelhos por menos de 30 mil reais” ou “Mostre tendências de vendas do último trimestre”. O agente interpreta a intenção, aplica as estratégias de busca mais adequadas e entrega os resultados enquanto explica seu raciocínio.

    Tipos de Agentes Disponíveis

    Agentes Conversacionais

    Esses agentes lidam com interações complexas e possuem a capacidade de armazenar conversas em memória, permitindo contexto contínuo entre múltiplas consultas.

    Agentes de Fluxo

    Projetados para processamento eficiente de consultas, os agentes de fluxo oferecem respostas rápidas e diretas.

    Tecnologia e Acessibilidade

    O QueryPlanningTool integrado utiliza modelos de linguagem grandes (LLMs) para criar consultas em DSL, tornando a busca acessível independentemente do nível de expertise técnica do usuário. As buscas agênticas podem ser gerenciadas através de APIs ou do OpenSearch Dashboards, permitindo configuração e modificação dos agentes conforme necessário.

    As configurações avançadas do Agentic Search permitem conexão com servidores MCP externos e o uso de modelos de busca personalizados, oferecendo flexibilidade para casos de uso mais sofisticados.

    Disponibilidade e Recursos

    O suporte para Agentic Search está disponível para OpenSearch Service versão 3.3 e posteriores em todas as regiões comerciais da AWS e na AWS GovCloud (US) onde o OpenSearch Service opera. Para uma listagem completa das regiões, consulte a documentação de infraestrutura global.

    Usuários podem construir agentes e executar buscas agênticas utilizando o novo caso de uso de Agentic Search disponível no plugin AI Search Flows. Para aprender mais sobre o Agentic Search, consulte a documentação técnica do OpenSearch.

    Fonte

    Amazon OpenSearch Service introduces Agentic Search (https://aws.amazon.com/about-aws/whats-new/2025/11/opensearch-service-agentic-search/)

  • Amazon SageMaker AI Inference agora suporta streaming bidirecional para transcrição em tempo real

    Transcrição de fala em tempo real: o desafio dos agentes de voz

    À medida que empresas expandem o desenvolvimento de agentes de voz com inteligência artificial, surge um desafio crítico: oferecer transcrição de fala em tempo real com o menor atraso possível. O intervalo entre o usuário falar e o agente responder é fundamental para criar experiências naturais e intuitivas. Historicamente, equipes de engenharia precisavam construir soluções customizadas para gerenciar este processamento contínuo, investindo semanas em desenvolvimento e manutenção de infraestrutura específica para protocolos de streaming — tempo que poderia ser dedicado à melhoria da precisão dos modelos.

    A solução: streaming bidirecional no SageMaker AI Inference

    A AWS introduziu suporte a streaming bidirecional no Amazon SageMaker AI Inference, transformando a forma como modelos de fala são implantados em produção. Esse recurso permite que modelos de transcrição de fala recebam fluxos de áudio contínuos e retornem transcrições parciais simultaneamente enquanto o usuário está falando — eliminando a necessidade de entrada em lotes e processamento aguardando o término da fala.

    Como funciona a implementação

    O modelo operacional é elegante em sua simplicidade. Cientistas de dados e engenheiros de machine learning podem implantar modelos de fala-para-texto invocando o endpoint através da nova API Bidirectional Stream. O cliente abre uma conexão HTTP/2 com o runtime do SageMaker AI, que automaticamente cria uma conexão WebSocket para o container. Este container processa quadros de áudio em streaming e retorna transcrições parciais conforme são geradas.

    O design é agnóstico ao modelo: qualquer container que implemente um handler WebSocket seguindo o contrato do SageMaker AI funciona automaticamente. Modelos de speech em tempo real como o Deepgram funcionam sem necessidade de modificações, demonstrando a flexibilidade da abordagem.

    Impacto prático: eliminando meses de desenvolvimento

    Essa implementação elimina meses de desenvolvimento de infraestrutura customizada. Equipes que gastavam semanas mantendo protocolos de WebSocket, gerenciando conexões e otimizando latência agora podem concentrar seus esforços onde realmente importa: melhorando a precisão do modelo, refinando as capacidades do agente e criando experiências de usuário superiores.

    Disponibilidade global

    O recurso de streaming bidirecional está disponível em mais de 30 regiões AWS distribuídas globalmente, incluindo Canada (Central), South America (São Paulo), Africa (Cape Town), Europe (Paris), Asia Pacific (Hyderabad), Asia Pacific (Jakarta), Israel (Tel Aviv), Europe (Zurich), Asia Pacific (Tokyo), AWS GovCloud US (West), AWS GovCloud US (East), Asia Pacific (Mumbai), Middle East (Bahrain), US West (Oregon), China (Ningxia), US West (Northern California), Asia Pacific (Sydney), Europe (London), Asia Pacific (Seoul), US East (N. Virginia), Asia Pacific (Hong Kong), US East (Ohio), China (Beijing), Europe (Stockholm), Europe (Ireland), Middle East (UAE), Asia Pacific (Osaka), Asia Pacific (Melbourne), Europe (Spain), Europe (Frankfurt), Europe (Milan) e Asia Pacific (Singapore).

    Próximos passos

    Para explorar essa funcionalidade, consulte o blog de notícias da AWS e a documentação do SageMaker AI para detalhes técnicos completos sobre implementação e melhores práticas.

    Fonte

    Amazon SageMaker AI Inference now supports bidirectional streaming (https://aws.amazon.com/about-aws/whats-new/2025/11/sagemaker-ai-inference-bidirectional-streaming/)

  • AWS Network Firewall Proxy chega em prévia pública com controles centralizados de segurança

    Nova camada de proteção contra ameaças de rede

    A AWS anunciou o lançamento do Network Firewall Proxy em prévia pública, um novo recurso que reforça significativamente a postura defensiva das organizações contra ameaças de exfiltração de dados e injeção de malware. O serviço foi projetado para funcionar em modo explícito, permitindo que seja configurado em apenas alguns cliques.

    O destaque principal do Network Firewall Proxy é sua capacidade de gerenciar e proteger o tráfego de dados que sai das aplicações, bem como as respostas que essas aplicações recebem. Isso oferece um controle muito mais preciso sobre as comunicações de rede que atravessam a infraestrutura corporativa.

    Capacidades e controles granulares

    Proteção contra spoofing e acesso não autorizado

    O Network Firewall Proxy da AWS protege as organizações contra tentativas de falsificação de nomes de domínio ou do índice de nome do servidor (SNI — Server Name Index). Além disso, oferece flexibilidade para implementar controles de acesso muito específicos e adaptados às necessidades de cada ambiente.

    Um dos casos de uso mais importantes é a restrição de acesso das aplicações apenas para domínios ou endereços IP confiáveis. O recurso também permite bloquear respostas não intencionais provenientes de servidores externos, criando uma barreira efetiva contra comunicações não autorizadas.

    Inspeção de TLS e filtragem avançada

    O serviço permite ativar a inspeção de TLS (Transport Layer Security) e estabelecer controles granulares de filtragem baseados em atributos de cabeçalho HTTP. Isso significa que é possível examinar e controlar comunicações mesmo quando criptografadas, ampliando as possibilidades de proteção sem sacrificar a privacidade.

    Monitoramento e análise detalhada

    O Network Firewall Proxy oferece registros abrangentes para monitoramento contínuo das aplicações. Esses logs podem ser direcionados para o Amazon S3 (Simple Storage Service) e o AWS CloudWatch, permitindo análises detalhadas e facilitando processos de auditoria. Essa rastreabilidade é especialmente importante para organizações que precisam atender requisitos regulatórios rigorosos.

    Disponibilidade e próximos passos

    O Network Firewall Proxy está disponível em prévia pública na região US East (Ohio) e, durante este período, é oferecido gratuitamente. Organizações interessadas são convidadas a testar o recurso em ambientes de teste para avaliar seu impacto nas estratégias de segurança de rede.

    Para maiores detalhes sobre implementação e funcionalidades técnicas, consulte a documentação técnica do AWS Network Firewall Proxy.

    Fonte

    Introducing AWS Network Firewall Proxy in preview (https://aws.amazon.com/about-aws/whats-new/2025/11/aws-network-firewall-proxy-preview)

  • Secrets Manager agora oferece gerenciamento de credenciais externas de terceiros

    Desafios no gerenciamento de credenciais de terceiros

    Embora o AWS Secrets Manager se destaque no gerenciamento do ciclo de vida de segredos dos serviços de Amazon Web Services (AWS), o armazenamento de credenciais de provedores de software terceirizados apresenta desafios singulares para organizações que expandem o uso de aplicações em nuvem.

    Organizações que utilizam múltiplos serviços de terceiros frequentemente desenvolvem abordagens de segurança distintas para cada provedor, pois não existia uma forma padronizada de gerenciar essas credenciais. Ao armazenar credenciais de terceiros no Secrets Manager, as organizações precisam manter metadados adicionais dentro dos valores dos segredos para facilitar as conexões com os serviços. Essa abordagem exige atualização completa dos valores dos segredos sempre que os metadados mudam, além da implementação de processos de rotação específicos para cada provedor que são manuais e demorados.

    Organizações que buscam automatizar a rotação de segredos frequentemente precisam desenvolver funções personalizadas adaptadas a cada provedor de software terceirizado, exigindo conhecimento especializado tanto dos sistemas terceirizados quanto dos sistemas AWS.

    Introdução aos segredos externos gerenciados

    Para ajudar os clientes a simplificar o gerenciamento de segredos de terceiros, a AWS introduz uma nova funcionalidade no AWS Secrets Manager chamada segredos externos gerenciados. Este novo tipo de segredo estende a experiência contínua do gerenciamento de rotação para aplicações de software terceirizadas como Salesforce, simplificando os desafios de gerenciamento de segredos por meio de formatos padronizados e rotação automática.

    A AWS Secrets Manager já possuía um histórico comprovado de ajudar clientes a proteger e gerenciar segredos de serviços AWS como Amazon Relational Database Service (Amazon RDS) ou Amazon DocumentDB por meio de capacidades de rotação gerenciada. Construindo sobre esse sucesso, a funcionalidade de segredos externos gerenciados permite que os clientes armazenem segredos fornecidos por provedores de software terceirizados em formatos predefinidos.

    Características principais

    Esses formatos foram desenvolvidos em colaboração com parceiros de integração confiáveis para definir tanto a estrutura do segredo quanto os metadados necessários para rotação, eliminando a necessidade de definir estratégias de armazenamento personalizadas. A funcionalidade oferece integração automática com provedores de software, reduzindo a sobrecarga operacional enquanto beneficia de controles de segurança essenciais, incluindo:

    Além disso, os clientes podem implementar práticas centralizadas e consistentes de gerenciamento de segredos tanto para segredos AWS quanto de terceiros a partir de um único serviço, eliminando a necessidade de operar múltiplas soluções de gerenciamento de segredos em suas organizações.

    Os segredos externos gerenciados seguem o padrão de precificação do Secrets Manager, sem custos adicionais pelo uso deste novo tipo de segredo.

    Pré-requisitos

    Para criar um segredo externo gerenciado, você precisa de:

    • Uma conta AWS ativa com acesso apropriado ao Secrets Manager
    • Permissões suficientes para criar e gerenciar segredos, incluindo acesso ao AWS Management Console ou acesso programático através da AWS Command Line Interface (AWS CLI) ou AWS SDKs
    • Permissões mínimas do Identidade e Acesso da AWS (IAM) para as ações: secretsmanager:DescribeSecret, secretsmanager:GetSecretValue, secretsmanager:UpdateSecret, e secretsmanager:UpdateSecretVersionStage
    • Credenciais válidas e permissões de acesso necessárias para o provedor de software terceirizado
    • Para criptografia de segredos, você deve decidir entre usar uma chave AWS managed ou customer managed do AWS Key Management Service (AWS KMS)
    • Para chaves gerenciadas pelo cliente, você deve ter as políticas de chave necessárias configuradas, permitindo que o Secrets Manager use a chave para operações de criptografia e descriptografia

    Criando um segredo externo gerenciado

    Atualmente, os segredos externos gerenciados suportam três parceiros de integração: Salesforce, Snowflake e BigID. A AWS continua expandindo sua lista de parceiros e mais provedores de software terceirizados serão adicionados ao longo do tempo. Consulte a página de Parceiros de Integração para obter a lista mais recente.

    Selecionando o tipo de segredo

    Acesse o serviço AWS Secrets Manager no console e selecione “Armazenar um novo segredo”. Na seção de tipo de segredo, escolha “Segredo externo gerenciado”. Na seção de credencial de provedor terceirizado integrado, selecione seu provedor nas opções disponíveis.

    Para este exemplo, usaremos as Credenciais de Aplicativo Cliente Externo do Salesforce. Insira suas configurações na seção de detalhes do segredo. As credenciais incluem vários componentes-chave:

    • Chave do consumidor (ID do cliente): Serve como identificador de credencial para OAuth 2.0. Você pode recuperá-la diretamente do gerenciador de aplicativos cliente externo Salesforce nas configurações OAuth
    • Segredo do consumidor (segredo do cliente): Funciona como senha privada para autenticação OAuth 2.0, recuperável nas mesmas configurações OAuth
    • Base URI: A URL base da sua organização Salesforce (formatada como https://MyDomainName.my.salesforce.com), usada para interagir com as APIs Salesforce
    • ID da aplicação: Identifica suas Aplicações de Cliente Externo Salesforce (ECAs) e pode ser recuperado chamando o endpoint de uso OAuth Salesforce
    • ID do consumidor: Identifica sua ECA Salesforce e pode ser recuperado chamando o endpoint de credenciais OAuth Salesforce por ID da aplicação

    Para uma lista completa de comandos, consulte a documentação Salesforce sobre Como Fazer Stage, Girar e Deletar Credenciais OAuth para um Aplicativo de Cliente Externo.

    Configurando o segredo

    Selecione a chave de criptografia no menu suspenso. Você pode usar uma chave AWS KMS gerenciada ou uma chave AWS KMS gerenciada pelo cliente. Prossiga para a próxima etapa.

    Forneça um nome descritivo e, opcionalmente, uma descrição detalhada que ajude a identificar o propósito e uso do segredo. Você também tem opções de configuração adicionais: pode anexar tags para melhor organização de recursos, definir permissões específicas de recurso para controlar o acesso e selecionar a opção de replicar segredo para resiliência em múltiplas regiões.

    Configurando rotação e permissões (opcional)

    Na etapa opcional de configuração de rotação, o novo tipo de segredo introduz duas seções principais focadas no gerenciamento de metadados, que são armazenados separadamente do valor do segredo propriamente dito.

    Sob metadados de rotação, especifique a versão da API que seu aplicativo Salesforce está usando. A versão mínima necessária é v65.0. Você pode encontrar a versão consultando a documentação Salesforce para Listar Versões Disponíveis da API REST.

    Selecione um ARN de segredo do administrador, que contém as credenciais OAuth administrativas usadas para girar o segredo do cliente Salesforce. Na seção de permissões de serviço para rotação de segredo, o Secrets Manager cria automaticamente uma função com permissões necessárias para girar seus valores de segredo. Essas permissões padrão são exibidas transparentemente na interface para revisão. Você pode desmarcar as permissões padrão para ter mais controle granular sobre o gerenciamento de rotação de segredo.

    Revisando e confirmando

    Na etapa final, você receberá um resumo da configuração de seu segredo. Na página de revisão, você pode verificar os parâmetros antes de prosseguir com a criação do segredo. Após confirmar que as configurações estão corretas, selecione “Armazenar” para concluir o processo e criar seu segredo com as configurações especificadas.

    Após a criação bem-sucedida, seu segredo aparecerá na aba de segredos. Você pode visualizar, gerenciar e monitorar aspectos do seu segredo, incluindo sua configuração, status de rotação e permissões. Após a criação, revise sua configuração de segredo, incluindo configurações de criptografia e políticas de recursos para acesso entre contas, e examine o código de amostra fornecido para diferentes SDKs AWS para integrar a recuperação de segredo em suas aplicações.

    A aba de segredos fornece uma visão geral de seus segredos, permitindo gerenciamento centralizado. Selecione seu segredo para visualizar os detalhes do segredo. Seu segredo externo gerenciado foi criado com sucesso no Secrets Manager. Você pode acessar e gerenciar este segredo através do console do Secrets Manager ou programaticamente usando as APIs AWS.

    Para parceiros terceirizados: Integrando com o Secrets Manager

    Com o novo tipo de segredo externo gerenciado, provedores de software terceirizados podem se integrar ao Secrets Manager e oferecer aos seus clientes uma forma programática de gerenciar com segurança os segredos fornecidos pelas suas aplicações na AWS. Essa integração fornece aos clientes uma solução centralizada para gerenciar tanto o ciclo de vida de segredos AWS quanto de terceiros, incluindo capacidades de rotação automática a partir do momento da criação do segredo.

    Provedores de software como Salesforce já estão usando essa capacidade. Não há custos adicionais para integração como parceiro do Secrets Manager. Para começar, os parceiros devem seguir o processo listado no guia de integração de parceiros. Se você tiver dúvidas sobre se tornar um parceiro de integração, entre em contato com a equipe através do aws-secrets-mgr-partner-onboarding@amazon.com com o assunto: [Nome do Parceiro] Solicitação de Integração.

    Conclusão

    Os segredos externos gerenciados representam um avanço significativo na forma como as organizações podem gerenciar credenciais de provedores terceirizados. Ao eliminar a necessidade de definir estratégias de armazenamento personalizadas e desenvolver funções de rotação complexas, os clientes agora podem gerenciar consistentemente seus segredos, independentemente de serem de serviços AWS, aplicações personalizadas ou provedores terceirizados, a partir de um único serviço.

    A funcionalidade oferece os mesmos recursos de segurança que os segredos padrão do Secrets Manager, incluindo gerenciamento de permissões granulares, observabilidade e controles de conformidade, enquanto adiciona integração integrada com parceiros confiáveis sem custos adicionais. O recurso está disponível em todas as regiões AWS onde o AWS Secrets Manager está disponível.

    Para começar, consulte a documentação técnica. Para informações sobre migração de seus segredos de parceiros existentes para segredos externos gerenciados, consulte Migrando segredos existentes. Para uma lista de regiões onde o Secrets Manager está disponível, consulte a tabela de regiões AWS.

    Se você tiver dúvidas sobre este artigo, inicie uma nova discussão no Secrets Manager re:Post ou entre em contato com o Suporte AWS.

    Fonte

    AWS Secrets Manager launches Managed External Secrets for Third-Party Credentials (https://aws.amazon.com/blogs/security/aws-secrets-manager-launches-managed-external-secrets-for-third-party-credentials/)

  • Potencialize seus fluxos de aprendizado de máquina com IDEs interativas no SageMaker HyperPod

    Ambientes de desenvolvimento gerenciados para ciência de dados

    A Amazon SageMaker HyperPod com orquestração via Amazon Elastic Kubernetes Service (EKS) agora oferece suporte à criação e gerenciamento de ambientes de desenvolvimento interativos, incluindo JupyterLab e Visual Studio Code de código aberto. Essa integração simplifica o ciclo de vida do desenvolvimento de aprendizado de máquina, fornecendo ambientes gerenciados que trabalham com as ferramentas que os cientistas de dados já conhecem e utilizam.

    A novidade central é um novo complemento chamado Amazon SageMaker Spaces, que permite aos desenvolvedores de IA criar e gerenciar ambientes isolados e configuráveis para execução de notebooks e desenvolvimento interativo. A integração permite que as organizações otimizem seus investimentos em GPU ao executar simultaneamente cargas de trabalho interativas e jobs de treinamento na mesma infraestrutura, com suporte para alocações fracionadas de GPU. Isso reduz significativamente a complexidade de gerenciar múltiplos ambientes de desenvolvimento, permitindo que as equipes se concentrem na construção e implantação de modelos de IA e aprendizado de máquina.

    Como funcionam os Spaces

    Os Spaces operam através de uma arquitetura coordenada entre diferentes componentes. O processo começa quando um administrador de cluster instala o complemento Spaces a partir do console do SageMaker AI, escolhendo entre uma instalação rápida ou uma instalação personalizada.

    Uma vez que o cluster está configurado, cientistas de dados e desenvolvedores de IA podem criar Spaces utilizando a Interface de Linha de Comando (CLI) do HyperPod ou kubectl. Após a criação de um Space, os usuários podem se conectar através de duas abordagens principais:

    • Acesso via Interface Web: Esta opção requer configuração de um Balanceador de Carga de Aplicação (ALB) da AWS e registro de um domínio personalizado no Amazon Route 53. Com um domínio configurado, os usuários acessam de forma segura JupyterLab ou Code Editor através do navegador usando uma URL pré-assinada.
    • Conexão de IDE Remota: Para usuários que preferem trabalhar localmente no Visual Studio Code, a conexão utiliza túneis SSH-over-SSM (Sessions Manager), permitindo acesso seguro aos pods do SageMaker Spaces sem necessidade de gerenciar chaves SSH ou expor portas diretamente.

    Pré-requisitos e preparação

    Para implementar essa solução, você precisa de uma conta AWS com permissões adequadas para criar funções de Identidade e Acesso (IAM), recursos do SageMaker como HyperPod, e acesso aos recursos de cluster do EKS. Se estiver criando um novo cluster HyperPod, você também necessitará permissões para criar recursos de rede e armazenamento (consulte a documentação sobre permissões de IAM para criação de cluster).

    O cluster deve estar orquestrado pelo EKS, executando Kubernetes versão 1.30 ou superior. Se não possuir um cluster existente, você pode criar seguindo as instruções para criar um cluster SageMaker HyperPod com orquestração Amazon EKS. Este fluxo criará o cluster HyperPod, o cluster EKS e os recursos associados, como uma Nuvem Privada Virtual (VPC) da Amazon e um volume Amazon FSx for Lustre para armazenamento.

    Você também precisará da CLI do HyperPod instalada (ou kubectl) e de uma IDE local como Visual Studio Code com o AWS Toolkit para VS Code instalado para se conectar aos Spaces.

    Instalação do complemento Spaces

    O processo de instalação começa acessando o console do SageMaker AI, navegando até a seção de Clusters e selecionando seu cluster HyperPod. Na aba “IDE e Notebooks”, você encontrará a opção de instalação rápida, que representa o caminho mais eficiente para começar. Com um único clique, o SageMaker AI cria e configura automaticamente os recursos AWS necessários com padrões otimizados.

    A instalação rápida configura automaticamente as dependências necessárias para o complemento Spaces. Essas incluem funções de IAM específicas para o controller de Spaces (responsável por chamadas de API da AWS e operações do AWS Systems Manager Session Manager), um roteador em cluster para operações de Serviço de Gerenciamento de Chaves (KMS) da AWS e assinatura de JWT, e uma função de instância gerenciada pelo SSM para acesso remoto.

    Os complementos dependentes do EKS também são instalados, incluindo Cert-manager para gerenciamento de certificados, o driver de Armazenamento em Bloco Elástico (EBS) da CSI para volumes de armazenamento persistente, e o Controlador de Balanceador de Carga da AWS para gerenciar Balanceadores de Carga Elásticos. Para detalhes completos sobre configurações de permissão, consulte a documentação de configuração de permissões.

    A instalação rápida não inclui configurações de interface web como registros de DNS no Route 53 e certificados SSL. Administradores podem usar a opção de instalação personalizada ou configurar essas propriedades após a instalação. Para ambientes de produção, recomenda-se a opção de instalação personalizada, permitindo que os administradores configurem políticas de IAM mais granulares seguindo o princípio de menor privilégio. Consulte a documentação de instalação do operador via helm/Console para orientações sobre acesso via navegador web.

    Tipicamente, a instalação completa em 2 a 5 minutos, dependendo da disponibilidade de dependências pré-existentes ou se o complemento Spaces precisará provisionar recursos completamente novos. Após conclusão, administradores conseguem visualizar Spaces criados por cientistas de dados, configurar namespaces para organizar Spaces por equipe ou projeto, e criar templates de Space com configurações pré-definidas para casos de uso comuns.

    Configuração de acesso dos usuários

    Para conceder acesso aos usuários para criar e gerenciar Spaces, você deve configurar entradas de acesso do EKS. Duas políticas de entrada de acesso são necessárias: AmazonSagemakerHyperpodSpacePolicy e AmazonSagemakerHyperpodSpaceTemplatePolicy. Para instruções detalhadas, consulte a documentação sobre criação de entradas de acesso e atualização de entradas de acesso.

    Criação e gerenciamento de Spaces

    Cientistas de dados podem criar JupyterLab e Code Editor Spaces no cluster utilizando kubectl ou a CLI do HyperPod. Para criar um Space, você define o contexto do cluster e executa o comando de criação:

    hyp set-cluster-context --cluster-name <your-hyperpod-cluster-name>
    
    hyp create hyp-space \
      --name "data-science-space" \
      --display-name "Data Science Workspace" \
      --namespace "default"

    Para criar um Space com Code Editor, a sintaxe inclui um template específico:

    hyp create hyp-space \
      --name code-editor-demo \
      --display-name "code-editor space" \
      --memory 8Gi \
      --template-ref name=sagemaker-code-editor-template,namespace=jupyter-k8s-system

    Você também pode personalizar recursos durante a criação do Space, como memória e volumes persistentes:

    hyp create hyp-space \
      --name test-space \
      --display-name "test space" \
      --memory 8Gi \
      --volume name=vol,mountPath=/home/,persistentVolumeClaimName=pvcname

    Uma vez criado um Space, você pode acessá-lo de duas maneiras. Para trabalhar com Visual Studio Code local, execute:

    hyp create hyp-space-access \
      --name data-science-space \
      --connection-type vscode-remote

    Se você configurou um domínio personalizado conforme a documentação, pode obter a URL de acesso para navegador:

    hyp create hyp-space-access \
      --name data-science-space \
      --connection-type web-ui

    Alternativamente, você pode conectar ao Space usando o toolkit da AWS diretamente do Visual Studio Code local. Abra o painel do AWS Toolkit, navegue até SageMaker AI e HyperPod para listar, iniciar, parar e conectar aos Spaces.

    A CLI do HyperPod oferece operações CRUD completas nos Spaces, incluindo atualização, descrição e exclusão. Para uma lista completa de operações, consulte o repositório do HyperPod CLI no Github. Usuários familiarizados com kubectl também podem criar, atualizar e excluir Spaces usando YAML:

    kubectl apply -f - <<EOF
    apiVersion: workspace.jupyter.org/v1alpha1
    kind: Workspace
    metadata:
      name: training-workspace-1
      namespace: hyperpod-training-team
      labels:
        kueue.x-k8s.io/queue-name: hyperpod-ns-training-team-localqueue
        kueue.x-k8s.io/priority-class: ide-priority
    spec:
      displayName: "Training Team Workspace 1"
      image: jupyter/minimal-notebook:latest
      desiredStatus: Running
      resources:
        requests:
          cpu: 3
          memory: 12Gi
        limits:
          cpu: 3
          memory: 12Gi
    EOF

    Boas práticas de implementação

    Gerenciamento de usuários e controle de acesso

    Os Spaces utilizam Entradas de Acesso do EKS para identificar usuários, derivadas de suas identidades de IAM. A identidade capturada pelo EKS pode aparecer como um usuário de IAM ou como um ARN de sessão com role assumido. Para roles assumidas, o nome da sessão pode representar o usuário real quando o administrador aplica políticas de IAM que reforçam nomes de sessão únicos. Se os nomes de sessão não forem impostos ou não mapearem exclusivamente para usuários, o controle de acesso dos Spaces recai para controle baseado em papéis. Consulte a documentação para adicionar usuários e configurar contas de serviço.

    Spaces podem ser privados (acessíveis apenas pelo criador) ou públicos (acessíveis por qualquer usuário com acesso ao namespace Kubernetes). Por padrão, os Spaces são públicos. O criador e o grupo de administrador mantêm controle total, incluindo capacidade de atualizar ou excluir o Space. Um Space torna-se privado apenas quando o acesso é restrito ao criador e grupo de administrador. Múltiplos usuários podem colaborar no mesmo Space se configurado como compartilhado. Quando habilitado com imagens de SageMaker Distribution para ambientes JupyterLab, há suporte a colaboração em tempo real (RTC), permitindo que múltiplos usuários colaborem em experimentos e cargas de trabalho interativas de aprendizado de máquina.

    Templates e controles padrão do administrador

    Templates configurados por administradores ajudam cientistas de dados a utilizar rapidamente configurações de Space pré-definidas para seus casos de uso. A AWS fornece dois templates de sistema pré-criados, um para JupyterLab e outro para Code Editor, permitindo que cientistas de dados iniciem sem configurações adicionais. Administradores também podem criar templates customizados com configurações específicas como imagem, armazenamento e computação. Múltiplos templates podem ser criados com base em casos de uso, projetos ou requisitos de dependência específicos.

    Customização de Spaces

    Administradores e desenvolvedores podem customizar Spaces usando imagens customizadas e scripts de ciclo de vida. Use scripts de ciclo de vida para customizações mínimas como instalar pacotes adicionais, configurar variáveis padrão ou executar tarefas de limpeza, mantendo as capacidades da imagem SageMaker Distribution. Para organizações que possuem imagens padronizadas para desenvolvimento e treinamento, o SageMaker Spaces oferece suporte a imagens customizadas e entry points. Consulte a documentação de customização para especificações de imagens customizadas.

    Desligamento automático de computação ociosa

    Os Spaces suportam desligamento automático de workspaces ociosos para otimizar o uso de recursos. Quando habilitado, o sistema verifica periodicamente a atividade do Space e, se o workspace permanecer ocioso durante o tempo limite especificado, o workspace para automaticamente, liberando recursos de computação para outras tarefas. Administradores podem configurar timeouts padrão e opcionalmente evitar que usuários substituam esses padrões para reforçar políticas de desligamento automático.

    Integração com outros complementos do HyperPod

    Para guardrails contra uso excessivo de recursos, configure governança de tarefas do HyperPod, que fornece controles abrangentes de gerenciamento de recursos. Para ajudar a prevenir que workspaces sejam removidos por mudanças em cargas de trabalho não relacionadas, configure a governança de tarefas para definir cargas de trabalho de aprendizado de máquina interativo com prioridade máxima ou agende-as em namespaces da governança de tarefas com remoção desabilitada.

    Configure o plugin de Observabilidade do HyperPod para monitorar o uso de recursos dos Spaces em execução no cluster. Com instalação de um clique, o plugin de observabilidade fornece visibilidade sobre quantos recursos os Spaces estão consumindo ao longo do tempo, permitindo que administradores observem e ajustem alocações de computação.

    Suporte a GPU fracionada

    O SageMaker Spaces suporta configurações de GPU fracionada, especificamente a tecnologia MIG (Multi-Instance GPU) da NVIDIA. O suporte a GPU fracionada significa que usuários podem compartilhar instâncias de GPU, otimizando o uso de computação enquanto mantêm isolamento entre cargas de trabalho. Experimentos executados em um perfil de GPU fracionada são menos propensos a interferir em outras cargas de trabalho executadas na mesma GPU. Para verificar se uma instância no seu cluster suporta GPU fracionada, execute:

    hyp list-accelerator-partition-type --instance-type <instance type>

    Se seu cluster contiver grupos de instâncias que suportam GPU fracionada, você pode criar um Space com GPU fracionada:

    hyp create hyp-space \
      --name test-space \
      --display-name "mig-testing" \
      --accelerator-partition-type mig-3g.20gb \
      --accelerator-partition-count 1 \
      --memory 8Gi \
      --template-ref sagemaker-code-editor-template

    Limpeza de recursos

    Para evitar custos desnecessários, remova os recursos criados. Exclua todos os Spaces que você criou:

    hyp delete hyp-space \
      --name <space-name>

    Remova o complemento SageMaker HyperPod Spaces navegando até a página de detalhes do cluster, acessando a aba “IDE e Notebooks” e escolhendo “Remover”. Se criou um cluster HyperPod especificamente para teste, delete-o seguindo as instruções em exclusão de um cluster SageMaker HyperPod. Adicionalmente, se usou o console para criar o cluster, acesse o console do AWS CloudFormation e exclua a stack principal para remover recursos adicionais como armazenamento e recursos de rede. A stack estará no formato: sagemaker-<your-hyperpod-cluster-name>-<unique-id>

    Conclusão

    Os Spaces no SageMaker HyperPod potencializam a produtividade de cientistas de dados e desenvolvedores de IA ao fornecer ambientes de desenvolvimento mais seguros e gerenciados em computação de propósito específico. A integração entre ambientes familiares como JupyterLab e VS Code com a infraestrutura de cluster gerenciada simplifica significativamente o ciclo de vida do desenvolvimento. As equipes conseguem reduzir o tempo gasto em configuração de ambiente e focar em construção e implantação de modelos, mantendo ambientes de desenvolvimento consistentes. Através de integração com recursos de governança de tarefas do HyperPod, administradores otimizam custos e alocações equitativas de computação em toda a organização.

    Fonte

    Power up your ML workflows with interactive IDEs on SageMaker HyperPod (https://aws.amazon.com/blogs/machine-learning/power-up-your-ml-workflows-with-interactive-ides-on-sagemaker-hyperpod/)

  • Claude Opus 4.5 agora disponível no Amazon Bedrock

    Claude Opus 4.5 chega ao Amazon Bedrock

    O modelo de linguagem mais recente da Anthropic, o Claude Opus 4.5, está agora disponível no Amazon Bedrock, um serviço gerenciado que oferece acesso a modelos de linguagem de alto desempenho de empresas líderes em inteligência artificial. O Opus 4.5 representa um avanço significativo no que os sistemas de inteligência artificial podem realizar e estabelece novos patamares em programação, agentes de IA, interação com computadores e tarefas de produtividade.

    Este modelo se destaca por superar tanto o Sonnet 4.5 quanto o Opus 4.1, enquanto oferece capacidades equivalentes às do Opus com um terço do custo anterior. Sua arquitetura foi especificamente projetada para desenvolvedores que constroem agentes de IA sofisticados—sistemas capazes de raciocinar, planejar e executar tarefas complexas com mínima supervisão humana.

    O que distingue o Opus 4.5

    Engenharia de software e codificação

    O Opus 4.5 demonstra desempenho excepcional em desenvolvimento profissional de software, alcançando 80,9% no benchmark SWE-bench Verified. Isso significa que o modelo pode transformar projetos de desenvolvimento que levariam vários dias em tarefas executáveis em horas. O modelo trabalha independentemente e inclui capacidades aprimoradas de codificação multilíngue, gerando código mais eficiente, melhor cobertura de testes e arquiteturas mais limpas.

    Produtividade em tarefas empresariais

    Para operações corporativas, o Opus 4.5 gerencia projetos complexos do início ao fim. Ele capacita agentes para criar apresentações em PowerPoint, planilhas em Excel e documentos em Word com acabamento profissional, incluindo revisão detalhada de documentos para contratos e acordos de não divulgação. O modelo também produz artefatos de React e HTML de qualidade superior, mantendo consistência e precisão—aspectos críticos para setores como finanças, onde a exatidão é fundamental. Ele preserva contexto entre arquivos durante projetos longos, garantindo coerência nas decisões.

    Raciocínio visual avançado

    Esta é a melhor capacidade de visão que a Anthropic ofereceu até agora, alcançando 80,7% no benchmark MMMU para fluxos de trabalho que dependem de interpretação visual complexa e navegação em múltiplas etapas. Exemplos incluem análise de mockups de design, processamento de documentos com layouts complexos e automatização de tarefas baseadas em navegação do navegador—com desempenho ainda mais aprimorado em interação com computadores.

    Melhorias para desenvolvimento de agentes

    O modelo introduz dois aprimoramentos-chave para desenvolvedores que criam agentes. A ferramenta de busca de ferramentas permite que agentes trabalhem com centenas de ferramentas descobrindo e carregando dinamicamente apenas aquelas que precisam, em vez de carregar todas as definições antecipadamente—potencialmente economizando dezenas de milhares de tokens e evitando confusão de esquemas ao escalar para grandes bibliotecas de ferramentas. Os exemplos de uso de ferramentas permitem fornecer chamadas de ferramentas exemplares diretamente na definição da ferramenta, melhorando a precisão para esquemas complexos com objetos ou arrays aninhados.

    Benchmarks de desempenho do Claude Opus 4.5 — Fonte: Anthropic

    Casos de uso principais

    Desenvolvimento de software

    O Opus 4.5 é ideal para construir agentes que escrevem e refatoram código em projetos inteiros, gerenciam arquiteturas completas ou projetam sistemas multiagente que decompõem objetivos de alto nível em passos executáveis. A geração Claude abrange o ciclo completo de desenvolvimento: Opus 4.5 para código de produção e agentes sofisticados que usam 10 ou mais ferramentas em fluxos de trabalho como engenharia de software completa, cibersegurança ou análise financeira; Sonnet 4.5 para iteração rápida e experiências de usuário em escala; Haiku 4.5 para subagentos e produtos de acesso gratuito.

    O Opus 4.5 pode analisar documentação técnica, planejar uma implementação de software, escrever o código necessário e refiná-lo iterativamente—mantendo rastreabilidade dos requisitos e contexto arquitetônico durante todo o processo.

    Operações empresariais

    Para gerenciar projetos complexos do início ao fim, o Opus 4.5 utiliza memória para manter contexto e consistência entre arquivos, com melhorias adicionais na criação de planilhas, slides e documentos. O modelo lida com projetos corporativos contínuos, automatizando fluxos de trabalho manuais.

    Análise financeira

    O modelo funciona eficientemente em sistemas complexos de informações—arquivos regulatórios, relatórios de mercado, dados internos—possibilitando modelagem preditiva e conformidade proativa. Sua consistência e precisão o tornam valioso para finanças e outros setores onde a exatidão é fundamental.

    Cibersegurança

    O Opus 4.5 oferece análise de nível profissional em fluxos de trabalho de segurança, correlacionando logs, bancos de dados de problemas de segurança e inteligência de segurança para detecção de eventos de segurança e resposta a incidentes automatizada.

    Integração com o Amazon Bedrock AgentCore

    A AWS fornece a fundação corporativa para implantar o Opus 4.5 em produção através do Amazon Bedrock AgentCore. O serviço gerenciado oferece uma API unificada para modelos de linguagem com segurança de nível corporativo, conformidade e governança.

    O Opus 4.5 se integra ao AgentCore, que fornece infraestrutura e elementos primitivos para construir agentes de produção. O AgentCore inclui memória persistente para manter contexto entre sessões, o Gateway de Ferramentas para converter suas APIs e funções Lambda em ferramentas compatíveis com agentes, e gerenciamento de identidade e acesso integrado para acesso seguro aos recursos.

    Você pode implantar e monitorar agentes com isolamento completo de sessão, suporte para fluxos de trabalho de longa duração (até 8 horas) e recursos de observabilidade—permitindo que você se concentre na construção de agentes em vez de gerenciar infraestrutura.

    O Gateway de Ferramentas converte suas APIs e funções Lambda existentes em ferramentas compatíveis com agentes com mínimo de código—funcionando junto com o recurso de busca de ferramentas do modelo para orquestrar centenas de ferramentas. A observabilidade integrada através do Amazon CloudWatch rastreia uso de tokens, latência e taxas de erro em seus fluxos de trabalho de agentes.

    Como começar

    Para começar a usar o Opus 4.5 no Amazon Bedrock, você precisa configurar um cliente Python e importar as bibliotecas necessárias:

    # Importar bibliotecas necessárias
    import boto3
    import json
    
    # Criar uma sessão e cliente Bedrock
    session = boto3.Session()
    bedrock_client = session.client(
        service_name='bedrock-runtime',
        region_name='us-east-1'
    )

    Neste exemplo, definimos múltiplas ferramentas com defer_loading para ativar a busca de ferramentas. Isso permite que o modelo descubra e carregue apenas as ferramentas que necessita em vez de carregar todas as definições antecipadamente:

    # Definir ferramentas com busca de ferramentas ativada
    tools = [
        # Ativar busca de ferramentas - permite descoberta dinâmica de ferramentas
        {
            "type": "tool_search_tool_regex",
            "name": "tool_search_tool_regex"
        },
        # Ferramentas marcadas com defer_loading são descobertas sob demanda
        {
            "name": "get_weather",
            "description": "Obter clima atual para uma localização",
            "input_schema": {
                "type": "object",
                "properties": {
                    "location": {"type": "string"},
                    "unit": {"type": "string", "enum": ["celsius", "fahrenheit"]}
                },
                "required": ["location"]
            },
            "defer_loading": True,
            # Fornecer exemplos de entrada para melhorar precisão de esquemas complexos
            "input_examples": [
                {"location": "San Francisco, CA", "unit": "fahrenheit"},
                {"location": "Tokyo, Japan", "unit": "celsius"}
            ]
        },
        {
            "name": "search_documentation",
            "description": "Pesquisar documentação da AWS",
            "input_schema": {
                "type": "object",
                "properties": {
                    "query": {"type": "string"},
                    "service": {"type": "string"}
                },
                "required": ["query"]
            },
            "defer_loading": True,
            "input_examples": [
                {"query": "Lambda pricing", "service": "lambda"},
                {"query": "S3 bucket policies"}
            ]
        },
        {
            "name": "analyze_logs",
            "description": "Analisar logs de aplicação para erros",
            "input_schema": {
                "type": "object",
                "properties": {
                    "log_file": {"type": "string"},
                    "time_range": {"type": "string"}
                },
                "required": ["log_file"]
            },
            "defer_loading": True,
            "input_examples": [
                {"log_file": "/var/log/app.log", "time_range": "last 24 hours"},
                {"log_file": "/var/log/error.log"}
            ]
        }
    ]

    Agora invocamos o modelo usando a Aplicação Programática (API) invoke_model com o parâmetro effort definido como médio:

    # Construir a requisição com recursos beta ativados
    request_body = {
        "anthropic_version": "bedrock-2023-05-31",
        # Ativar recursos beta: busca de ferramentas, exemplos de ferramentas e parâmetro effort
        "anthropic_beta": ["tool-search-tool-2025-10-19", "tool-examples-2025-10-29", "effort-2025-11-24"],
        "max_tokens": 4096,
        "temperature": 0.7,
        # Definir effort para "medium" para uso equilibrado de tokens
        "output_config": {
            "effort": "medium"
        },
        "messages": [
            {
                "role": "user",
                "content": "What's the weather in Seattle?"
            }
        ],
        "tools": tools
    }
    
    # Invocar o modelo
    response = bedrock_client.invoke_model(
        modelId="global.anthropic.claude-opus-4-5-20251101-v1:0",
        body=json.dumps(request_body)
    )
    
    # Fazer parsing da resposta
    response_body = json.loads(response['body'].read())

    O modelo utiliza busca de ferramentas para localizar a ferramenta relevante (get_weather) da biblioteca sem carregar todas as definições de ferramentas antecipadamente. O parâmetro effort, disponível em versão beta, controla quanto liberalmente o modelo gasta tokens em raciocínio, chamadas de ferramentas e respostas. Você pode definir effort como alto para melhores resultados, médio para uso equilibrado ou baixo para uso conservador de tokens.

    Capacidades principais para desenvolvimento de agentes

    O Opus 4.5 possui várias capacidades que o tornam adequado para construir agentes em produção. O modelo mantém coerência em fluxos de trabalho estendidos, permitindo tomada de decisão consistente para agentes que executam processos com múltiplas etapas ao longo de horas ou dias. Melhor manipulação de ferramentas significa que agentes interagem mais confiávelmente com sistemas externos, Aplicações Programáticas (APIs) e interfaces de software—o modelo escolhe as ferramentas certas e interpreta resultados com maior precisão.

    O Opus 4.5 também rastreia informações entre conversas e mantém contexto, ajudando agentes a acumular conhecimento ao longo do tempo e tomar decisões baseadas em histórico. O parâmetro effort, disponível em versão beta, oferece controle sobre uso de tokens. Você pode defini-lo como alto para melhores resultados quando qualidade importa mais, médio para desempenho equilibrado ou baixo para uso conservador de tokens. O Opus 4.5 ajusta o gasto de tokens entre raciocínio, chamadas de ferramentas e respostas com base nesta configuração.

    Para implantações em produção, o Amazon Bedrock AgentCore oferece monitoramento e observabilidade através da integração com CloudWatch, rastreando uso de tokens em tempo real (útil ao ajustar o parâmetro effort), junto com métricas de latência, duração da sessão e taxas de erro para ajudar a otimizar desempenho do agente e gerenciar custos.

    Preços e disponibilidade

    O modelo é precificado em $5 por milhão de tokens de entrada e $25 por milhão de tokens de saída, tornando a inteligência em nível Opus acessível a um terço do custo das ofertas anteriores.

    O modelo está disponível hoje no Amazon Bedrock através de inferência entre regiões, que roteia automaticamente requisições para capacidade disponível em regiões da AWS para maior throughput durante picos de demanda. Use este modelo para agentes que lidam com tarefas de longa duração, coordenam múltiplas ferramentas ou mantêm contexto em sessões estendidas.

    Para informações detalhadas sobre disponibilidade, preços e especificações do modelo, consulte a documentação do Amazon Bedrock.

    Próximos passos

    Para começar, experimente o modelo no console do Amazon Bedrock, explore a documentação técnica e consulte a página de detalhes do modelo Claude da Anthropic para mais informações sobre suas capacidades.

    Para implantar agentes em escala, explore o Opus 4.5 no Amazon Bedrock AgentCore para obter infraestrutura gerenciada com orquestração de ferramentas e monitoramento. O Opus 4.5 se destaca em fluxos de trabalho complexos e de longa duração, como desenvolvimento de software e operações empresariais. Suas capacidades em manipulação de ferramentas, gerenciamento de contexto e tomada de decisão o tornam valioso para construir agentes que operam de forma confiável em ambientes de produção.

    Fonte

    Claude Opus 4.5 now in Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/claude-opus-4-5-now-in-amazon-bedrock/)