返回 AWS Marketplace 產品列表
S4 Weights
AI & GPU

S4 Weights

Lossless GPU checkpoint compression

位元精確無損壓縮 替換的 AWS 服務: S3 中的 PyTorch checkpoint storage
在 AWS Marketplace 取得

何時收回成本?

回收週期取決於成本項目和替換範圍

該產品的回收週期取決於您目前的 AWS 支出、替換範圍和執行環境。請使用帳單模擬器識別符合的成本項目並取得粗略的節省估算。

用您的帳單估算

估算您的節省金額

輸入相關每月支出或使用量即可獲得粗略估算 — 無需上傳帳單。

完整帳單上傳與其他產品

面向 PyTorch training checkpoints(weights + optimizer state)的 GPU lossless compression codec。它對每個 tensor 做 byte-plane split,並在 GPU 上將 exponent plane 交給 ANS、mantissa 交給 GDeflate(nvCOMP),對 bf16、fp16 和 fp32 保持 bit-exact(lossless)。壓縮後的 checkpoints 儲存到你自己的 S3 bucket。以 g6 / g6e GPU AMI 交付。

S4 Weights 是一個透明、lossless codec,用於壓縮 training run 寫出的 checkpoints — model weights 和 optimizer state。恢復結果 byte-for-byte identical,並已針對每種受支援 dtype 上的對抗性 bit pattern(NaN、±Inf、denormal、-0.0)驗證。對於頻繁 checkpoint 的 run,它還會壓縮連續 checkpoints 之間的 byte-XOR delta。AMI build 本身會在 build GPU 上執行 compress→decompress round-trip;若不是 bit-exact 則 build 失敗,因此損壞的 plane reassembly 不會進入客戶 image。你的 checkpoints 永遠不會離開你自己的 VPC 和 S3 bucket。

面臨挑戰

大規模 PyTorch 訓練會頻繁寫入檢查點 —— 即模型權重和最佳化器狀態 —— 因此它們在 Amazon S3 中占用的儲存空間和傳輸的位元組數會持續增加。更大的檢查點還意味著每次儲存/載入時暫停訓練的停頓時間更長,從而增加了儲存成本和 GPU 空閒時間。這些檢查點是原始的 bf16/fp16/fp32 數值,不允許出現任何遺失或量化,因此壓縮必須是無損的才能被信賴使用。

運作原理

  1. 1

    在 GPU 上拆分為位元組平面

    每個張量在 GPU 上拆分為正負號、指數和尾數位元組平面,每個平面均被分配給最適合的編解碼器 —— 指數平面進行 ANS 熵編碼,尾數平面使用 GDeflate,正負號平面執行位元打包(基於 NVIDIA nvCOMP 建構)。

  2. 2

    壓縮檢查點之間的差分

    對於頻繁儲存檢查點的訓練執行,S4 Weights 還會儲存並壓縮連續檢查點之間的位元組級 XOR 差分,當大多數權重在兩次儲存之間幾乎沒有移動時,該差分會比原始檢查點小得多。

  3. 3

    位元級完全還原,並儲存到您自己的 S3

    還原在位元組級始終完全一致,已針對所有支援的 dtype 對對抗性位元模式(NaN、+/-Inf、非規格化數、-0.0)進行了驗證。壓縮後的檢查點將持久化儲存到您設定的 S3 儲存貯體中,且絕不會離開您的帳戶。

產品亮點

bf16 / fp16 / fp32 的 lossless(byte-for-byte),已針對對抗性 NaN / ±Inf / denormal / -0.0 驗證。

byte-plane 拆分:exponent → ANS,mantissa → GPU(nvCOMP)上的 GDeflate;同時壓縮 checkpoint 之間的 delta chain。

壓縮後的 checkpoints 落在你自己 VPC 內的你自己的 S3 bucket;g6 / g6e GPU AMI。

包含內容

  • GPU 無損檢查點編解碼器 — 實現 PyTorch 訓練檢查點(模型權重和最佳化器狀態)的 bf16/fp16/fp32 位元級完全一致壓縮
  • 位元組平面資料路徑(指數平面 -> ANS,尾數平面 -> GDeflate,符號平面位元打包,在 GPU 上執行並基於 NVIDIA nvCOMP 建置)
  • 連續檢查點之間的位元組級 XOR 差分鏈 — 在頻繁儲存時進一步節省空間,且絕不會使 blob 的膨脹超出微小的固定標頭
  • PyTorch 即插即用 API — 透明的 s4weights.save / s4weights.load,以及 base->delta 檢查點儲存(save_checkpoint / load_checkpoint)
  • 對抗性位元模式驗證 — 在所有支援 of dtype 上校驗 NaN / +/-Inf / 非規格化數 / -0.0,且除非在建置用 GPU 上的壓縮->解壓往返過程位元完全一致,否則 AMI 建置本身會直接失敗
  • 基於 Ubuntu 22.04 的 g6/g6e GPU AMI,附帶端到端 CloudFormation 範本(deploy/cfn-train-runner.yaml);runner 是一個非 root 的 systemd 服務,在 TCP 8080 上提供健康檢查端點
  • 持久化到您自己的 S3 註冊表儲存貯體(您的資料絕不會離開您的帳戶),加上啟動時故障閉合的 RegisterUsage 授權檢查

