Todos os produtos do AWS Marketplace
S4 Weights
IA & GPU

S4 Weights

Compressão lossless de checkpoints em GPU

Compressão sem perdas bit-exact Serviço da AWS que substitui: Armazenamento de checkpoints PyTorch no S3
Obter no AWS Marketplace

Um codec de compressão lossless em GPU para checkpoints de treinamento PyTorch (weights + optimizer state). Ele divide cada tensor em byte-planes e encaminha o plano de expoente pelo ANS e a mantissa pelo GDeflate (nvCOMP) na GPU, mantendo bit-exact (lossless) para bf16, fp16 e fp32. Checkpoints comprimidos persistem no seu próprio bucket S3. Entregue como GPU AMI g6 / g6e.

S4 Weights é um codec transparente e lossless para os checkpoints que uma execução de treinamento grava — os pesos do modelo e o estado do otimizador. A restauração é byte-for-byte idêntica, verificada contra padrões de bits adversariais (NaN, ±Inf, denormal, -0.0) em todos os dtype compatíveis. Para execuções que fazem checkpoint com frequência, ele também comprime o delta byte-XOR entre checkpoints consecutivos. O próprio build da AMI falha se um round-trip compress→decompress não for bit-exact na GPU de build, então uma remontagem de plano quebrada nunca chega a uma imagem de cliente. Seus checkpoints nunca saem da sua própria VPC e bucket S3.

O problema

Execuções de treinamento em larga escala do PyTorch gravam checkpoints — os pesos do modelo e o estado do otimizador — frequentemente, de modo que o espaço ocupado no Amazon S3 e os bytes transferidos continuam crescendo. Checkpoints maiores também significam paralisações mais longas para salvar/carregar que pausam o treinamento a cada vez, acumulando custos de armazenamento e tempo de ociosidade da GPU. Esses checkpoints são números brutos em bf16/fp16/fp32, nos quais qualquer perda ou quantização é inaceitável, de forma que a compressão precisa ser lossless para ser confiável.

Como funciona

  1. 1

    Divida em planos de bytes na GPU

    Cada tensor é dividido na GPU em planos de bytes de sinal, expoente e mantissa, e cada plano é direcionado ao codec adequado — o plano do expoente por codificação de entropia ANS, a mantissa via GDeflate e o plano do sinal empacotado em bits (construído sobre o NVIDIA nvCOMP).

  2. 2

    Comprima o delta entre checkpoints

    Para execuções que realizam checkpoints com frequência, o S4 Weights também armazena e comprime o delta XOR de bytes entre checkpoints consecutivos, o qual é muito menor quando a maioria dos pesos quase não se altera entre os salvamentos.

  3. 3

    Restaure com precisão de bits, persista no seu próprio S3

    A restauração é sempre idêntica byte a byte, verificada contra padrões de bits adversos (NaN, +/-Inf, denormal, -0.0) em todos os dtypes suportados. Os checkpoints comprimidos persistem no bucket do S3 configurado por você e nunca saem da sua conta.

Destaques

Lossless (byte-for-byte) para bf16 / fp16 / fp32, verificado contra NaN / ±Inf / denormal / -0.0 adversariais.

Divisão em byte-planes: expoente → ANS, mantissa → GDeflate na GPU (nvCOMP); também comprime a cadeia de deltas entre checkpoints.

Checkpoints comprimidos chegam ao seu próprio bucket S3 dentro da sua própria VPC; GPU AMI g6 / g6e.

