Falcon-TST 2.0 上手:Python 分位数时序预测

蚂蚁国际开源的时序基础模型「鹰序」Falcon-TST 2.0 刚在 GIFT-Eval 全球基准上以 MASE 0.666 拿下第一,超过 Google、Amazon、Salesforce 等头部厂商的时序模型。使用门槛很低:一行 pip install falcon-tst,API 直接返回 21 个分位数,做置信区间不用再额外采样。

为什么值得关注

Falcon-2.0 是基于 ORBIT(Omni-Range Bootstrap Incremental Training)训练的 Encoder-Only 单变量时序基础模型。Encoder-Only 意味着一次前向传播就能把整段上下文映射成预测结果——没有自回归逐步生成,延迟更低,误差也不会逐点累积。这是对初代 Falcon 层次化混合专家(MoE)解码结构的刻意取舍:单变量场景更快、直接输出概率分布;多变量场景请用 Falcon-X。

核心思路

  • 一次前向,21 个分位点:API 输出 0.01、0.05、0.10 … 0.95、0.99 共 21 个分位数,张量形状 (B, 21, H),直接画置信带。
  • 缺失值是一等公民:传入 input_mask(1=观测、0=缺失),或在 context 里直接用 np.nan。周末断档、停牌、交易日错位这类金融数据尤其受用。
  • 中位数就是点预测:第 10 个分位对应 0.5,直接取它当点预测。

关键代码:三步跑通

pip install falcon-tst
import numpy as np
from falcontst import FalconClient

# B 条序列,回看 L=512 步,预测未来 H=96 步
context = np.random.randn(32, 512)
input_mask = np.ones_like(context)   # 1=观测,0=缺失

client = FalconClient()
result = client.quantile_predict(
    context=context,
    prediction_length=96,
    model_name="Falcon-2.0",
    input_mask=input_mask,           # 缺口/节假日位置标 0
)

prob = np.array(result["prob_prediction"])  # (B, 21, H)
point = prob[:, 10, :]               # 中位数(0.5 分位)
lo, hi = prob[:, 0, :], prob[:, -1, :]      # 1% / 99% 边界

做外汇这类有周末断档的序列时,把缺失位置在 input_mask 里标 0,模型会自动处理,不用自己插值。

实践建议

  • 别只用中位数:1%–99% 分位带直接支撑 VaR 式的风险敞口估算。蚂蚁国际内部就是用它在跨境支付场景做外汇风险对冲——尾部才是重点。
  • 回看窗口保持一致:API 围绕固定 context 长度设计(示例里是 512),喂入的 L 要稳定,别用随机数填充。
  • 先复现再信任:仓库自带 GIFT-Eval 复现 notebook(eval/falcon-2.ipynb),换到自己的业务域之前先跑一遍基准。
  • 按场景选型号:单变量+分位数 → Falcon-2.0;异构多变量 → Falcon-X;研究用的 MoE 版 → Falcon-1.0。
  • 先规划再落地:还在纠结基础模型怎么进生产?先看我们整理的 2026 年 AI 趋势

资源链接

常见问题

Falcon-TST 2.0 免费吗? 免费。模型和客户端在 GitHub(ant-intl/Falcon-TST)以 Apache-2.0 开源,pip install falcon-tst 即可安装,quantile_predict API 开箱即用。

2.0 和 1.0、Falcon-X 有什么区别? 2.0 是 Encoder-Only 单变量模型,一次前向输出 21 个分位数;Falcon-X 面向异构多变量;1.0 是层次化 MoE 的研究版。

MASE 0.666 是什么水平? MASE(平均绝对比例误差)不受量纲影响、越低越好。0.666 是 GIFT-Eval 套件上的最低分,领先 Chronos、TimesFM 等主流时序模型。

发表评论

滚动至顶部