能源需求预测一直是一项挑战,尤其是对于像ERCOT这样的大型电网而言。由于消费模式波动、天气条件变化和经济波动,预测能源需求需要准确、快速且适应性强的模型。这就是IBM的TinyTimeMixer(TTM)发挥作用的地方。
TTM是一组紧凑的预训练时间序列预测模型。TTM以其他大型语言模型(此处原文中的“LLM”可能指大型模型,但在此上下文中更准确地应理解为大型时间序列模型)的一小部分计算负载,提供最先进的预测结果。它是为实际应用而构建的——体积小到可以在笔记本电脑上运行,但功能强大到足以在零样本和少样本学习场景中超越传统模型。
我在ERCOT的能源需求数据上测试了Granite TTM。ERCOT(德克萨斯州电力可靠性委员会)负责管理德克萨斯州大部分地区的电网,平衡数百万家庭和企业的供需。在这里,准确预测不仅仅是方便,对于电网稳定性和成本效率至关重要。
设置模型
TTM有多个版本。最新发布的TTM r2.1已经在一个包含约10亿个时间序列样本的庞大数据集上进行了训练。对于这次实验,我使用了TTM-512–96模型,这意味着它接受512个历史数据点作为输入,并预测接下来的96个数据点。
IBM让开始使用TTM变得很简单。只需简单调用get_model(),即可根据输入上下文长度和预测范围自动选择合适的预训练版本。设置过程如下所示:
from tsfm_public.toolkit.get_model import get_model
TTM_MODEL_PATH = "ibm-granite/granite-timeseries-ttm-r2"
context_length = 512
forecast_length = 96
model = get_model(TTM_MODEL_PATH, context_length=context_length, prediction_length=forecast_length)
在这个情况下,上下文窗口(此例中为512)对预测至关重要。我们不是在训练模型——模型已经训练好了。我们只是在使用模型进行推理。
模型准备好后,我加载了ERCOT的能源需求数据集。该数据集包含不同时间间隔的历史电力消耗测量数据。使用IBM的TimeSeriesPreprocessor进行预处理非常简单。
from tsfm_public import TimeSeriesPreprocessor
column_specifiers = {
"timestamp_column": "datetime",
"target_columns": ["demand_mw"],
"id_columns": [],
"control_columns": [],
}
tsp = TimeSeriesPreprocessor(
**column_specifiers,
context_length=context_length,
prediction_length=forecast_length,
scaling=True
)
零样本预测
TTM的最大优势之一是其零样本预测能力。通常,预测模型需要在数据集上进行训练后才能进行预测。TTM完全跳过了这一步骤。它已经在大量时间序列数据上进行了预训练,因此能够开箱即用地生成有意义的预测。
运行零样本预测就像调用zeroshot_eval()一样简单。
zeroshot_eval(
dataset_name="ercot_energy",
context_length=context_length,
forecast_length=forecast_length,
batch_size=64
)
在没有对ERCOT数据进行任何训练的情况下,TTM产生了令人惊讶的准确预测。该模型在多样时间序列上的预训练使其能够很好地泛化到未见过的数据上。
均方误差(MSE):0.3628121316432953
少样本微调
零样本预测很有用,但在特定领域的数据上对模型进行微调可以提高准确性。TTM设计为能够快速学习,仅需数据集的5%即可达到与在完整数据集上训练的模型相当的性能。
微调涉及在ERCOT能源需求历史的一小部分子集上对模型进行训练:
fewshot_finetune_eval(
dataset_name="ercot_energy",
context_length=context_length,
forecast_length=forecast_length,
batch_size=64,
fewshot_percent=5,
learning_rate=0.001
)
结果令人印象深刻。经过极少的训练,TTM就适应了ERCOT的需求模式,优化了其预测。与零样本方法相比,均方误差(MSE)显著下降。
MSE:0.36187952756881714
我用1024的上下文窗口运行了同样的测试。均方误差(MSE)更低了。
能源需求预测直接影响发电和配电的运营决策。高估需求会导致资源浪费和成本增加,而低估则可能导致短缺和停电。传统的预测模型需要大量的训练和计算能力,使得实时适应变得困难。
TTM改变了这一状况。它能够在极少的训练下提供快速、准确的预测,非常适合像ERCOT这样的动态环境。而且由于其轻量级特性,它不需要GPU集群——可以在标准笔记本电脑或单个GPU实例上运行。
IBM Granite TinyTimeMixer证明了小型模型在专门任务上也能表现出色。对于ERCOT和类似的能源电网,TTM为预测挑战提供了一个实用且高效的解决方案。