適用場景

頻繁儲存檢查點且希望降低 S3 儲存成本和傳輸位元組數的大規模 PyTorch 訓練任務

最佳化器狀態佔主導地位且希望縮短儲存/載入停頓的工作負載

無法容忍任何損失或量化且需要保證位元級精確復原的訓練管線

處理易於壓縮的資料(例如全 bf16 或低精度最佳化器檢查點)的團隊

常見問題

壓縮真的是無損的嗎?

是的。復原的資料始終逐位元組完全一致,並針對 bf16/fp16/fp32 權重和 fp32 最佳化器狀態的對抗性位元模式(NaN、+/-Inf、非正規數、-0.0)進行驗證。AMI 建置本身在 GPU 壓縮->解壓 the 往返過程非位元精確時會直接失敗,因此平面重構損壞的編解碼器絕不會進入客戶映像檔中。

能壓縮多少?

這取決於資料。全 bf16 / 低精度最佳化器檢查點壓縮效果很好(且規模越大效果越好),而儲存間隔較長、以 fp32 為主的檢查點則幾乎無法壓縮。我們對於其能發揮作用的場景保持坦誠,不宣稱有固定的壓縮率。壓縮始終是無損的,且絕不會使 blob 的膨脹超出微小固定檔案標頭的大小。

我的檢查點儲存在哪裡?

壓縮後的檢查點將持久化儲存到您設定的 Amazon S3 註冊表儲存貯體中,並且絕不會離開您的帳戶。您在自己的 VPC 內啟動 AMI,您的 PyTorch 訓練程式碼使用 s4weights.save / s4weights.load(或增量鏈 save_checkpoint / load_checkpoint)寫入檢查點,該操作在 GPU 上壓縮每個張量,並將位元級精確的壓縮檢查點持久化儲存到您的 S3 註冊表中。

它執行在什麼執行個體上,如何計費?

It runs on g6 or g6e GPU instances, wired end-to-end by the bundled CloudFormation template (deploy/cfn-train-runner.yaml). Billing is per-instance-hour with an annual option. AWS meters the running instance-hours automatically, and the runner calls RegisterUsage once at boot as a fail-closed entitlement check (an unentitled instance refuses to start).

是否容易整合到我的 PyTorch 訓練程式碼中?

它是即插即用的。您可以使用透明的 s4weights.save / s4weights.load 寫入檢查點,或者針對 base->delta 檢查點儲存使用 save_checkpoint / load_checkpoint。每個張量都會在 GPU 上進行壓縮,對於頻繁儲存的場景,連續檢查點之間的位元組異或差分也會被儲存並壓縮。

為什麼更便宜

假設預訓練 70B 參數 LLM,每月 200 個 checkpoint (每個約 420 GB),由 8× H100 叢集儲存。

不使用 S4 Weights (原始 torch.save → S3)
8× H100 訓練
200 × 420 GB = 84 TB
S3 儲存桶
S3 儲存 (84 TB)
$1,930 / 月
Checkpoint 停頓 (GPU 閒置 16.7 h)
$4,670 / 月
月度合計
$6,600 / 月
使用 S4 Weights
8× H100 訓練
byte-plane 壓縮
S4 Weights
g6.xlarge
59 TB (delta + bit-exact)
S3 儲存桶
S3 儲存 (59 TB)
$1,360 / 月
GPU 停頓 (3.3 h, 5× 加速)
$930 / 月
S4 Weights 執行個體 (g6.xlarge + 軟體費)
$590 / 月
月度合計
$2,880 / 月
−56%與原始 torch.save → S3 相比

依訓練規模選擇 S4 Weights 執行個體

模型規模推薦執行個體S4 Weights 執行個體費用每月合計對比原始 torch.save
~7B / 月 50 ckptg6.xlarge$590 / 月$1,050 / 月 (raw $1,300, −19%)
~70B / 月 200 ckptg6.xlarge$590 / 月$2,880 / 月 (raw $6,600, −56%)
~400B / 月 500 ckptg6.4xlarge$965 / 月$13,200 / 月 (raw $36,500, −64%)

僅供參考。S3 儲存費用使用 us-east-1 公開價格 ($0.023/GB·月),8× H100 叢集假設 ~$280/h (p5/p5e 價位)。Checkpoint 停頓時間為每個 ckpt raw 5 分鐘、S4 Weights 1 分鐘。30% 壓縮率為 byte-plane + delta 的中位數估計,因模型架構和訓練階段而異 (10–50%)。

計費模式

按小時計費的軟體費用 + GPU EC2(g6 / g6e)。按 instance type 計量,提供年度選項。

在 AWS Marketplace 取得