O que está incluído

  • Codec de checkpoint lossless para GPU — compressão exata em bits de checkpoints de treinamento do PyTorch (pesos do modelo e estado do otimizador) para bf16/fp16/fp32
  • Caminho de dados de planos de bytes (plano do expoente -> ANS, plano da mantissa -> GDeflate, plano de sinal empacotado em bits, executado na GPU e construído sobre o NVIDIA nvCOMP)
  • Cadeia de deltas XOR de bytes entre checkpoints consecutivos — economia extra em salvamentos frequentes, e nunca expande um blob além de um pequeno cabeçalho fixo
  • API drop-in para PyTorch — s4weights.save / s4weights.load transparentes mais um armazenamento de checkpoints base->delta (save_checkpoint / load_checkpoint)
  • Verificação de padrões de bits adversos — NaN / +/-Inf / denormal / -0.0 verificado em todos os dtypes suportados, e o próprio build da AMI falha a menos que um round-trip de compressão->descompressão na GPU seja exato em bits
  • AMI de GPU g6/g6e baseada em Ubuntu 22.04 com modelo CloudFormation de ponta a ponta (deploy/cfn-train-runner.yaml); o runner é um serviço systemd não root que fornece um endpoint de integridade em TCP 8080
  • Persistência em seu próprio bucket de registro do S3 (seus dados nunca deixam sua conta), além de uma verificação de direito de uso do RegisterUsage com comportamento fail-closed na inicialização

Casos de uso

Treinamentos de grande porte do PyTorch que salvam checkpoints com frequência e buscam reduzir custos de armazenamento do S3 e bytes transferidos

Workloads onde o estado do otimizador domina e você deseja pausas mais curtas para salvar/carregar

Pipelines de treinamento que não toleram nenhuma perda ou quantização e precisam de restauração bit a bit garantida

Equipes cujos dados comprimem bem, como checkpoints all-bf16 ou de otimizador de baixa precisão

FAQ

A compressão é realmente sem perdas?

Sim. A restauração é sempre idêntica byte a byte, verificada para pesos bf16/fp16/fp32 e estado do otimizador fp32 contra padrões de bits adversos (NaN, +/-Inf, desnormalizados, -0.0). A própria build da AMI falha a menos que o round-trip de compressão->descompressão na GPU seja idêntico bit a bit, de forma que um codec com reconstrução de plano corrompida nunca chegue à imagem do cliente.

Quanto ele comprime?

Depende dos dados. Checkpoints all-bf16 / de otimizador de baixa precisão comprimem bem (e melhor em escala), enquanto checkpoints com muito fp32 salvos com grandes intervalos comprimem pouco. Somos honestos sobre onde isso ajuda e não alegamos uma taxa fixa. A compressão é sempre sem perdas e nunca expande um blob além de um pequeno cabeçalho fixo.

Onde meus checkpoints são armazenados?

Os checkpoints comprimidos são persistidos no bucket de registro do Amazon S3 que você configurar e nunca deixam sua conta. Você inicia a AMI dentro da sua própria VPC, e seu código de treinamento do PyTorch grava os checkpoints com s4weights.save / s4weights.load (ou o save_checkpoint / load_checkpoint da cadeia de deltas), comprimindo cada tensor na GPU e persistindo os checkpoints comprimidos idênticos bit a bit no seu registro do S3.

Em que ele é executado e como é cobrado?

Ele é executado em instâncias de GPU g6 ou g6e, configuradas de ponta a ponta pelo modelo CloudFormation incluso (deploy/cfn-train-runner.yaml). A cobrança é por hora de instância com uma opção anual. A AWS mede as horas de instância em execução automaticamente, e o runner chama o RegisterUsage uma vez na inicialização como uma verificação de direito de uso do tipo fail-closed (uma instância sem direito de uso se recusa a iniciar).

É fácil de integrar ao meu código de treinamento do PyTorch?

É drop-in. Você grava checkpoints usando os transparentes s4weights.save / s4weights.load, ou usa save_checkpoint / load_checkpoint para o armazenamento de checkpoints do tipo base->delta. Cada tensor é comprimido na GPU e, em salvamentos frequentes, o delta byte-XOR entre checkpoints consecutivos também é armazenado e comprimido.

Modelo de precificação

Taxa horária de software + GPU EC2 (g6 / g6e). Cobrança por tipo de instância, opção anual disponível.

Obter no AWS Marketplace