Cadence:基于时间序列基础模型的误差有界有损压缩 Cadence: Error-Bounded Lossy Compression of Demand Time Series with a Time-Series Foundation Model
时序基础模型仅对需求类序列的有损压缩有效,297对全胜提升21.4%
前置知识
误差有界有损压缩
一类有损压缩,保证每个样本的重建误差不超过绝对容差 $\tau$:$|\hat{x}_t - x_t| \le \tau$。工作方式:先预测当前值,对预测残差按步长 $D=2\tau$ 量化,再对量化索引做熵编码。代表系统有 SZ3(Lorenzo 预测器、动态样条插值)与 ZFP(块变换)。
Cadence 本身就是这类编解码器,论文全部增益都在此框架下度量;不理解该框架就无法理解闭环量化、容差带内零残差这些核心机制。
时间序列基础模型
在海量时间序列上预训练、可对未见序列零样本预测的大模型。TimesFM-3 为 0.3B 参数的 decoder-only patched transformer,采用堆叠变量注意力与可逆实例归一化,非自回归输出 64 步预测及 9 个分位数(0.1–0.9)。
TimesFM-3 是 Cadence 的预测器 $P$,其精度优势(1.51×)决定压缩收益上限,其部署缺陷(跨 batch 不一致、分位数头无用)直接决定了论文的格式与系统设计。
熵编码与自适应算术/区间编码
按符号概率分配码长的无损编码,概率 $p$ 的符号花 $-\log_2 p$ 比特。自适应版本在编解码两端同步更新概率模型,无需传输模型本身。本文实现 LZMA 风格 11-bit 概率的二进制区间 coder,配合 CABAC 风格二值化(零标志/符号/截断一元前缀/Exp-Golomb 尾部)。
论文证明后端不是中立的:换 xz/zstd 会低估所有预测器约 10%,甚至制造出后来被反转的定性结论;同一编码器承载所有预测器的 identical-coder 协议是全文方法论支柱。
log2 定律
残差码长近似为 $\log_2(\text{残差尺度}) + c$,因此更好的预测器节省的比特为 $\Delta bits = \log_2(MAE_{old}/MAE_{new})$,只随精度比对数增长:精度翻倍只省 1 比特。把 20 bpv 文件减半需要约 1024 倍好的预测器。
这是论文第一个核心贡献,从结构上解释了为何 1.51× 预测精度优势只兑现 0.597/20.28 比特、无损神经压缩路线注定失败。
闭环量化
预测器只以自身之前的重建值 $\hat{x}_{t-c:t-1}$ 为输入,而非原始值,这样解码端可以精确复现编码端走过的路径;代价是量化噪声会在反馈回路中传播(论文用噪声增益 $G$ 度量)。
Cadence 的正确性与上下文引导设计(种子有损编码后喂回两端)都依赖闭环结构;理解它才能看懂论文对反馈噪声、确定性失步的分析。
降采样保留策略
Gorilla 系时序数据库做长期保留的默认手段:按粗粒度聚合(如日均)丢弃原始数据点。它没有最坏误差保证($L_\infty$ 无界),且丢弃了事故分析最需要的极值信息。
论文最强的实践论据是在等文件大小下与降采样对比——Cadence 最坏误差紧 28–56 倍,这是理解其应用价值(替代数据库有损保留层)的关键背景。
研究动机
Shannon 指出压缩即预测:模型给下一个符号的概率越高,编码器为其花费的比特越少。Delétang 等已证明 70B 语言模型压缩文本超越经典 context-mixing 系统,NNCP、ts_zip、FineZip 等实现跟进;时间序列基础模型 TimesFM、Chronos、Moirai 在万亿级时间点上预训练、可零样本预测——TimesFM-3 预测每小时维基百科浏览量的 MAE 为 113,608,比 32 抽头最小二乘 LPC 的 171,507 好 1.51 倍。『预测更准则压缩更好』的直觉推断顺理成章,却从未被严格检验。同时现有评测存在两个系统性缺陷:一是把残差交给 xz/zstd 等通用压缩器,混淆了密度建模与预测技能;二是常用 Wikipedia pageviews 等被训练数据污染的基准,无法支持泛化结论。数据库侧的长期保留靠降采样,丢弃极值且无最坏情况保证。
本文的目标是本文要回答一个明确问题:预训练时间序列基础模型是否降低数值数据的比特成本?作者把它拆成两个可检验命题:无损情形下,同一条自适应熵编码器承载所有预测器后,TimesFM-3 相对最强经典预测器的净增益是多少?误差有界有损情形下,构建保证逐样本误差 $|\hat{x}_t - x_t| \le \tau$ 的实际编解码器 Cadence,在晚于任何训练截止时间的两份 2026 语料(EIA-930 电网负荷 49 个平衡机构、MTA 地铁 50 个最繁忙车站的小时级数据)上能否稳定优于 best-of-six 经典预测器,并用 SDRBench 主动证伪以划定效应的领域边界。附带目标是为神经压缩确立确定性约束、容器格式要求与真字节测量纪律。
与已有工作不同的是,独特切入有三点。其一,不做工程式对比而先建立结构理论:由码长近似 $\log_2(\text{残差尺度})+c$ 导出 $\Delta bits = \log_2(MAE_{old}/MAE_{new})$,证明 1.51 倍精度优势只值 20.28 比特中的 0.597 比特,从数学上预告无损路线失败,而非事后找原因。其二,识别出误差有界编码中零残差不连续点这一被忽视的机制——预测落入容差带时该样本几乎免费,收益随容差增大而复利放大,这与无损的对数行为本质不同。其三,把测量纪律本身作为贡献:在 i.i.d. 噪声上验证测试台(所有预测器读 12.003 比特对真实熵 12.000,增益恰为 +0.00%),主动撤回八项早期结论(如纯噪声上 +2.15% 伪增益来自密度族差异、容差趋势在真算术编码器下反转),并首次系统量化后端选择对结论的扭曲(xz/zstd 低估所有预测器约 10%)。
核心方法
直觉入口:无损编码收益走对数,但误差有界编码存在逃逸口——当预测落在容差带内,量化残差恰好为零,该样本编码成本趋近 0 比特;这是不连续性而非对数,收益随容差增大复利放大。Cadence 据此构建闭环量化编解码器:量化步长 $D = 2\tau$,预测器 $p_t = P(\hat{x}_{t-c:t-1})$ 用 TimesFM-3(上下文 $c=512$,horizon 64 只取第一步实现 stride-1,取中位数分位并关闭 9 分位数输出),量化索引 $k_t = \lceil (x_t - p_t)/D \rfloor$,重建 $\hat{x}_t = p_t + k_t D$,由构造满足 $|\hat{x}_t - x_t| \le \tau$。预测器只吃自身重建值(闭环),保证解码器可精确复现。种子 $c=512$ 个样本用五个无侧信息经典预测器中最优者有损编码,每序列只存 1 字节标识符。熵编码为自适应二进制 range coder(LZMA 风格 11-bit 概率)加 CABAC 风格二值化。基线是 best-of-six(Lorenzo 1-3 阶、LPC-32、多级线性与三次插值),全部经同一编码器、同一 $\tau$。
核心创新有四层。(1) $\log_2$ 定律作为设计约束:精度比按 $\Delta bits = \log_2(MAE_{old}/MAE_{new})$ 兑现,20 bpv 文件减半需约 1024 倍好的预测器,从而一次性解释零增益并排除逐文件自适应、检索增强上下文等整条路线。(2) 零残差不连续点:这是与 LLM 无损压缩路线的本质分岔,误差有界编码在容差带内收益随 $\tau$ 复利增长,实测客流域增益随 $\rho$ 从 +19.9% 升到 +51.2%。(3) 确定性约束:实测 TimesFM-3 预测跨 batch size 不比特一致(失步概率约 $8\times10^{-6}$/样本),禁 TF32/SDPA、开确定性算法、强制 MATH 后端都无法修复,故组大小 $G$ 必须写入容器格式,并以 SHA-256 验证比特级往返。(4) 上下文引导:种子有损编码后喂给编码器自身,使编解码从样本 0 起共享历史——这是神经 codec 独有的成本项,主导短档案(6 个月数据把 +13.3% 体增益拉低到 +6.8%)。
方法步骤详情
Algorithm 1 给出单组编码流程。输入:$G$ 条序列 $x^{(1..G)}$、每条容差 $\tau^{(g)}$、上下文长度 $c$。第一步(种子):对每条序列在五个经典预测器集合 $S$(Lorenzo 1-3 阶、多级线性、三次插值)中选 $s^{(g)} = \arg\min_P |code(P, x^{(g)}_{1:c}, \tau^{(g)})|$,输出有损种子 $\hat{x}^{(g)}_{1:c}$ 与 1 字节选择器;LPC-32 因系数需显式传输被排除。第二步(批量预测):$t$ 从 $c+1$ 到 $n$,把 $G$ 条上下文拼成恰为 $G$ 的一个 batch 调用 TimesFM-3 一次(batch 大小影响比特一致性,必须固定),取中位数预测 $p_{1:G}$。第三步(闭环量化):$D = 2\tau^{(g)}$,$k^{(g)}_t = \lceil (x^{(g)}_t - p_g)/D \rfloor$,$\hat{x}^{(g)}_t = p_g + k^{(g)}_t D$,重建值回填下一时刻上下文。第四步(熵编码):全部索引打包进单一流(防碎片化),经自适应二进制 range coder(零标志/旁路符号/截断一元前缀/Exp-Golomb 尾部)编码,上下文由近期幅值派生且解码器可复现,零传输开销。输出 header∥seeds∥压缩索引,$G=8,16$ 下比特级往返一致。
技术新颖性
相对 SZ3/ZFP:它们依赖小型确定性预测器(Lorenzo stencil、SZ3 的层级动态样条插值、ZFP 的块变换),本文首次把万亿点预训练的基础模型嵌入预测-量化框架,并用 SDRBench 主动证伪划定失效区(0/27),把『域窄』从缺陷变成经过测试的边界。相对 LLM 无损压缩(NNCP/ts_zip/FineZip):那些路线的收益同样受 $\log_2$ 定律压制,本文给出一般性判据——只有当模型相对上下文模型有数量级精度优势(如文本对 k 阶模型)时才值得,时序对线性滤波仅 1.5 倍故注定失败。相对数据库时序压缩(Gorilla/Chimp/Elf/Sprintz 的无损 XOR 流):本文瞄准它们不做长期保留(降采样)的场景,提出以误差有界 codec 替代,并给出等大小时最坏误差 28–56 倍更紧的量化对比。测量学贡献在文献中罕见:identical-coder 协议、噪声校验行、真字节核算、把后端当作实验设计变量,每一条都有可复用的方法论价值。
实验结果
五个核心结果。(1) 无损:12 条序列经同一编码器后中位增益仅 +0.03%(7/12 名义胜);TimesFM-3 在 wikihr_en 上的 MAE 113,608 对 LPC-32 的 171,507(1.513×)只兑现 $\log_2 1.513 = 0.597$ 比特(20.28 预算的 2.9%);SDRBench 中位 −0.8%、0/27,Hurricane 随容差加深至 −41%。(2) 有损主结果:电网负荷 +13.3%(147/147 全胜;ρ 三档 +6.4%/+13.3%/+21.2%),地铁客流 +28.3%(150/150;+19.9%/+27.7%/+51.2%),合计 +21.4%(297/297);NAB 运维 +6.4%(21/24),合成信号 +2.9%——效应定位于聚合人类需求序列。(3) 端到端:n=4300 容器为种子 0.412 bpv(20%)+ 主体 1.906 bpv(80%)= 2.111 bpv(15.2×),对经典 2.244 bpv 增 +6.8%,5 年升至 +14.2%、渐近 +15.1%。(4) 对比降采样:等大小最坏误差紧 28.0×/36.7×/56.1×(电网/NAB/客流)。(5) 系统侧:吞吐 224(fp32)至 442(bf16)values/s;c=512 各长度最优,c=256 只损 3.1% 体率而推理成本降为 1/4;9 分位数头仅 +0.3% 可关闭;自研算术后端较 xz/zstd +9.7%(15/15)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 无损时序压缩(12 条序列,stride-1) | bits/value(同一自适应编码器) | TimesFM-3 中位增益 +0.03%(7/12 名义胜) | best-of-6 经典预测器(及 xz) | 几乎为零:1.51× 精度优势只值 0.597/20.28 比特(log2 定律预言) |
| 误差有界有损压缩:电网负荷(EIA-930,49 平衡机构,2026) | bits/value @ ρ=0.05 | 2.056 bpv | best-of-six 经典 2.398 bpv | +13.3%(147/147 全胜;三档容差 +6.4%/+13.3%/+21.2%) |
| 误差有界有损压缩:地铁客流(MTA,50 站,2026) | bits/value @ ρ=0.05 | 2.374 bpv | best-of-six 经典 3.324 bpv | +27.7%(全量 +28.3%,150/150;ρ=0.2 达 +51.2%) |
| SDRBench 证伪测试(6 条 EXAALT + 3 条 Hurricane,1-D) | bits/value | 0/27 获胜,中位 −0.8% | best-of-six 经典 | 负增益:Hurricane @ ρ=0.2 达 −41%,按预言失败,划定域边界 |
| 对比部署保留策略(线性重建降采样) | 等文件大小下的最坏误差比 | Cadence 保证界 | 降采样(无 L∞ 保证) | 最坏误差紧 28.0×(电网)/ 36.7×(NAB)/ 56.1×(客流) |
| 端到端容器(G=16,n=4300,ρ=0.05) | bpv / 压缩比 | 2.111 bpv(15.2×);6 个月 +6.8% → 5 年 +14.2% | 经典端到端 2.244 bpv | 种子引导吃掉约一半增益,渐近 +15.1% |
| 熵编码后端(15 组真实量化索引) | 压缩字节数 | 自适应二进制 range coder | xz / zstd | +9.7%(15/15),并反转了一个此前归因错误的定性结论 |
局限与改进
作者承认的限制:吞吐比经典 codec(MB/s 级)慢约三个数量级(224 values/s),解码严格串行,只能作归档 codec;1.3GB 模型须双端常驻且权重非商用许可,自包含归档需约 54GB 载荷才能摊销;组大小 $G$ 耦合进容器格式,解一条序列须解码整组;交付收益温和(6 个月 +6.8%);领域窄——仅两份需求语料支撑,对零售、呼叫中心、电表数据无证据;比特流不可移植,GPU/CPU 执行不一致使五年小时归档失步概率约 26%,定点推理需改推理库。我的补充观察:$\tau = \rho\sigma$ 标定使两域相对误差不可比(ρ=0.05 在电网是 1.1%、在客流是 4.5%),跨域结论宜按匹配相对误差重算;best-of-six 基线按整行(序列×容差)选优属事后 oracle,流式场景无法预知未来;基线为自实现而非 QoZ 自动调优版本,可能低估经典侧;单卡 RTX 5060、batch 128–256 才饱和,吞吐与增益数字不宜外推到数据中心 GPU;未与近年学习型压缩工作直接对照。
独立分析的弱点
弱点一:吞吐瓶颈来自 stride-1 逐步调用 0.3B 模型,即便 bf16 也只有 442 values/s。改进方向:蒸馏小型学生网络逼近中位数预测(作者已提出,但 Eq. 1 限制其上限),或一次预测多步 horizon 再按需校正,或对周期性强的需求序列按日/周锚点稀疏调用模型。弱点二:浮点非确定性使比特流跨设备不可移植,五年归档 26% 失败率在合规保留场景不可接受。改进:整数/定点推理(作者提出),或在容器中嵌入周期性校验点与重同步标记,把失步损失局部化到段内。弱点三:种子主导短档案(占 20% 比特),上下文引导使 6 个月数据增益从 +13.3% 砍到 +6.8%。改进:跨序列共享字典式种子、学习式种子压缩,或短序列直接退回经典预测器(leader 混合已证明可零成本退化)。弱点四:best-of-six 基线按全行数据选优是 oracle 选择,真实流式编码不可用。改进:因果滑动窗口选择器并报告其与 oracle 的差距。弱点五:$\rho$ 相对误差随域漂移(1.1% vs 4.5%),运维方难以横向选容差。改进:按域发布相对误差-码长曲线和容差推荐表。
未来方向
作者提出的方向:整数或定点推理使比特流跨硬件可移植并解除组大小约束(部署最大障碍);蒸馏学生模型解决吞吐(受 $\log_2$ 定律上限约束);用非对称数码系统(ANS)后端提升编码吞吐而不改模型;最有价值的框架转换是不与 SZ3 竞争,而是替换时序数据库的有损保留层,并在真实数据库引擎内评估。基于成果可延伸:把『聚合独立人类决策+强周期』的生成结构假设推广到零售、电表、呼叫中心等域做边界确认;利用 TimesFM-3 原生多变量 stacked variate attention 尝试跨序列联合编码(作者只证伪了协变量通道和插值引导两条路);把 9 个分位数用于逐样本自适应容差分配而非残差上下文(后者已证 −13.8% 属上下文稀释);系统研究量化感知训练与低精度推理对压缩率的影响(bf16 扰动达 288 MW/模型误差 565 MW 的 51% 值得量化);结合因果 best-of-N 混合覆盖 SDRBench 类失效域,实现安全跨域部署。
复现评估
复现条件非常好。代码、完整实验注册表以及论文每个数字背后的 JSON 结果都在 GitHub(robtacconelli/Cadence)以 MIT 许可开放,甚至包括被撤回的八项结论,透明度在同类工作中极为罕见。算力门槛低:单张 RTX 5060(8GB)、PyTorch 2.12、timesfm 3.0.0,权重 1.3GB、推理显存 1.4–1.9GB。数据全部公开:EIA-930 电网负荷、MTA 官方开放数据、NAB、SDRBench;注意一个平衡机构(SEC)因哨兵值(4,343 样本中 3 个约 −4.3×10⁸)被剔除。难点有二:其一,模型跨 batch size 与设备非比特一致,第三方无法逐位复现作者数字,只能统计性核对中位增益与胜负计数;其二,吞吐仅 224–442 values/s,全量重跑 297 个序列-容差对需数小时到数天。总体复现难度中等偏低,适合作为神经压缩测量方法学的参考实现。
论文图表
编码主循环伪码:先对每条序列在五个经典预测器中选最优者有损编码 c 个种子样本;随后从 t=c+1 到 n,将 G 条序列上下文组成恰为 G 的 batch 一次调用 TimesFM-3 得中位数预测 p;再按 $D=2\tau$ 计算 $k_t = \lceil (x_t - p_g)/D \rfloor$ 并重建 $\hat{x}_t = p_g + k_t D$ 回填上下文;最后返回 header∥seeds∥pack-and-compress(k)。
这是方法的完整操作定义:闭环反馈、batch 恒等于组大小 G、种子与主体的分工都体现在这几行伪码中,读懂它才能理解第 3 节全部设计约束(确定性、容器格式、种子共享历史)如何落地。