TimesFM 2.5与Moirai MoE作为时序基础模型,主要通过预训练范式 和模型架构创新来实现零样本或少样本销量预测。其核心在于利用大规模、多样化的时序数据进行预训练,使模型学习到通用的时序模式,从而在面对新序列时无需或仅需少量数据即可进行预测。
一、核心实现机制对比
| 特性 | TimesFM 2.5 | Moirai MoE |
|---|---|---|
| 核心定位 | Google的Decoder-only预训练模型,强调零样本预测。 | Salesforce的开源基础模型,采用**混合专家(MoE)**架构。 |
| 预测方式 | 输入历史序列,直接输出未来预测值,无需针对特定数据集进行训练。 | 同样支持零样本预测,且在真实零售场景(如烘焙数据)中展现出对难以预测的产品优势更明显。 |
| 少样本适配 | 可通过少量目标序列数据进行微调以提升性能,但研究指出微调后与最强经典方法的差距仍待缩小。 | 在烘焙零售场景中,其零样本预测的聚合WAPE(0.24)已优于部分经典方法(如ETS的0.26)。 |
| 关键优势 | 开箱即用,适用于快速启动、历史数据缺失或标注成本高的场景。 | 开源可定制,在多样化产品组合,尤其是预测难度高的商品上表现更稳健,误差分布更窄。 |
二、关键技术实现路径
- 预训练与模式学习
两者均在海量、跨领域的时序数据(如销量、能源、流量等)上进行预训练。这使得模型内化了诸如趋势、季节性、周期性和突发事件响应等通用时序动力学,从而具备了强大的外推(Extrapolation)能力。
- 零样本预测代码示意
以下以伪代码形式展示其零样本预测的核心调用逻辑:
python
# 伪代码示例:基于预训练基础模型的零样本预测流程
import timesfm # 假设的TimesFM库
import moirai # 假设的Moirai库
# 1. 加载预训练好的基础模型(无需在本地数据上训练)
timesfm_model = timesfm.load_pretrained("timesfm-2.5")
moirai_model = moirai.load_pretrained("moirai-moe-base")
# 2. 准备一条全新的、模型从未见过的销量历史序列
new_sales_history = [100, 150, 130, 170, 160] # 例如过去5周的销量
horizon = 3 # 预测未来3个时间点
# 3. 直接进行零样本预测
timesfm_forecast = timesfm_model.forecast(new_sales_history, horizon=horizon)
moirai_forecast = moirai_model.forecast(new_sales_history, horizon=horizon)
print(f"TimesFM2.5 预测结果: {timesfm_forecast}")
print(f"Moirai MoE 预测结果: {moirai_forecast}")
# 输出即为对未来销量的直接预测,整个过程无需训练。
- 少样本微调(Fine-tuning)路径
当拥有少量目标领域数据时,可通过微调快速适配,提升在特定商品或门店上的预测精度。
python
# 伪代码示例:少样本微调流程(以Moirai为例)
import torch
from moirai import MoiraiForTimeSeriesForecasting
# 1. 加载预训练模型
model = MoiraiForTimeSeriesForecasting.from_pretrained("salesforce/moirai-moe-base")
# 2. 准备少量目标序列数据(例如,某个新品上市后几周的销量)
few_shot_data = [
{"history": [10, 15, 12], "future": [18, 20]},
{"history": [8, 9, 11], "future": [13, 15]},
# ... 更多样本
]
# 将数据转换为模型输入格式
train_dataloader = create_dataloader(few_shot_data)
# 3. 进行少量步骤的微调
optimizer = torch.optim.AdamW(model.parameters(), lr=1e-5)
model.train()
for epoch in range(10): # 少量epoch for batch in train_dataloader:
loss = model(batch).loss
loss.backward()
optimizer.step()
optimizer.zero_grad()
# 4. 使用微调后的模型进行预测
adapted_forecast = model.forecast(new_sales_history, horizon=horizon)
# 此时预测结果应比零样本更贴合目标数据的特性。
三、在销量预测范式中的定位
2026年的技术决策框架显示,这两种基础模型代表了从"手工建模"到"自主预测"的范式转移。
- 快速上线首选:对于需要快速启动、缺乏标注数据或产品线频繁更替的场景,TimesFM 2.5或Moirai MoE的零样本能力提供了高效捷径。
- 处理复杂模式 :Moirai MoE的混合专家架构使其在处理多样化、异质性强的产品组合时更具优势,能更稳健地处理预测难度高的商品。
- 与经典方法互补 :实证研究表明,基础模型在难预测产品上优势明显且误差分布更窄,但在某些场景下,局部树模型(如XGBoost)等经典方法仍可能取得最优性能。因此,它们并非完全替代,而是工具箱中的重要新选项。
四、相关技术延伸
为实现更精准的少样本预测,可结合2026年的其他前沿范式:
- 事件推理融合:借鉴EventCast框架,使用LLM处理非结构化事件信息(如促销、节日),生成文本摘要作为条件信号,输入给时序基础模型,可大幅提升事件驱动期间的预测精度(MAE降低57.0%)。
- 分层预测 :对于具有层级结构(如全国、区域、门店)的销量预测,可采用如e2eTD这类端到端概率分层方法。它仅预测少量顶层聚合序列,再通过一致性算法传播到底层,在保证一致性的同时极大提升计算效率。