Blog

  • Amazon SageMaker Unified Studio agora suporta múltiplos espaços de código em projetos para domínios IAM

    O que mudou no SageMaker Unified Studio

    A AWS anunciou uma atualização relevante para o Amazon SageMaker Unified Studio: agora é possível criar e gerenciar múltiplos espaços de código (code spaces) dentro de um único projeto, para domínios com Gerenciamento de Identidade e Acesso (IAM). Essa mudança amplia consideravelmente a flexibilidade do ambiente de desenvolvimento para equipes de dados.

    Antes dessa atualização, cada projeto era limitado a apenas um espaço JupyterLab e um espaço Code Editor. Ou seja, quem precisava trabalhar em experimentos diferentes ao mesmo tempo dentro do mesmo projeto enfrentava uma barreira real de organização e isolamento de ambientes.

    O que os múltiplos espaços de código permitem

    Com o novo suporte a múltiplos espaços, cientistas de dados e engenheiros de machine learning podem agora trabalhar em paralelo em diferentes fluxos de trabalho — como transformação de dados de longa duração e treinamento de modelos — tudo dentro do mesmo projeto colaborativo, sem precisar alternar entre projetos distintos.

    Cada espaço de código criado conta com:

    • Seu próprio volume Amazon EBS (Elastic Block Store) persistente, garantindo que arquivos, dados e estado da sessão sejam preservados de forma independente;
    • Configurações individuais de computação e armazenamento, que podem ser ajustadas para cima ou para baixo conforme a necessidade de cada tarefa;
    • A possibilidade de pausar e retomar o espaço a qualquer momento;
    • Ambiente de execução customizável para cada caso de uso específico.

    Como os espaços podem ser acessados

    Os espaços de código podem ser abertos em abas dedicadas do navegador ou conectados a um ambiente de desenvolvimento local (IDE), caso o desenvolvedor prefira trabalhar com suas próprias ferramentas. Em ambos os casos, toda a funcionalidade é mantida — incluindo suporte ao Amazon Q no plano pago.

    Para quem esse recurso é mais útil

    A atualização é especialmente vantajosa para equipes que precisam de ambientes isolados para fluxos de trabalho paralelos, mas que ainda querem manter a colaboração dentro de um único projeto. É o caso típico de times que rodam experimentos simultâneos com diferentes configurações de hardware ou que separam etapas do pipeline de dados em ambientes distintos.

    Disponibilidade

    O recurso já está disponível em todas as regiões AWS onde o Amazon SageMaker Unified Studio opera. Para saber mais sobre como gerenciar espaços de código em projetos do SageMaker Unified Studio, a AWS disponibiliza a documentação oficial: Gerenciando Espaços de Código no Guia do Usuário do Amazon SageMaker.

    Fonte

    Amazon SageMaker Unified Studio now supports multiple code spaces within projects for IAM domains (https://aws.amazon.com/about-aws/whats-new/2026/04/sagemaker-code-spaces/)

  • Segurança multicloud de ponta a ponta: como funciona o AWS Security Hub Extended

    O problema que o Security Hub Extended tenta resolver

    Equipes de segurança modernas enfrentam um desafio que vai muito além das ameaças em si: o peso operacional de gerenciar dezenas de fornecedores ao mesmo tempo. Negociações de contrato, múltiplos ciclos de cobrança, integrações manuais entre ferramentas — tudo isso consome tempo que deveria estar sendo dedicado à gestão de riscos reais.

    Além disso, o modelo tradicional de aquisição de soluções de segurança forçava as organizações a assinar contratos plurianuais baseados apenas em testes de prova de conceito (PoC) e estimativas de uso anual. Ou seja, era preciso comprometer orçamento antes de validar se a solução funcionaria em escala real no ambiente da empresa.

    É exatamente esse cenário que a AWS busca transformar com o AWS Security Hub Extended: uma oferta de segurança empresarial completa que reúne serviços nativos da AWS com soluções de parceiros cuidadosamente selecionados, entregando procurement unificado, cobrança consolidada e operações integradas.

    O que é o Security Hub Extended

    O AWS Security Hub já consolidava análise de ameaças do Amazon GuardDuty, gestão de vulnerabilidades do Amazon Inspector e descoberta de dados sensíveis do Amazon Macie, correlacionando esses sinais com findings de exposição para determinar risco geral, alcançabilidade e assumibilidade de recursos.

    O Security Hub Extended vai além: ele estende essas operações de segurança unificadas para toda a organização, incluindo ambientes multicloud, on-premises e endpoints, por meio de soluções de parceiros curados integradas diretamente na experiência do Security Hub. Não há console separado para gerenciar — tudo acontece no mesmo lugar onde você já administra a segurança da sua organização.

    Os parceiros do lançamento inicial foram selecionados pelos próprios clientes com base em valor comprovado, e incluem: 7AI, Britive, CrowdStrike, Cyera, Island, Noma, Okta, Oligo, Opti, Proofpoint, SailPoint, Splunk, Upwind e Zscaler.

    Como começar com o Security Hub Extended

    Para quem ainda não usa o Security Hub, o processo de onboarding é direto: basta acessar o AWS Management Console, buscar por Security Hub e seguir o fluxo de configuração inicial. O primeiro passo é designar uma conta de administrador delegado (Delegated Administrator — DA) da organização AWS, o que permite habilitar e gerenciar o Security Hub de forma centralizada em todas as contas e regiões AWS da organização a partir de um único ponto. Para mais detalhes sobre esse processo, a AWS disponibiliza a Introdução ao AWS Security Hub.

    A partir da interface centralizada de configuração, é possível habilitar capacidades de detecção e resposta para toda a organização, definir configurações granulares por unidade organizacional ou conta-membro, selecionar regiões específicas e ativar ou desativar funcionalidades individualmente.

    Quem já usa o Security Hub pode navegar diretamente para a seção do plano Extended. Ela fica no painel de navegação à esquerda, em Management, dentro da conta do administrador delegado — e só fica visível a partir dessa conta.

    Entendendo riscos por meio de caminhos de ataque

    Um dos recursos centrais do Security Hub é o motor de correlação de riscos, que identifica exposições potenciais ao cruzar ameaças, vulnerabilidades e configurações incorretas, revelando como esses fatores se conectam e podem levar ao comprometimento de recursos críticos.

    Imagem original — fonte: Aws

    A visualização de caminhos de ataque (attack path) expõe causas-raiz e o raio de explosão (blast radius) — ou seja, o impacto potencial caso um agente malicioso explore uma vulnerabilidade. Em vez de tratar sintomas isolados, a equipe de segurança pode focar na causa original do problema. Por exemplo, atualizar a configuração de um único security group pode eliminar um caminho de ataque inteiro, cortando todas as exposições downstream associadas a ele.

    Descobrindo e assinando soluções de parceiros

    O plano Extended traz soluções de terceiros curadas diretamente para dentro da experiência do Security Hub. Para adotar uma solução de parceiro, basta selecionar View Product para iniciar um fluxo automatizado de onboarding. Dependendo da solução, o usuário é direcionado ao console do parceiro ou recebe orientações para que o parceiro conduza o processo de ativação conforme o ambiente específico.

    Imagem original — fonte: Aws

    A cobrança só começa após a ativação completa na solução do parceiro, e já entra automaticamente na fatura unificada da AWS — sem necessidade de nenhuma ação adicional. Para quem já usa alguma das soluções dos parceiros, a transição para o Security Hub Extended não interrompe os serviços em uso. A diferença é que, em vez de receber faturas separadas para cada parceiro além do Amazon Inspector, GuardDuty e Security Hub, tudo passa a aparecer em uma única fatura consolidada.

    Precificação transparente e sem compromissos iniciais

    Diferente dos modelos tradicionais que exigem negociações longas, acordos de preço privados e compromissos plurianuais, o Security Hub Extended adota um modelo de preços mensais no modelo pay-as-you-go, com total transparência. Cada solução de parceiro exibe seus valores de forma clara. Como referência, o Cloud Security da Upwind custa US$ 3,75 por recurso por mês, e o Identity Security da Okta custa US$ 20 por usuário por mês.

    Todas as ofertas do Security Hub Extended são elegíveis para os descontos do Programa de Desconto Empresarial (Enterprise Discount Program — EDP) da AWS, que são aplicados automaticamente. Se a organização já possui um acordo de desconto empresarial com a AWS, esses descontos se estendem automaticamente às soluções do Extended, reduzindo ainda mais o custo efetivo.

    Após validar que uma solução funciona em escala no ambiente real, a organização pode então alinhar sua estratégia com fornecedores e assinar compromissos de longo prazo para obter condições de preço ainda mais favoráveis — mas sem a pressão de fazer isso antes de ter certeza.

    Operações unificadas com OCSF

    O Security Hub Extended unifica as operações de segurança ao consolidar findings da AWS e das soluções de parceiros em um único fluxo. Todos os findings utilizam o Open Cybersecurity Schema Framework (OCSF) — uma estrutura de esquema aberto para cibersegurança — garantindo consistência sem a necessidade de processos complexos de normalização, transformação ou pipelines de Extração, Transformação e Carga (ETL).

    Na prática, ao implantar soluções como CrowdStrike, Noma e Upwind junto com Splunk e 7AI por meio do Security Hub Extended, os findings de segurança fluem automaticamente para o Security Hub e são roteados diretamente para o Splunk e o 7AI, todos no formato OCSF. O resultado é que a equipe de segurança pode se concentrar em responder a ameaças — não em gerenciar pipelines de dados ou integrações manuais.

    A visão de segurança full-stack

    O Security Hub Extended representa uma mudança na forma como as organizações descobrem, adquirem e consturam programas de segurança abrangentes. Em vez de gerenciar dezenas de relacionamentos com fornecedores, negociar contratos separados e integrar ferramentas díspares manualmente, a proposta é simplificar tudo em cinco pilares:

    • Um processo de procurement centralizado via AWS
    • Uma fatura com preços competitivos e transparentes no modelo pay-as-you-go
    • Um console para operações de segurança unificadas
    • Um canal de suporte para clientes do AWS Enterprise Support
    • Um esquema (OCSF) para todos os findings de segurança

    O objetivo declarado é reduzir o risco de segurança, melhorar a produtividade das equipes e criar uma abordagem mais coesa para operações de segurança em toda a empresa — abrangendo endpoint, identidade, e-mail, rede, dados, browser, nuvem, IA e operações de segurança.

    Disponibilidade

    O Security Hub Extended está disponível globalmente em todas as regiões comerciais da AWS onde o Security Hub está disponível. A AWS também publicou um vídeo de demonstração explicando como o Security Hub Extended funciona na prática. Feedbacks podem ser enviados pelo AWS re:Post na categoria de Segurança ou por meio dos canais de suporte da AWS.

    Fonte

    A technical walkthrough of multicloud full-stack security using AWS Security Hub Extended (https://aws.amazon.com/blogs/security/a-technical-walkthrough-of-multicloud-full-stack-security-using-aws-security-hub-extended/)

  • Melhorias nas Regras Gerenciadas do AWS Network Firewall via Parceiros do AWS Marketplace

    O que mudou no AWS Network Firewall

    A AWS anunciou expansões importantes nas Regras Gerenciadas (Managed Rules) do AWS Network Firewall, disponibilizadas por parceiros do AWS Marketplace. A novidade traz otimizações nos grupos de regras que agora suportam até 10 milhões de indicadores de nomes de domínio e até 1 milhão de endereços IP por grupo — um salto significativo em capacidade de proteção para workloads na nuvem.

    O que cada parceiro está entregando

    Três parceiros lideram as expansões anunciadas:

    • Infoblox: amplia os indicadores de nomes de domínio para proteger workloads contra domínios de risco crítico e alto.
    • Lumen: introduz novos grupos de regras focados em bloquear ataques de comando e controle (command and control).
    • ThreatSTOP: adiciona regras gerenciadas para conformidade com sanções do Escritório de Controle de Ativos Estrangeiros — OFAC (Office of Foreign Assets Control) — e expande a cobertura de conformidade global com novas regras para sanções da União Europeia, Japão e Nações Unidas.

    Por que isso importa para equipes de segurança

    Essas melhorias permitem que as equipes acessem inteligência de ameaças mais rica e abrangente diretamente dentro do AWS Network Firewall, sem precisar gerenciar feeds de ameaças manualmente. O resultado prático é uma proteção mais rápida e precisa contra ameaças emergentes — seja para bloquear domínios maliciosos em escala, defender a infraestrutura contra ataques de comando e controle ou aplicar políticas de conformidade baseadas em sanções internacionais.

    As regras gerenciadas ficam prontas para implantação e são atualizadas continuamente pelos parceiros, reduzindo a carga operacional das equipes de segurança.

    Parceiros disponíveis e expansão regional

    Além de Infoblox, Lumen e ThreatSTOP, as regras gerenciadas para o AWS Network Firewall também estão disponíveis por meio de outros parceiros do AWS Marketplace: Check Point, Fortinet, Rapid7 e Trend Micro.

    A AWS também expandiu a disponibilidade regional dos grupos de regras do Marketplace para 9 novas regiões:

    • Ásia-Pacífico (Jacarta)
    • Ásia-Pacífico (Hyderabad)
    • Ásia-Pacífico (Melbourne)
    • Ásia-Pacífico (Malásia)
    • Canadá Oeste (Calgary)
    • Europa (Zurique)
    • Europa (Espanha)
    • Israel (Tel Aviv)
    • México (Central)

    Como começar

    Para explorar as regras disponíveis, o caminho é acessar o console do AWS Network Firewall ou navegar pelas opções no AWS Marketplace. Para mais detalhes técnicos, a AWS disponibiliza a página do produto AWS Network Firewall e a documentação oficial do serviço.

    Fonte

    Enhancements to AWS Network Firewall Managed Rules from AWS Marketplace Partners (https://aws.amazon.com/about-aws/whats-new/2026/04/marketplace-managed-rules-enhancements/)

  • Amazon EC2 anuncia configurações de visibilidade de recursos gerenciados

    O que mudou no Amazon EC2

    A AWS anunciou uma novidade importante para quem trabalha com o Amazon EC2: agora é possível controlar se os recursos provisionados por ofertas de instâncias gerenciadas aparecem ou não nas visualizações do console do EC2 e nas operações de listagem via API.

    O que são instâncias gerenciadas no EC2

    As Instâncias Gerenciadas do Amazon EC2 (Amazon EC2 Managed Instances) são instâncias provisionadas e administradas por um provedor de serviço designado — como o Amazon EKS, o Amazon ECS, o AWS Lambda ou o Amazon Workspaces. Nesses casos, a própria AWS assume a responsabilidade pela configuração, aplicação de patches e monitoramento de saúde dessas instâncias, além de outros recursos associados, como volumes EBS, snapshots e Interfaces de Rede.

    Qual era o problema antes dessa mudança

    Até agora, por padrão, esses recursos gerenciados apareciam misturados com os recursos autogerenciados nas respostas de API e nos respectivos consoles. Isso gerava confusão, já que esses recursos são de responsabilidade da AWS — e não do time que opera a conta. Ver instâncias, volumes e snapshots que você não criou e não precisa gerenciar no meio da sua lista de recursos não é o ideal para quem quer ter clareza sobre o que está sob sua responsabilidade.

    Como funciona a nova configuração de visibilidade

    Com as novas configurações de visibilidade de recursos gerenciados (Managed resource visibility settings), qualquer novo recurso gerenciado passa a ficar oculto por padrão nas visualizações do console e nas respostas de APIs como o describe-instances. Essa mudança foi pensada para alinhar melhor a experiência do usuário ao modelo de responsabilidade compartilhada — afinal, se a AWS gerencia aquele recurso, faz sentido que ele não polua a visão de quem está gerenciando os próprios recursos.

    A configuração pode ser feita diretamente pelo console do Amazon EC2 ou por meio da AWS CLI. Para saber mais sobre como configurar essa funcionalidade, a AWS disponibiliza o Guia do Usuário do Amazon EC2 com todos os detalhes sobre as configurações de visibilidade de recursos gerenciados.

    Por que isso importa para o seu ambiente

    Para equipes que utilizam serviços como EKS ou ECS em larga escala, a quantidade de recursos gerenciados automaticamente pela AWS pode ser expressiva. Ter esses recursos aparecendo lado a lado com os recursos autogerenciados dificulta auditorias, inventários e até a identificação de anomalias. Com essa novidade, a visão do console e das APIs fica mais limpa e representativa do que realmente está sob gestão do time.

    Fonte

    Amazon EC2 announces Managed resource visibility settings (https://aws.amazon.com/about-aws/whats-new/2026/04/ec2-managed-resource-visibility/)

  • Transcrição de áudio multilíngue em escala com Parakeet-TDT e AWS Batch

    O problema de custo em transcrição de áudio em escala

    Muitas organizações lidam com volumes crescentes de áudio: bibliotecas de mídia para arquivamento, gravações de contact center, dados de treinamento para Inteligência Artificial (IA) ou vídeos sob demanda que precisam de legendas. Quando esses volumes crescem, os custos de serviços gerenciados de Reconhecimento Automático de Fala (ASR, do inglês Automatic Speech Recognition) passam a ser o principal limitador de escala.

    Para endereçar esse desafio, a AWS publicou um guia mostrando como combinar o modelo NVIDIA Parakeet-TDT-0.6B-v3 com o AWS Batch em instâncias aceleradas por GPU. O resultado é um pipeline capaz de transcrever áudio em escala por frações de centavo por hora de áudio processado.

    O modelo Parakeet-TDT-0.6B-v3

    Lançado em agosto de 2025, o Parakeet-TDT-0.6B-v3 é um modelo open-source multilíngue de ASR desenvolvido pela NVIDIA. Ele usa uma arquitetura chamada Token-and-Duration Transducer (TDT), que prevê simultaneamente os tokens de texto e suas durações — o que permite ao modelo pular silêncios e processamentos redundantes de forma inteligente, atingindo velocidades de inferência muito superiores ao tempo real.

    De acordo com as métricas publicadas pela NVIDIA, o modelo mantém uma Taxa de Erro por Palavra (WER, do inglês Word Error Rate) de 6,34% em condições limpas e 11,66% de WER a 0 dB de Relação Sinal-Ruído (SNR, do inglês Signal-to-Noise Ratio). Ele também suporta áudios de até três horas no modo de atenção local.

    Os 25 idiomas europeus suportados incluem: búlgaro, croata, tcheco, dinamarquês, holandês, inglês, estoniano, finlandês, francês, alemão, grego, húngaro, italiano, letão, lituano, maltês, polonês, português, romeno, eslovaco, esloveno, espanhol, sueco, russo e ucraniano. Isso elimina a necessidade de modelos separados ou configurações específicas por idioma ao atender economias europeias internacionais.

    Para implantação na AWS, o modelo requer instâncias com GPU e no mínimo 4 GB de VRAM, embora 8 GB ofereçam melhor desempenho. As instâncias G6 (GPUs NVIDIA L4) apresentam a melhor relação custo-desempenho para cargas de inferência. O modelo também funciona bem em G5 (A10G), G4dn (T4) e, para máximo throughput, P5 (H100) ou P4 (A100).

    Arquitetura da solução

    O fluxo começa quando um arquivo de áudio é enviado para um bucket do Amazon Simple Storage Service (Amazon S3). Esse upload dispara uma regra do Amazon EventBridge, que submete um job ao AWS Batch. O Batch provisiona os recursos de computação com GPU, e as instâncias provisionadas puxam a imagem de container — com o modelo já em cache — do Amazon Elastic Container Registry (Amazon ECR). O script de inferência baixa e processa o arquivo de áudio, e depois envia o transcript em JSON com timestamps para um bucket S3 de saída.

    A arquitetura escala a zero quando ociosa, ou seja, custos são gerados apenas durante a computação ativa. Para uma análise aprofundada dos componentes arquiteturais gerais, a AWS referencia o post anterior sobre transcrição de áudio com Whisper usando AWS Batch e AWS Inferentia.

    Pré-requisitos

    Construindo a imagem de container

    O repositório inclui um Dockerfile que constrói uma imagem de container otimizada para performance de inferência. A imagem usa o Amazon Linux 2023 como base, instala o Python 3.12 e faz o cache do modelo Parakeet-TDT-0.6B-v3 durante o build — eliminando a latência de download em tempo de execução:

    FROM public.ecr.aws/amazonlinux/amazonlinux:2023
    WORKDIR /app
    
    # Install system dependencies, Python 3.12, and ffmpeg
    RUN dnf update -y && \
        dnf install -y gcc-c++ python3.12-devel tar xz && \
        ln -sf /usr/bin/python3.12 /usr/local/bin/python3 && \
        python3 -m ensurepip && \
        python3 -m pip install --no-cache-dir --upgrade pip && \
        dnf clean all && rm -rf /var/cache/dnf
    
    # Install Python dependencies and pre-cache the model
    COPY ./requirements.txt requirements.txt
    RUN pip install -U --no-cache-dir -r requirements.txt && \
        rm -rf ~/.cache/pip /tmp/pip* && \
        python3 -m compileall -q /usr/local/lib/python3.12/site-packages
    
    COPY ./parakeet_transcribe.py parakeet_transcribe.py
    
    # Cache model during build to eliminate runtime download
    RUN python3 -c "from nemo.collections.asr.models import ASRModel; \
        ASRModel.from_pretrained('nvidia/parakeet-tdt-0.6b-v3')"
    
    CMD ["python3", "parakeet_transcribe.py"]

    Enviando a imagem para o Amazon ECR

    O repositório inclui um script updateImage.sh que detecta o ambiente (CodeBuild ou EC2), constrói a imagem, cria um repositório ECR se necessário, habilita o escaneamento de vulnerabilidades e faz o push da imagem. Para executá-lo:

    ./updateImage.sh

    Implantando a solução

    A solução usa um template do AWS CloudFormation (deployment.yaml) para provisionar a infraestrutura. O script buildArch.sh automatiza a implantação detectando a Região AWS, coletando informações de VPC, sub-redes e grupos de segurança, e implantando a stack do CloudFormation:

    ./buildArch.sh

    Internamente, esse script executa:

    aws cloudformation deploy --stack-name batch-gpu-audio-transcription \
      --template-file ./deployment.yaml \
      --capabilities CAPABILITY_IAM \
      --region ${AWS_REGION} \
      --parameter-overrides VPCId=${VPC_ID} SubnetIds="${SUBNET_IDS}" \
      SGIds="${SecurityGroup_IDS}" RTIds="${RouteTable_IDS}"

    O template do CloudFormation cria: o ambiente de computação do AWS Batch com instâncias GPU G6 e G5; uma fila de jobs; uma definição de job referenciando a imagem ECR; buckets S3 de entrada e saída com notificações do EventBridge habilitadas; uma regra do EventBridge que dispara um job do Batch no upload ao S3; configuração do agente do Amazon CloudWatch para monitoramento de GPU, CPU e memória; e Funções de Gerenciamento de Identidade e Acesso (IAM, do inglês Identity and Access Management) com políticas de privilégio mínimo.

    O AWS Batch permite selecionar imagens Amazon Linux 2023 com GPU especificando ImageType: ECS_AL2023_NVIDIA na configuração do ambiente de computação.

    Usando instâncias Spot para reduzir ainda mais os custos

    As instâncias Amazon EC2 Spot permitem executar cargas de trabalho na capacidade ociosa da EC2 com descontos de até 90%, dependendo do tipo de instância. Para habilitá-las, basta modificar o ambiente de computação no deployment.yaml:

    DefaultComputeEnv:
      Type: AWS::Batch::ComputeEnvironment
      Properties:
        Type: MANAGED
        State: ENABLED
        ComputeResources:
          AllocationStrategy: SPOT_PRICE_CAPACITY_OPTIMIZED
          Type: SPOT
          BidPercentage: 100
          InstanceTypes:
            - "g6.xlarge"
            - "g6.2xlarge"
            - "g5.xlarge"
          MinvCpus: !Ref DefaultCEMinvCpus
          MaxvCpus: !Ref DefaultCEMaxvCpus
          # ... remaining configuration unchanged

    Isso pode ser ativado passando --parameter-overrides UseSpotInstances=Yes ao executar o aws cloudformation deploy. A estratégia SPOT_PRICE_CAPACITY_OPTIMIZED seleciona pools de instâncias Spot com menor probabilidade de interrupção e menor preço. Diversificar os tipos de instância (G6 xlarge, G6 2xlarge, G5 xlarge) melhora a disponibilidade Spot. Definir MinvCpus: 0 garante que o ambiente escale a zero quando ocioso. Como os jobs de ASR são stateless e idempotentes, eles são ideais para Spot — e se uma instância for reclamada, o AWS Batch automaticamente tenta novamente o job (configurado com até 2 tentativas na definição do job).

    Gerenciando memória para áudios longos

    O consumo de memória do modelo Parakeet-TDT escala linearmente com a duração do áudio. O encoder Fast Conformer precisa gerar e armazenar representações de features para todo o sinal de áudio — dobrar a duração do áudio dobra aproximadamente o uso de VRAM. Com atenção completa, o modelo consegue processar até 24 minutos com 80 GB de VRAM.

    A NVIDIA endereça isso com um modo de atenção local que suporta até 3 horas de áudio em um A100 de 80 GB:

    # Enable local attention for long audio
    asr_model.change_attention_model("rel_pos_local_attn", [128, 128])
    asr_model.change_subsampling_conv_chunking_factor(1)  # auto select
    asr_model.transcribe(["input_audio.wav"])

    Esse modo pode apresentar uma leve queda de precisão — recomenda-se testar no seu caso de uso específico.

    Inferência em streaming com buffer para áudios muito longos

    Para áudios que excedem 3 horas, ou para processar áudios longos de forma econômica em hardware padrão como uma instância g6.xlarge, a solução usa inferência em streaming com buffer. Adaptada do exemplo de inferência em streaming do NVIDIA NeMo, essa técnica processa o áudio em chunks sobrepostos em vez de carregar o contexto completo na memória.

    A configuração utiliza chunks de 20 segundos com 5 segundos de contexto à esquerda e 3 segundos de contexto à direita para manter a qualidade da transcrição nas fronteiras dos chunks. Reduzir o tamanho do chunk aumenta o tempo de processamento, então é recomendado experimentar para encontrar a configuração ideal:

    # Streaming inference loop
    while left_sample < audio_batch.shape[1]:
        # add samples to buffer
        chunk_length = min(right_sample, audio_batch.shape[1]) - left_sample
        # [Logic to manage buffer and flags omitted for brevity]
        buffer.add_audio_batch_(...)
        # Encode using full buffer [left-chunk-right]
        encoder_output, encoder_output_len = asr_model(
            input_signal=buffer.samples,
            input_signal_length=buffer.context_size_batch.total(),
        )
        # Decode only chunk frames (constant memory usage)
        chunk_batched_hyps, _, state = decoding_computer(...)
        # Advance sliding window
        left_sample = right_sample
        right_sample = min(right_sample + context_samples.chunk, audio_batch.shape[1])

    Processar o áudio em chunks de tamanho fixo desacopla o uso de VRAM da duração total do áudio — uma única instância g6.xlarge consegue processar um arquivo de 10 horas com o mesmo footprint de memória de um arquivo de 10 minutos. Para implantar com streaming habilitado, basta definir o parâmetro EnableStreaming=Yes:

    aws cloudformation deploy \
      --stack-name batch-gpu-audio-transcription \
      --template-file ./deployment.yaml \
      --capabilities CAPABILITY_IAM \
      --parameter-overrides EnableStreaming=Yes \
      VPCId=your-vpc-id SubnetIds=your-subnet-ids SGIds=your-sg-ids RTIds=your-rt-ids

    Testes, monitoramento e resultados

    Para validar a solução em escala, foram processados 1.000 arquivos de áudio idênticos de 50 minutos — gravações de uma conferência de imprensa pré-voo da NASA — distribuídos em 100 instâncias g6.xlarge, cada uma processando 10 arquivos.

    A implantação inclui uma configuração do agente do Amazon CloudWatch que coleta métricas de utilização de GPU, consumo de energia, uso de VRAM, utilização de CPU, consumo de memória e uso de disco em intervalos de 10 segundos. Essas métricas aparecem no namespace CWAgent, permitindo a criação de dashboards para monitoramento em tempo real.

    Desempenho e análise de custos

    O modelo Parakeet-TDT-0.6B-v3 atingiu uma velocidade de inferência bruta de 0,24 segundos por minuto de áudio. Considerando o overhead completo do pipeline (carregamento do modelo, carregamento do áudio, pré e pós-processamento), os resultados do benchmark em uma instância g6.xlarge foram:

    • Duração do áudio: 3 horas e 25 minutos (205 minutos)
    • Duração total do job: 100 segundos
    • Velocidade efetiva de processamento: 0,49 segundos por minuto de áudio

    Em termos de custo, com base nos preços da instância g6.xlarge na região us-east-1:

    • On-Demand (~$0,805/hora): aproximadamente $0,00011 por minuto de áudio
    • Spot Instances (~$0,374/hora): aproximadamente $0,00005 por minuto de áudio

    Os preços são estimativas com base nas taxas da us-east-1 no momento da publicação original. Os preços Spot variam por Zona de Disponibilidade e estão sujeitos a mudanças.

    Esses números evidenciam a vantagem econômica da abordagem self-hosted para cargas de trabalho de alto volume em comparação com serviços gerenciados de API.

    Limpeza dos recursos

    Para evitar cobranças futuras, é necessário excluir os recursos criados pela solução: esvaziar todos os buckets S3 (entrada, saída e logs) e deletar a stack do CloudFormation:

    aws cloudformation delete-stack --stack-name batch-gpu-audio-transcription

    Opcionalmente, remova o repositório ECR e as imagens de container. Para instruções detalhadas, consulte a seção de limpeza do README do repositório.

    Conclusão

    A combinação do modelo NVIDIA Parakeet-TDT-0.6B-v3 com o AWS Batch e as instâncias EC2 Spot resulta em um pipeline de transcrição de áudio capaz de processar em escala por frações de centavo por hora. Com suporte a 25 idiomas europeus — incluindo português — e detecção automática de idioma, a solução elimina a necessidade de modelos separados por idioma. A técnica de inferência em streaming com buffer estende essa capacidade para áudios de qualquer duração em hardware padrão, e a arquitetura orientada a eventos escala automaticamente do zero para lidar com cargas de trabalho variáveis.

    O código de exemplo está disponível no repositório GitHub para quem quiser explorar e implementar a solução.

    Fonte

    Cost-effective multilingual audio transcription at scale with Parakeet-TDT and AWS Batch (https://aws.amazon.com/blogs/machine-learning/cost-effective-multilingual-audio-transcription-at-scale-with-parakeet-tdt-and-aws-batch/)

  • Amazon SageMaker AI agora oferece recomendações otimizadas de inferência para IA generativa

    O problema: levar um modelo à produção leva semanas

    Organizações estão correndo para colocar modelos de IA generativa em produção — seja para assistentes inteligentes, ferramentas de geração de código, motores de conteúdo ou aplicações voltadas ao cliente. Mas o processo de implantação continua sendo um obstáculo real: encontrar a combinação certa de tipo de instância GPU, contêiner de serving, estratégia de paralelismo e técnicas de otimização pode consumir de duas a três semanas por modelo, exigindo expertise em infraestrutura de GPU que a maioria das equipes simplesmente não tem internamente.

    O espaço de decisão é enorme. Uma única implantação envolve escolher entre mais de uma dúzia de tipos de instância GPU, múltiplos contêineres de serving, diferentes graus de paralelismo e um conjunto crescente de técnicas como o speculative decoding. Todas essas variáveis interagem entre si, e não havia orientação validada para estreitar a busca.

    O resultado costuma ser o mesmo: equipes provisionam instâncias, implantam o modelo, rodam testes de carga, analisam resultados e repetem o ciclo. Sem clareza sobre se existe uma opção melhor e mais econômica, muitas acabam superprovisionando — escolhendo infraestrutura de GPU mais cara do que o necessário. O custo desperdiçado se acumula a cada modelo implantado e a cada mês que o endpoint fica ativo.

    Imagem original — fonte: Aws

    A solução: recomendações otimizadas de inferência no SageMaker AI

    A AWS anunciou que o Amazon SageMaker AI agora suporta recomendações otimizadas de inferência para IA generativa. O recurso entrega configurações de implantação validadas com métricas de desempenho reais, permitindo que as equipes se concentrem em construir modelos precisos — e não em gerenciar infraestrutura.

    Para o benchmarking, a AWS avaliou diversas ferramentas e optou pelo NVIDIA AIPerf, um componente modular do NVIDIA Dynamo, por expor métricas detalhadas e consistentes, suportar cargas de trabalho diversas e oferecer controles de concorrência e opções de dataset que facilitam iterações rápidas com configuração mínima.

    Segundo Eliuth Triana, Gerente de Relações com Desenvolvedores da NVIDIA: “Com a integração de componentes modulares do framework de inferência distribuída open source NVIDIA Dynamo diretamente no Amazon SageMaker AI, a AWS está tornando mais fácil para empresas implantarem modelos de IA generativa com confiança. A integração do NVIDIA AIPerf demonstra como o benchmarking padronizado pode eliminar semanas de testes manuais e entregar configurações validadas e prontas para produção aos usuários finais.”

    Como funciona o processo em três etapas

    O fluxo é direto: você traz seu modelo de IA generativa, define os padrões de tráfego esperados e especifica um único objetivo de desempenho — otimizar custo, minimizar latência ou maximizar throughput. A partir daí, o SageMaker AI assume o controle em três estágios.

    Etapa 1: Redução do espaço de configurações

    O SageMaker AI analisa a arquitetura do modelo, seu tamanho e requisitos de memória para identificar os tipos de instância e estratégias de paralelismo que podem realisticamente atingir o objetivo definido. Em vez de testar todas as combinações possíveis, o serviço estreita a busca para as configurações que valem a pena avaliar — considerando até três tipos de instância selecionados pelo usuário.

    Etapa 2: Aplicação de otimizações alinhadas ao objetivo

    Com base no objetivo de desempenho escolhido, o SageMaker AI aplica automaticamente as técnicas de otimização mais adequadas a cada configuração candidata:

    • Para objetivos de throughput: treina modelos de speculative decoding (como o EAGLE 3.0), que permitem ao modelo gerar múltiplos tokens por passagem de avanço, aumentando significativamente os tokens por segundo.
    • Para objetivos de latência: ajusta kernels de computação para reduzir o tempo de processamento por token, diminuindo o tempo até o primeiro token (TTFT — Time to First Token).
    • Paralelismo tensorial é aplicado com base no tamanho do modelo e na capacidade da instância, distribuindo o modelo entre as GPUs disponíveis para lidar com modelos que excedem a memória de uma única GPU.

    Não é necessário saber qual técnica é a mais adequada para cada objetivo — o SageMaker AI seleciona e aplica as otimizações automaticamente.

    Etapa 3: Benchmarking e retorno de recomendações ranqueadas

    O SageMaker AI faz o benchmarking de cada configuração otimizada em infraestrutura GPU real usando o NVIDIA AIPerf, medindo TTFT, latência entre tokens (ITL — Inter-Token Latency), latência de requisição nos percentis P50/P90/P99, throughput e custo. O resultado é um conjunto de recomendações ranqueadas e prontas para implantação, com métricas validadas para cada configuração e tipo de instância.

    Imagem original — fonte: Aws

    O fluxo de trabalho na prática

    Do ponto de vista do usuário, o processo via APIs do SageMaker AI segue estas etapas:

    • Prepare seu modelo: traga o modelo generativo a partir do Amazon S3 (Serviço de Armazenamento Simples) ou do SageMaker Model Registry, incluindo checkpoints do Hugging Face com pesos SafeTensor, modelos base e modelos customizados ou ajustados com seus próprios dados.
    • Defina sua carga de trabalho (opcional): descreva os padrões de tráfego esperados, incluindo distribuições de tokens de entrada e saída e níveis de concorrência. Você pode fornecer essas informações diretamente ou usar um dataset representativo do Amazon S3.
    • Defina seu objetivo de otimização: escolha um único objetivo — otimizar custo, minimizar latência ou maximizar throughput — e selecione até três tipos de instância para comparar.
    • Revise as recomendações ranqueadas: o SageMaker AI retorna configurações prontas para implantação com métricas validadas como TTFT, latência entre tokens, latência de requisição nos percentis P50/P90/P99, throughput e projeções de custo.
    • Implante a configuração escolhida: implante a configuração selecionada em um endpoint de inferência do SageMaker de forma programática via API.

    Adicionalmente, é possível fazer benchmarking de endpoints de produção existentes para validar o desempenho atual ou compará-los com novas configurações. O SageMaker AI pode utilizar Reservas de ML existentes (Flexible Training Plans) sem custo adicional de computação, ou provisionar instâncias sob demanda automaticamente.

    Rigor no benchmarking com NVIDIA AIPerf

    Cada recomendação gerada pelo SageMaker AI é baseada em medições reais — não em estimativas ou simulações. Internamente, o serviço usa o NVIDIA AIPerf, uma ferramenta open source de benchmarking que mede métricas-chave de inferência: TTFT, latência entre tokens, throughput e requisições por segundo.

    A AWS contribuiu diretamente para o AIPerf com melhorias que fortalecem a base estatística dos resultados. Essas contribuições incluem:

    • Relatório de confiança multi-execução: permite medir a variância entre execuções repetidas do benchmark e quantificar a qualidade dos resultados com intervalos de confiança estatisticamente fundamentados — indo além de números frágeis de execução única.
    • Convergência adaptativa e parada antecipada: os benchmarks param assim que as métricas se estabilizam, em vez de sempre rodar um número fixo de tentativas. Isso reduz o custo de benchmarking e acelera o tempo até os resultados sem sacrificar o rigor.

    Otimizações em ação: exemplo real

    Para ilustrar o impacto prático, considere um exemplo concreto. Um cliente implantando o GPT-OSS-20B em uma única instância ml.p5en.48xlarge (H100) seleciona “maximizar throughput” como objetivo de desempenho. O SageMaker AI identifica o speculative decoding como a otimização adequada para esse objetivo, treina um modelo rascunho EAGLE 3.0, aplica-o à configuração de serving e faz o benchmarking tanto da linha de base quanto da configuração otimizada em infraestrutura GPU real.

    Imagem original — fonte: Aws

    O resultado: após a otimização de throughput, a mesma instância entrega 2x mais tokens/s com 1.000ms de latência — o que significa servir o dobro de usuários no mesmo hardware, efetivamente reduzindo o custo de inferência por token pela metade. Essa é exatamente a otimização que o SageMaker AI aplica automaticamente quando o objetivo de throughput é selecionado, sem que o usuário precise saber qual técnica usar, como treinar um modelo rascunho ou como configurá-lo para o modelo e hardware específicos.

    Casos de uso

    • Validação pré-implantação: otimize e faça benchmarking de um novo modelo antes de comprometer com uma implantação em produção.
    • Teste de regressão após atualizações: valide o desempenho após uma atualização de contêiner, upgrade de framework ou nova versão de biblioteca de serving.
    • Redimensionamento quando as condições mudam: quando os padrões de tráfego mudam ou novos tipos de instância ficam disponíveis, reexecute as recomendações em horas em vez de reiniciar um processo manual de semanas.
    • Comparação de modelos: compare desempenho e custo de diferentes variantes de modelo entre tipos de instância para fazer uma seleção informada antes da implantação em produção.
    • Otimização de custos: faça benchmarking de endpoints de produção existentes para identificar infraestrutura superprovisionada e reduzir gastos recorrentes com inferência.

    Implantando a partir das recomendações

    Após a conclusão do job de recomendação, o resultado é um SageMaker Model Package — um recurso versionado que agrupa todas as configurações de implantação específicas por instância em um único artefato. Para implantar, é necessário converter o Model Package em um Deployable Model chamando CreateModel com o ModelPackageName e o InferenceSpecificationName para a instância desejada, depois criar uma configuração de endpoint e implantar como um endpoint de tempo real padrão do SageMaker ou como um Inference Component.

    Um único Recommendation Job produz um Model Package com múltiplas InferenceSpecifications — uma por tipo de instância avaliado — permitindo escolher a configuração que melhor atende ao objetivo de latência, throughput ou custo e implantá-la diretamente sem reexecutar o job.

    O código abaixo ilustra o fluxo completo, exatamente como documentado pela AWS:

    # Selecionar a recomendação desejada
    resp = client.describe_ai_recommendation_job(
        AIRecommendationJobName="my-recommendation-job"
    )
    rec = resp["Recommendations"][0]
    model_package_arn = rec["ModelDetails"]["ModelPackageArn"]
    inference_spec_name = rec["ModelDetails"]["InferenceSpecificationName"]
    instance_type = rec["InstanceDetails"][0]["InstanceType"]
    
    print(f"Model Package : {model_package_arn}")
    print(f"Inference Spec: {inference_spec_name}")
    print(f"Instance Type : {instance_type}")
    
    # Converter Model Package → Deployable Model
    sm.create_model(
        ModelName="oss20b-deployable-model",
        ModelPackageName=model_package_arn,
        InferenceSpecificationName=inference_spec_name,
        ExecutionRoleArn="arn:aws:iam::123456789012:role/SageMakerExecutionRole",
    )
    
    # Criar configuração de endpoint
    sm.create_endpoint_config(
        EndpointConfigName="oss20b-endpoint-config",
        ProductionVariants=[
            {
                "VariantName": "AllTraffic",
                "ModelName": "oss20b-deployable-model",
                "InstanceType": instance_type,
                "InitialInstanceCount": 1,
            }
        ],
    )
    
    # Implantar e aguardar
    sm.create_endpoint(
        EndpointName="oss20b-endpoint",
        EndpointConfigName="oss20b-endpoint-config",
    )

    Saídas do benchmarking

    Um job de benchmarking de IA executa testes de desempenho contra endpoints de inferência do SageMaker AI usando uma configuração de carga de trabalho predefinida. Ao concluir, os resultados são armazenados no caminho de saída do Amazon S3 especificado. Após extrair o arquivo zip de saída, a estrutura de arquivos gerada inclui:

    • profile_export_aiperf.json e profile_export_aiperf.csv: métricas agregadas, incluindo percentis de latência (P50, P90, P99), throughput de tokens de saída, TTFT e ITL.
    • profile_export.jsonl: dados brutos por requisição — cada requisição individual registrada com sua própria latência, contagem de tokens e timestamp, útil para análises próprias ou identificação de outliers.
    • inputs.json: prompts enviados durante a execução.
    • benchmark_summary.txt: resumo de conclusão.
    • plots/: visualizações incluindo linha do tempo de TTFT por requisição e TTFT agregado ao longo da execução.
    • logs/aiperf.log: log completo de execução do AIPerf.

    A AWS disponibilizou um notebook de exemplo no GitHub que faz benchmarking do modelo openai/gpt-oss-20b implantado em uma instância ml.g6.12xlarge (4× GPUs NVIDIA L40S), servido via contêiner vLLM como Inference Component. O notebook simula uma carga de trabalho realista com prompts sintéticos: 300 requisições com 10 usuários concorrentes, aproximadamente 500 tokens de entrada e 150 de saída por requisição.

    Preços e disponibilidade

    Não há custo adicional para gerar as recomendações otimizadas de inferência para IA generativa. Os clientes incorrem nos custos padrão de computação para os jobs de otimização que geram as configurações otimizadas e para os endpoints provisionados durante o benchmarking. Clientes com Reservas de ML existentes (Flexible Training Plans) podem executar o benchmarking em sua capacidade reservada sem custo adicional — o único custo é o próprio job de otimização.

    O recurso está disponível hoje em sete regiões AWS: Leste dos EUA (Norte da Virgínia), Oeste dos EUA (Oregon), Leste dos EUA (Ohio), Ásia-Pacífico (Tóquio), Europa (Irlanda), Ásia-Pacífico (Cingapura) e Europa (Frankfurt). O acesso é feito pelas APIs do SageMaker AI. Para detalhes de implementação, walkthroughs de API e exemplos de código, consulte a documentação do SageMaker AI e os notebooks de exemplo no GitHub.

    Fonte

    Amazon SageMaker AI now supports optimized generative AI inference recommendations (https://aws.amazon.com/blogs/machine-learning/amazon-sagemaker-ai-now-supports-optimized-generative-ai-inference-recommendations/)

  • Cinco novos modelos Qwen para agentes de código e raciocínio eficiente chegam ao Amazon SageMaker JumpStart

    Novos modelos Qwen disponíveis no SageMaker JumpStart

    A AWS anunciou a chegada de cinco novos modelos da família Qwen ao Amazon SageMaker JumpStart, expandindo o portfólio de modelos de fundação disponíveis na plataforma. Os modelos incorporados são: Qwen3-Coder-Next, Qwen3-30B-A3B, Qwen3-30B-A3B-Thinking-2507, Qwen3-Coder-30B-A3B-Instruct e Qwen3.5-4B.

    Cada um deles foi desenvolvido para atender a desafios específicos de Inteligência Artificial (IA) empresarial, cobrindo casos de uso que vão de codificação agêntica a compreensão multimodal — tudo rodando sobre a infraestrutura da AWS.

    O que cada modelo oferece

    Os cinco modelos têm perfis bem distintos entre si. Entender as diferenças ajuda a escolher o mais adequado para cada projeto:

    • Qwen3-Coder-Next: focado em raciocínio de longo horizonte, uso complexo de ferramentas e recuperação de falhas durante a execução. É indicado para alimentar agentes de codificação em plataformas de Interface de Linha de Comando (CLI) e ambientes de Desenvolvimento Integrado (IDE).
    • Qwen3-30B-A3B: suporta alternância entre modos de raciocínio com e sem “thinking” (processamento reflexivo), tornando-o versátil para tarefas de assistência geral, como diálogo multilíngue, raciocínio matemático e chamadas de ferramentas.
    • Qwen3-30B-A3B-Thinking-2507: entrega desempenho aprimorado em tarefas complexas de raciocínio nas áreas de matemática, ciências e codificação, com capacidade estendida de compreensão de contextos longos.
    • Qwen3-Coder-30B-A3B-Instruct: projetado para fluxos de trabalho de codificação agêntica, com formato de chamada de função personalizado e compreensão de contexto em escala de repositório.
    • Qwen3.5-4B: modelo leve com treinamento unificado de visão e linguagem, suportando 201 idiomas — ideal para implantações multimodais de baixo custo computacional.

    Como fazer o deploy no SageMaker JumpStart

    O SageMaker JumpStart simplifica bastante o processo de implantação: qualquer um desses modelos pode ser colocado em produção com poucos cliques, sem necessidade de configurações complexas de infraestrutura.

    Para começar, basta acessar a seção Models dentro do SageMaker Studio ou utilizar o SageMaker Python SDK para realizar o deploy diretamente na conta AWS. A documentação oficial do Amazon SageMaker JumpStart traz os detalhes completos sobre como implantar e utilizar modelos de fundação na plataforma.

    Por que isso importa para equipes brasileiras

    A chegada desses modelos ao JumpStart é relevante porque reduz a barreira de entrada para times que querem experimentar modelos de ponta sem precisar gerenciar infraestrutura de ML do zero. A combinação de modelos especializados em código, raciocínio avançado e suporte multilíngue — incluindo os 201 idiomas do Qwen3.5-4B — abre espaço para aplicações de IA sofisticadas em contextos diversos, inclusive para o mercado brasileiro.

    Fonte

    Five new Qwen models for coding agents and efficient reasoning are now available in Amazon SageMaker JumpStart (https://aws.amazon.com/about-aws/whats-new/2026/04/qwen-models-on-sagemaker-jumpstart/)

  • Rastreabilidade ponta a ponta com DVC e Amazon SageMaker AI MLflow Apps

    O problema de rastreabilidade em ML de produção

    Equipes de machine learning (ML) em produção frequentemente se deparam com uma pergunta simples que se transforma em uma investigação de dias: “quais dados treinaram o modelo que está em produção agora?” Sem uma cadeia de rastreabilidade bem definida, a resposta exige vasculhar logs espalhados, notebooks e buckets do Amazon Simple Storage Service (Amazon S3) — um processo lento e propenso a erros.

    Esse problema é ainda mais crítico em setores regulados, como saúde, serviços financeiros e veículos autônomos. Nesses contextos, auditorias exigem que modelos em produção estejam vinculados aos dados exatos que os treinaram, e registros individuais podem precisar ser excluídos de treinamentos futuros mediante solicitação.

    Para endereçar esse desafio, a AWS publicou um guia técnico mostrando como combinar três ferramentas em um único fluxo de trabalho rastreável:

    Como a arquitetura funciona

    A solução integra as três ferramentas de forma que cada modelo possa ser rastreado até seus dados de treinamento exatos. Cada ferramenta tem um papel distinto:

    • DVC: armazena metafiles .dvc leves no Git, enquanto os dados reais ficam no Amazon S3
    • Amazon SageMaker AI: orquestra jobs de processamento, treinamento e hospedagem do modelo
    • SageMaker AI MLflow App: registra parâmetros, métricas, artefatos e modelos versionados

    O fluxo de dados percorre quatro estágios principais. Primeiro, um job de processamento do SageMaker AI pré-processa os dados brutos e versiona o dataset resultante com o DVC, enviando os dados para o S3 e os metadados para um repositório Git. Em seguida, um job de treinamento clona o repositório DVC em uma tag Git específica, executa dvc pull para recuperar o dataset versionado exato e treina o modelo. Cada execução de treinamento registra o data_git_commit_id — o hash do commit DVC que aponta para o dataset exato no S3. Por fim, o modelo treinado é registrado no MLflow Model Registry e pode ser implantado em um endpoint do SageMaker AI.

    O resultado é uma cadeia de rastreabilidade completa: Modelo em Produção → Execução MLflow → Commit DVC → Dataset exato no Amazon S3.

    Como DVC e MLflow se complementam

    O ponto central dessa arquitetura é que o DVC e o MLflow resolvem metades diferentes do problema de linhagem — e juntos fecham o ciclo.

    O DVC (Controle de Versão de Dados) é uma ferramenta gratuita e de código aberto que estende o Git para lidar com grandes datasets e artefatos de ML. O Git sozinho não consegue gerenciar arquivos binários grandes sem tornar os repositórios lentos e pesados. O DVC resolve isso rastreando metafiles .dvc leves no Git (ponteiros endereçáveis por conteúdo), enquanto os dados reais ficam em armazenamento remoto como o Amazon S3. Isso oferece semântica de versionamento similar ao Git — branches, tags, diffs — para datasets de gigabytes ou terabytes.

    Em termos de eficiência de armazenamento, o DVC usa armazenamento endereçável por conteúdo com hashes MD5. Isso significa que apenas arquivos novos ou modificados são armazenados — se você adicionar mil imagens a um dataset existente, somente essas novas imagens são enviadas ao S3. Arquivos com conteúdo idêntico são armazenados uma única vez, mesmo que apareçam com nomes diferentes ou em versões distintas do dataset.

    Além do versionamento de dados, o DVC também suporta pipelines de dados reproduzíveis, gerenciamento de experimentos e pode funcionar como um registro de dados para compartilhamento entre equipes. Nessa arquitetura, porém, o foco é exclusivamente no versionamento de dados.

    O SageMaker AI MLflow App é um serviço totalmente gerenciado da AWS, disponível dentro do SageMaker AI Studio, para gerenciar o ciclo de vida completo de ML e IA generativa. Suas capacidades incluem rastreamento de experimentos, registro de modelos com versionamento e gerenciamento de ciclo de vida, avaliação de modelos e integrações de implantação.

    A separação de responsabilidades é clara: o DVC cuida da linhagem dados→treinamento, o MLflow cuida da linhagem treinamento→implantação, e o hash do commit Git é o elo que os conecta.

    Padrão 1: Linhagem em nível de dataset

    O primeiro padrão demonstra o fluxo central usando o dataset de classificação de imagens CIFAR-10, simulando um cenário comum de expansão progressiva de dados rotulados:

    • v1.0: processamento e treinamento com 5% dos dados (~2.250 imagens de treino)
    • v2.0: processamento e treinamento com 10% dos dados (~4.500 imagens de treino)

    Para cada versão, o pipeline executa dois passos. No Passo 1, um job de processamento do SageMaker AI baixa o CIFAR-10, faz a amostragem configurada, divide em conjuntos de treino/validação/teste e versiona o resultado com DVC. O job recebe a URL do repositório DVC e o URI de rastreamento do MLflow como variáveis de ambiente:

    processor_v1 = FrameworkProcessor(
        image_uri=processing_image,
        role=role,
        instance_type="ml.m5.xlarge",
        instance_count=1,
        env={
            "DVC_REPO_URL": dvc_repo_url,
            "DVC_REPO_NAME": dvc_repo_name,
            "MLFLOW_TRACKING_URI": mlflow_app_arn,
            "MLFLOW_EXPERIMENT_NAME": experiment_name,
            "PIPELINE_RUN_ID": pipeline_run_id_v1,
        }
    )
    processor_v1.run(
        code="preprocessing_foundational.py",
        source_dir="../source_dir",
        arguments=[
            "--data-fraction", str(data_fraction_v1),
            "--data-version", data_version_v1,
            "--val-split", "0.1"
        ],
        wait=True
    )

    Dentro do script de processamento, o dataset é versionado com DVC e o hash do commit é registrado no MLflow:

    def version_with_dvc(repo_path, version_tag, pipeline_run_id):
        """Add data to DVC and push to remote."""
        subprocess.check_call(["dvc", "add", "dataset"], cwd=repo_path)
        subprocess.check_call(["git", "add", "dataset.dvc", ".gitignore"], cwd=repo_path)
        subprocess.check_call(
            ["git", "commit", "-m", f"Add dataset version {version_tag}"],
            cwd=repo_path
        )
        subprocess.check_call(["git", "tag", pipeline_run_id], cwd=repo_path)
        subprocess.check_call(["dvc", "push"], cwd=repo_path)
        subprocess.check_call(["git", "push", "origin", "main"], cwd=repo_path)
        subprocess.check_call(["git", "push", "origin", pipeline_run_id], cwd=repo_path)
        commit_id = subprocess.check_output(
            ["git", "rev-parse", "HEAD"], cwd=repo_path
        ).decode().strip()
        return commit_id

    No Passo 2, um job de treinamento clona o repositório DVC na tag exata do Passo 1, executa dvc pull para baixar o dataset versionado e faz o fine-tuning de um modelo MobileNetV3-Small pré-treinado. A ponte de linhagem — o registro do hash do commit DVC no MLflow — acontece no script de treinamento:

    # Fetch data: clone DVC repo at the exact tag, then dvc pull
    data_git_commit_id = fetch_data_from_dvc()
    
    with mlflow.start_run(run_name=run_name) as run:
        mlflow.log_params({
            "data_version": data_version,
            "data_git_commit_id": data_git_commit_id,  # <-- the lineage bridge
            "dvc_repo_url": dvc_repo_url,
            "model_architecture": "mobilenet_v3_small",
            "epochs": args.epochs,
            "learning_rate": args.learning_rate,
            # ...
        })

    Com esse padrão, é possível responder perguntas como: “qual versão do dataset treinou este modelo?”, “consigo reproduzir os dados de treinamento?” e “por que a performance do modelo mudou entre versões?”. Os modelos treinados são automaticamente registrados no MLflow Model Registry com histórico de versões e links para a execução de treinamento que os gerou. Com a integração entre o SageMaker AI MLflow App e o SageMaker AI Model Registry, o MLflow também registra automaticamente o modelo no Model Registry do SageMaker AI.

    O notebook também demonstra a implantação do modelo recomendado (v2.0, treinado com mais dados) do MLflow Model Registry para um endpoint de inferência em tempo real do SageMaker AI usando o ModelBuilder. Após a implantação, é possível invocar o endpoint com bytes de imagem bruta e obter predições de classe.

    Padrão 2: Linhagem em nível de registro (conformidade em saúde)

    O segundo padrão estende o padrão fundacional para ambientes regulados, adicionando rastreabilidade em nível de registro individual por meio de manifestos e registros de consentimento.

    A adição do manifesto

    A diferença central é um manifesto: um arquivo CSV estruturado que lista cada registro individual em cada versão do dataset:

    patient_id,scan_id,file_path,split,label
    PAT-00001,PAT-00001-SCAN-0001,train/normal/00042.png,train,normal
    PAT-00023,PAT-00023-SCAN-0015,train/tubercolosis/00015.png,train,tubercolosis
    ...

    Esse manifesto é salvo dentro do diretório do dataset versionado pelo DVC e registrado como artefato do MLflow em cada execução de treinamento. Isso torna os registros individuais consultáveis diretamente no MLflow, sem precisar baixar o dataset completo do DVC.

    O registro de consentimento e o fluxo de opt-out

    O fluxo é orientado por um registro de consentimento — um arquivo CSV listando cada paciente e seu status de consentimento. Em produção, isso seria um banco de dados com commits transacionais e trilha de auditoria própria. O job de processamento lê esse registro e inclui apenas registros com consent_status == "active". O código de processamento é idempotente: um opt-out é simplesmente uma mudança de entrada que produz um dataset novo e limpo quando o mesmo pipeline é executado novamente.

    O notebook demonstra um ciclo completo de opt-out:

    • v1.0 — Baseline: processamento e treinamento com todos os pacientes com consentimento ativo. O manifesto lista todos os exames. O modelo é registrado no MLflow com o manifesto como artefato.
    • Evento de opt-out: o paciente PAT-00023 solicita exclusão. O status de consentimento é atualizado para revoked no registro, e o registro atualizado é enviado ao S3.
    • v2.0 — Dataset limpo: o mesmo job de processamento roda com o registro atualizado. As imagens de PAT-00023 são automaticamente excluídas. O DVC versiona o novo dataset. O modelo é retreinado e registrado como nova versão no MLflow.
    • Verificação de auditoria: consultas ao MLflow confirmam que PAT-00023 aparece apenas no modelo v1.0 e está ausente dos modelos treinados após a data de opt-out.

    Consultas de auditoria

    O módulo utils/audit_queries.py do repositório fornece três funções de consulta que operam baixando artefatos de manifesto do MLflow:

    • find_models_with_patient("PAT-00023") — busca execuções de treinamento que incluem um paciente. Retorna apenas a execução v1.0.
    • verify_patient_excluded_after_date("PAT-00023", "2025-06-01") — verifica modelos treinados após uma data e confirma a ausência do paciente. Retorna PASSED ou FAILED com detalhes.
    • get_patients_in_model(run_id) — lista os IDs de pacientes nos dados de treinamento de um modelo específico.
    from utils.audit_queries import find_models_with_patient
    
    # "Which models were trained on this patient's data?"
    find_models_with_patient("PAT-00023", experiment_name="demo-cxr-mlflow-dvc")

    Essas consultas não exigem um checkout do DVC — elas operam inteiramente sobre artefatos do MLflow, sendo rápidas o suficiente para respostas interativas de auditoria. Para produção em escala, a recomendação é escrever tuplas (record_id, run_id, data_version) no Amazon DynamoDB no momento do treinamento, apontar o Amazon Athena para o prefixo de artefatos do MLflow no S3, ou usar um AWS Lambda pós-treinamento para popular um índice.

    Embora o exemplo use terminologia de saúde, o padrão se aplica a outros domínios que exigem rastreabilidade em nível de registro: serviços financeiros, moderação de conteúdo com conteúdo enviado por usuários, ou qualquer sistema de ML sujeito a solicitações de exclusão de dados.

    Boas práticas e considerações de segurança

    O fluxo integrado cria rastreabilidade em três camadas:

    • Camada Git + DVC: cada versão do dataset é uma tag Git apontando para um commit DVC. Executar git checkout <tag> && dvc pull restaura os dados processados exatos.
    • Camada MLflow: cada execução de treinamento registra o data_git_commit_id, vinculando o modelo à versão de dados DVC. O manifesto de nível de registro (quando usado) torna registros individuais consultáveis.
    • Camada Model Registry: cada versão de modelo registrada está vinculada à sua execução de treinamento, que está vinculada à sua versão de dados.

    Para implantações em ambientes regulados (HIPAA, FDA 21 CFR Part 11, GDPR), a AWS recomenda adicionar controles em nível de infraestrutura:

    • S3 Object Lock (modo de conformidade) nos remotes DVC e nos armazenamentos de artefatos do MLflow
    • AWS CloudTrail para registro independente e append-only de acessos
    • Políticas de Gerenciamento de Identidade e Acesso (IAM) com privilégio mínimo para buckets de produção, servidores de rastreamento MLflow e repositórios Git
    • Criptografia em repouso usando o AWS Key Management Service (AWS KMS)

    Otimizando a iteração

    Para acelerar experimentos repetidos, dois recursos do SageMaker AI são recomendados:

    • SageMaker Managed Warm Pools — mantém instâncias de treinamento aquecidas entre jobs, reutilizando infraestrutura já provisionada. Basta adicionar keep_alive_period_in_seconds à configuração de Compute. Esse recurso se aplica apenas a jobs de treinamento, não de processamento.
    • SageMaker AI Pipelines — orquestra o fluxo processamento → treinamento → registro como um pipeline único e repetível. Os pipelines gerenciam dependências entre etapas, passam artefatos automaticamente e podem ser disparados programaticamente — por exemplo, quando um paciente faz opt-out e o manifesto é atualizado.

    Pré-requisitos e limpeza

    Para seguir o guia, são necessários: uma conta AWS com permissões para Amazon SageMaker (Processing, Training, MLflow Apps, Endpoints), Amazon S3, AWS CodeCommit e Gerenciamento de Identidade e Acesso (IAM); Python 3.11 ou 3.12; e o SageMaker Python SDK v3.4.0 ou posterior. O repositório de acompanhamento inclui um requirements.txt com todas as dependências.

    Os notebooks usam o AWS CodeCommit como backend Git para metadados do DVC, mas o DVC funciona com outros provedores Git (GitHub, GitLab, Bitbucket). Basta substituir a URL do git remote add origin e configurar as credenciais adequadas — por exemplo, armazenando tokens no AWS Secrets Manager e buscando-os em tempo de execução, ou usando o AWS CodeConnections.

    Para evitar cobranças contínuas, é importante excluir os recursos criados ao final dos testes: o endpoint do SageMaker AI, o MLflow App (opcional), o repositório do AWS CodeCommit e os dados no S3. O principal gerador de custos é o endpoint de inferência em tempo real do SageMaker AI — ele deve ser excluído imediatamente após os testes.

    Conclusão

    A abordagem demonstrada pela AWS combina DVC para versionamento de dados, Amazon SageMaker AI para treinamento e orquestração escaláveis, e SageMaker AI MLflow Apps para rastreamento de experimentos e registro de modelos. Os resultados principais são:

    • Reprodutibilidade completa: modelos podem ser rastreados até seus dados de treinamento exatos via hashes de commit DVC armazenados no MLflow.
    • Linhagem em nível de registro: o padrão de manifesto permite consultar quais registros individuais treinaram um determinado modelo — essencial para conformidade com opt-out e respostas a auditorias.
    • Alinhamento de conformidade sem estado: o padrão de registro de consentimento trata exclusões de registros como mudanças de entrada, sem alterar o código de processamento.
    • Comparação de experimentos: o MLflow oferece comparação lado a lado de modelos treinados em versões diferentes de dados, com rastreamento completo de parâmetros e métricas.

    Os dois notebooks disponíveis no repositório GitHub de acompanhamento são implantáveis diretamente. O padrão fundacional atende equipes que precisam de rastreabilidade em nível de dataset. O padrão de conformidade em saúde o estende para ambientes regulados que exigem trilhas de auditoria em nível de registro. Ambos compartilham o mesmo código de treinamento e arquitetura do SageMaker AI. Para aprofundar no versionamento com DVC, o guia Versionando Dados e Modelos é o ponto de partida recomendado.

    Fonte

    End-to-end lineage with DVC and Amazon SageMaker AI MLflow apps (https://aws.amazon.com/blogs/machine-learning/end-to-end-lineage-with-dvc-and-amazon-sagemaker-ai-mlflow-apps/)

  • Do time de desenvolvimento para toda a organização: usando o Claude Cowork no Amazon Bedrock

    Claude Cowork chega ao Amazon Bedrock

    A AWS anunciou a disponibilidade do Claude Cowork no Amazon Bedrock. A partir de agora, é possível executar o Cowork e o Claude Code Desktop diretamente pelo Amazon Bedrock — seja de forma direta ou por meio de um gateway de Modelo de Linguagem de Grande Escala (LLM). A proposta é clara: expandir o uso de Inteligência Artificial (IA) para além das equipes de desenvolvimento e alcançar todos os trabalhadores do conhecimento dentro de uma organização.

    Startups e grandes empresas de diferentes setores já utilizam o Claude Code no Amazon Bedrock para aumentar a produtividade de desenvolvedores e acelerar entregas. Com essa nova integração, a AWS amplia esse alcance para funções como produto, operações, finanças e pesquisa.

    O que é o Claude Cowork

    O Claude Cowork é uma aplicação desktop que permite delegar tarefas como pesquisa, análise de documentos, processamento de dados e geração de relatórios diretamente ao Claude. Os usuários têm acesso às funcionalidades centrais do Claude Desktop, incluindo projetos, artefatos, memória, upload e exportação de arquivos, conectores remotos, skills, plugins e servidores MCP.

    É importante destacar que funcionalidades que dependem da infraestrutura hospedada pela Anthropic — como a aba de Chat, o Computer Use e o Skills Marketplace — não estão disponíveis nessa modalidade. Isso ocorre porque o Claude Cowork direciona toda a inferência de modelos exclusivamente pelo Amazon Bedrock, dentro da conta AWS da organização. Para uma comparação completa de funcionalidades com o Claude Enterprise, a AWS disponibiliza a matriz de funcionalidades para terceiros.

    O modelo de cobrança é baseado em consumo, integrado ao contrato e faturamento AWS já existente — sem licenciamento por assento cobrado pela Anthropic.

    Como o Claude Cowork se integra ao Amazon Bedrock

    O Amazon Bedrock atua como o backend de inferência dentro da conta AWS da organização, nas regiões AWS suportadas. A configuração do Claude Cowork no Amazon Bedrock envolve dois passos principais.

    Primeiro, os usuários fazem o download do aplicativo Claude Desktop em seus computadores. Em seguida, o sistema de gerenciamento de dispositivos da organização — como Jamf, Microsoft Intune ou Group Policy — envia uma configuração ao Claude Desktop que ativa o modo de inferência, especificando o ID do modelo e o Perfil de Inferência do Amazon Bedrock, o método de autenticação e as políticas organizacionais.

    Se a organização centraliza o acesso a modelos por meio de um gateway de LLM, basta apontar o Claude Desktop para a URL do gateway usando a mesma configuração gerenciada. Organizações que já utilizam o Claude Code no Amazon Bedrock podem aproveitar a mesma infraestrutura existente.

    Imagem original — fonte: Aws

    O aplicativo possui três caminhos de saída, todos sob controle da organização:

    • A inferência de modelos vai para o Amazon Bedrock nas regiões AWS configuradas.
    • As conexões com servidores MCP, quando configuradas, vão para endpoints aprovados pela organização.
    • A Anthropic recebe apenas telemetria agregada (contagem de tokens, ID do modelo, códigos de erro e identificador anônimo do dispositivo) — o que pode ser desativado por configuração.

    O Amazon Bedrock oferece perfis de inferência dentro da região, geo entre regiões e global entre regiões, permitindo que cada organização escolha o nível adequado de residência de dados.

    Integração com serviços AWS

    O Claude Cowork funciona com os serviços AWS que as organizações já utilizam:

    Para detalhes sobre configuração de MDM (Gerenciamento de Dispositivos Móveis), credenciais, servidores MCP e plugins, a AWS disponibiliza a referência de configuração do Claude Cowork.

    Claude Cowork na prática

    Com a integração configurada, os usuários abrem o Claude Desktop e começam a delegar trabalho. O Claude Cowork pode se conectar a fontes de dados externas por meio de servidores MCP, dando ao Claude acesso a documentação em tempo real, busca na web e outras ferramentas.

    Um exemplo prático ilustra bem o potencial: imagine um gerente de produto planejando uma nova funcionalidade de notificações para um aplicativo de atletismo universitário hospedado na AWS. Ele tem anotações de reuniões com clientes que apontam em direções diferentes, um conjunto de requisitos de projeto e pouco tempo para reconciliar tudo. Ao fazer o upload desses materiais no Cowork, o Claude compara os insumos, sintetiza tudo em um único briefing de produto, avalia a abordagem proposta, pesquisa alternativas, aponta desafios técnicos e embasa recomendações com evidências.

    Conectado ao servidor MCP de documentação AWS e a um servidor MCP de busca na web, o Claude ancora o briefing em documentação atualizada dos serviços, contexto de mercado e posicionamento competitivo. Em minutos, o gerente de produto tem um documento estruturado, fundamentado em fontes atuais e pronto para revisão.

    O mesmo padrão se aplica a outros perfis: um gerente de operações pode consolidar documentação dispersa em um Procedimento Operacional Padrão (POP). Um analista financeiro pode transformar dados brutos em uma revisão mensal formatada. Uma equipe de pesquisa pode compilar descobertas de múltiplas fontes em um único relatório.

    Disponibilidade

    O Claude Cowork está disponível para macOS e Windows nas regiões AWS onde os modelos Claude estão disponíveis no Amazon Bedrock. Para começar, basta fazer o download do Claude Desktop em claude.com/download e consultar o Guia de Configuração do Claude Cowork.

    Fonte

    From developer desks to the whole organization: Running Claude Cowork in Amazon Bedrock (https://aws.amazon.com/blogs/machine-learning/from-developer-desks-to-the-whole-organization-running-claude-cowork-in-amazon-bedrock/)

  • Relatório SOC 1 Inverno 2025 da AWS já está disponível com 184 serviços no escopo

    O que foi anunciado

    A Amazon Web Services (AWS) acaba de disponibilizar o relatório de Controles de Sistema e Organização (SOC) 1 referente ao ciclo Inverno 2025. O documento cobre um período de 12 meses — de 1º de janeiro a 31 de dezembro de 2025 — e contempla 184 serviços dentro do escopo de auditoria.

    Essa cobertura anual é importante porque oferece às empresas clientes uma visão contínua e consolidada sobre os controles internos da AWS relacionados a relatórios financeiros, facilitando o processo de conformidade e auditorias externas.

    Por que o SOC 1 importa para sua empresa

    O relatório SOC 1 é um documento de auditoria independente que atesta a eficácia dos controles internos de um provedor de serviços em nuvem no que diz respeito ao impacto sobre os relatórios financeiros dos clientes. Para empresas brasileiras que operam em setores regulados — como financeiro, saúde e varejo — ter acesso a esse relatório é frequentemente um requisito de compliance ou de auditorias internas.

    Com 184 serviços cobertos, a AWS demonstra um compromisso crescente em ampliar o escopo dos seus programas de conformidade, ajudando as organizações a atenderem tanto requisitos arquiteturais quanto regulatórios.

    Como acessar o relatório

    O relatório SOC 1 Inverno 2025 está disponível para download pelo AWS Artifact, o portal de autoatendimento da AWS para acesso sob demanda a documentos de conformidade. Para obtê-lo, basta acessar o AWS Artifact no Console de Gerenciamento da AWS. Caso ainda não conheça a ferramenta, a AWS disponibiliza um guia introdutório em Primeiros Passos com o AWS Artifact.

    Serviços no escopo

    A lista completa dos serviços cobertos pelos programas de conformidade da AWS pode ser consultada na página de Serviços no Escopo. A AWS atualiza essa lista continuamente à medida que novos serviços são incluídos nos programas de auditoria.

    Dúvidas e suporte

    Clientes que tiverem perguntas sobre o relatório SOC 1 ou sobre os programas de conformidade da AWS podem entrar em contato com a equipe de conta AWS. Para uma visão geral de todos os programas de conformidade disponíveis, a AWS mantém uma página dedicada em Programas de Conformidade da AWS. Feedbacks e dúvidas específicas sobre compliance também podem ser enviados diretamente pela página de Contato da equipe de conformidade.

    Fonte

    Winter 2025 SOC 1 report is now available with 184 services in scope (https://aws.amazon.com/blogs/security/winter-2025-soc-1-report-is-now-available-with-184-services-in-scope/)