S4 Weights
Compressão lossless de checkpoints em GPU
Quando isso se paga?
O retorno depende da linha de custo e do escopo de substituição
O retorno deste produto depende do seu gasto atual na AWS, do escopo de substituição e do ambiente de execução. Use o simulador de fatura para identificar linhas de custo correspondentes e uma estimativa aproximada.
Estime sua economia
Informe seu gasto ou uso mensal relevante para uma estimativa aproximada — sem upload de fatura.
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
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
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
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.
Por que é mais barato
Pressuposto: pré-treinamento de um LLM de 70B com 200 checkpoints/mês (~420 GB cada) em um cluster 8× H100.
- Armazenamento S3 (84 TB)
- $1,930 / mês
- Stalls de checkpoint (16,7 h de GPU ocioso)
- $4,670 / mês
- Total mensal
- $6,600 / mês
- Armazenamento S3 (59 TB)
- $1,360 / mês
- Stalls de GPU (3,3 h, 5× mais rápido)
- $930 / mês
- Instância S4 Weights (g6.xlarge + taxa de software)
- $590 / mês
- Total mensal
- $2,880 / mês
Dimensionar a instância S4 Weights conforme a escala de treinamento
| Escala do modelo | Instância recomendada | Custo da instância S4 Weights | Total mensal vs. torch.save direto |
|---|---|---|---|
| ~7B / 50 ckpt/mês | g6.xlarge | $590 / mês | $1.050 / mês (raw $1.300, −19 %) |
| ~70B / 200 ckpt/mês | g6.xlarge | $590 / mês | $2.880 / mês (raw $6.600, −56 %) |
| ~400B / 500 ckpt/mês | g6.4xlarge | $965 / mês | $13.200 / mês (raw $36.500, −64 %) |
Exemplo ilustrativo. O S3 usa o preço publicado de us-east-1 ($0,023/GB-mês); o cluster 8× H100 é estimado em ~$280/h (faixa p5/p5e). O stall por checkpoint é 5 min raw vs 1 min com S4 Weights. A compressão de 30 % é um valor médio para byte-plane + delta; faixa 10–50 % conforme arquitetura e fase.
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.
Outros produtos S4
S4 — Squished S3
Gateway transparente de compressão S3 com GPU
S4 Logs
Arquive CloudWatch Logs em S3 com zstd
S4 Metrics
Controle a cardinalidade de métricas do CloudWatch