towardsdatascience.com/chronos-the-rise-of-foundation-models-for-time-series-forecasting-aaeba62d9da3
Chronos 是由亚马逊推出的一款面向时间序列预测的新型基础模型。该模型基于概率框架构建,并采用 T5(文本到文本迁移转换器)架构来预测未来的时间序列模式。
T5 是 Google 开发的一系列语言模型,其核心思想是将所有自然语言处理任务统一为“文本到文本”的格式。与传统上针对特定任务(如分类、翻译或摘要)设计专用结构的模型不同,T5 使用统一的输入输出形式进行训练和推理。该架构建立在 transformer 的编码器-解码器结构之上 [11],其中编码器和解码器均由多个 transformer 层组成。编码器负责将输入序列转化为连续向量表示,而解码器则基于这些表示逐步生成输出序列。
T5 系列包含多种规模的模型变体,从参数量较少的小型版本到高度复杂的大型版本。小型模型适用于资源受限场景,具备较高的运行效率;而大型模型则能捕捉更深层次的数据特征和语义关系,适用于高精度任务。
近年来,时间序列预测正逐步向基础模型范式演进,这一趋势受到人工智能其他领域成功实践的推动。尤其是在自然语言处理(NLP)中,基础模型展现出强大的泛化能力。每个月几乎都有新的、更强大的大型语言模型(LLM)发布,显示出该领域的快速发展。这种增长不仅局限于文本领域,在计算机视觉中也呈现出类似态势。例如,Meta 的 Segment Anything Model(SAM)[1] 能够在未见过的图像中准确识别并分割对象;多模态模型如 LLaVa [2] 和 Qwen-VL [3] 可同时处理图像与文本,回答用户提出的开放性问题。这些模型的共同特点是具备出色的零样本推理能力——即无需在目标任务数据上进行训练即可实现高性能表现。
在此背景下,明确基础模型的定义及其与传统方法的区别显得尤为重要。首先,基础模型通常经过大规模数据训练,使其能够广泛理解数据中的主要模式和细微差异。其次,这类模型具有通用性,能够在不依赖任务特定训练的情况下执行多种任务。尽管如此,它们仍可通过微调(即迁移学习)进一步适配于特定任务,利用较小的数据集提升在具体应用场景下的性能。
那么,为何将此类模型应用于时间序列预测如此具有吸引力?原因在于,NLP 中的基础模型本质上是为处理序列数据而设计的,用于理解和生成文本序列。而时间序列数据同样具有序列特性,两者在结构上存在天然契合。此外,无论是语言还是时间序列,模型都需要自动从序列中提取关键特征,尤其是时间维度上的动态变化规律。基础模型的通用性质使得它可以灵活适应各类预测任务,从而实现跨领域、跨场景的统一建模。同时,针对特定行业或应用需求,还可以通过少量数据进行微调以优化性能。
Nixtla 推出的 TimeGPT [4] 是最早专为时间序列预测设计的基础模型之一。此后,多家机构相继加入该赛道:Salesforce 发布了 MOIRAI [5],Morgan Stanley、ServiceNow 与加拿大多所高校联合开发了 Lag-Llama [6],Google 推出了 TimesFM [7]。最近,Amazon 也推出了 Chronos [8],这是一个基于语言模型架构的时间序列基础模型,标志着该方向的进一步扩展。
本文深入解析 Chronos 的内部架构,重点介绍支持其零样本推理能力的核心组件。在理论分析之后,我们将 Chronos 应用于实际用例和真实数据集,涵盖部署过程中的关键技术细节,并对其预测性能进行全面评估。最后,我们在公共数据集上将 Chronos 的小型版与大型版分别与 TiDE 模型 [9] 进行对比测试。
实验结果表明,Chronos 在无需任何微调的前提下,凭借零样本推理能力即可在多个公共数据集上超越 TiDE。这一结果凸显了基础模型在时间序列预测中的显著优势(相关深入分析可参考我们此前发表的文章)。值得注意的是,尽管 Chronos 提供了不同规模版本,但我们发现小型版与大型版之间的性能差距并不明显,说明轻量化模型在实际应用中已具备较强竞争力。
towardsdatascience.com/chronos-the-rise-of-foundation-models-for-time-series-forecasting-aaeba62d9da3
图 1:TimeGPT 与 Chronos 与 TiDE 的比较(作者使用 DALL-E 制作)
Chronos 的设计者选择基于 T5 架构的方法,其核心逻辑在于分析语言模型(LLM)与时序预测模型在机制上的异同。正如引言中所述,两者在本质上具有高度相似性:它们都依赖序列的顺序结构来推断未来的输出。关键区别在于,LLM 预测的是离散的词元(token),其候选集合来自有限的词汇表;而传统时序模型则需预测连续且无界的数值。由此引发一个关键问题:是否可以将连续的时序值转化为离散的标记形式,从而让 LLM 能够有效处理时序任务?
towardsdatascience.com/chronos-the-rise-of-foundation-models-for-time-series-forecasting-aaeba62d9da3
图 2:Chronos 模型的整体流程示意图——包含预处理(左)、训练目标(中)与推理阶段(右)(来源)
由于 LLM 天然适用于处理离散标记,因此必须对原始时间序列中的连续数值进行离散化转换。该过程主要由三个步骤构成:
此步骤旨在将输入的时间序列映射到适合后续量化操作的数值区间。不同于常规深度学习中用于优化收敛速度的归一化方法,这里的缩放直接服务于标记生成。作者采用“均值缩放”策略,即根据历史上下文窗口内绝对值的平均数对输入数据进行标准化。
_TimeSeries.from_group*dataframe*
方程 1:均值缩放公式,其中 C 表示上下文长度。
在完成缩放后,连续值被划分为若干离散区间,每个区间对应一个唯一的标记 ID。这一过程称为量化,文中采用了均匀分箱法,即将固定范围内的所有值归入同一箱子。如图 3 所示,为简化说明仅展示 4 个箱子,实际模型使用了 4096 个独立箱子。
_fill_missing*dates*
图 3:均匀分箱示例(作者提供)
然而,均匀分箱存在明显局限,尤其在泛化能力方面。它无法预测超出训练集最大/最小值范围的结果,这一点与决策树模型面临的问题类似。另一种替代方案是分位数分箱,它确保每个箱子包含相同数量的样本。但这种方法对数据分布假设较强,在面对分布偏移的新数据时可能导致训练与测试之间的异质性增强。
为了增强模型对序列结构的理解,作者引入了特定功能标记。例如,使用 EOS(End of Sequence)标记标识序列终点。此外,还引入 PAD(Padding)标记以应对缺失值或不同长度序列在批处理中的填充情况。这种机制有助于统一输入格式,提升训练效率和鲁棒性。
Chronos 在训练过程中沿用了标准语言模型常用的损失函数——交叉熵损失。这意味着模型通过分类任务实现回归目标,目标是最小化预测概率分布与真实类别分布之间的差异。尽管交叉熵本身不具备对数值距离的敏感性,而在时间序列中相邻点的相关性通常高于远距离点(即自相关特性),但作者仍选择保留该损失形式。
这一决策的主要优势在于无需修改底层语言模型架构,从而支持灵活更换主干网络(如 Mixtral [12]、Llama2 [13])及其配套工具链。同时,该方式不限定输出必须符合某种先验分布(如高斯分布),使模型能够学习并预测任意复杂分布形态下的未来值,具备更强的表达能力。
在推理阶段,大型语言模型通常会逐个生成标记 ID。为了获得具有概率意义的预测结果,作者在每一个预测时间步上采样多个可能的标记 ID。随后,需要逆向执行预处理中的量化与缩放操作,以还原为原始尺度下的连续数值。
以 t+1 时刻为例,假设有 4 个采样结果,首先进行反量化操作:将每个标记 ID 映射回其对应的缩放空间中的中心值,即所属区间的中点。
ABBHol
图 4:反量化操作示意图(作者绘制)
接下来执行反缩放:将上述恢复的缩放值乘以前置上下文窗口中绝对值的平均数,最终得到原始量纲下的预测结果。
图 5:反缩放过程(作者图片)
towardsdatascience.com/chronos-the-rise-of-foundation-models-for-time-series-forecasting-aaeba62d9da3
最终的预测区间通过从模型生成的样本中提取不同分位数获得。例如,选取第10百分位(Q10)作为下界,第50百分位(Q50)代表中位数预测,第90百分位(Q90)则构成上界。这种方法能够提供对不确定性范围的合理估计。
图 6:获取 t+1 时刻的中值预测(作者图片)
_TimeSeries.from_group*dataframe*
在实现过程中,作者选用了 T5 架构,因其具备多种参数规模,范围从微型的 16M 到超大规模的 11B。为了降低模型复杂度,词汇表大小被从标准的 32,128 调整至 4,096,从而将模型参数量进一步压缩至 8M 到 710M 之间,整体规模相较于主流自然语言处理模型更为紧凑。此外,研究还尝试引入 GPT-2 进行对比实验,用以验证该方法对多种语言模型的通用适配能力。
值得注意的是,该模型设计不支持引入任何外部协变量信息,无论是静态特征(如产品类别、颜色等)还是动态变量(如价格变动、宏观经济指标等)。同时,每个时间序列仅被视为无结构的时间点序列,未显式编码时间戳或频率信息(如每小时、每日、每周或每月),这在捕捉季节性模式方面可能存在局限。此外,该模型为单变量建模框架,且每次只能独立处理单一时间序列,无法建模序列间的相互依赖关系。
与 TimeGPT 等其他时间序列基础模型类似,Chronos 通过在跨领域、多频率的数据集上进行预训练,实现了零样本推理能力。训练数据涵盖能源、交通、医疗、零售、网络流量、气象以及金融等多个领域的实际时间序列数据库。
本部分将利用 Chronos 模型,基于一个遵循 cc-by-4.0 许可协议公开的真实数据集,对澳大利亚各地区的旅游访问人数进行预测。随后,我们将借助 Python 库 _Dart_s 中的 TiDEModel 实现,评估并比较 Chronos 的小型与大型版本与 TiDE 模型在预测精度上的表现差异。
为增强原始数据的信息维度,我们从 Trading Economics 平台补充了来源于官方统计的宏观经济指标,包括消费者物价指数(CPI)、通货膨胀率和国内生产总值(GDP)等动态协变量。同时,对数据进行了必要的预处理操作,以提升其质量与可用性。最终构建的数据集包含以下字段:
处理后的数据集已公开存储于指定位置,确保实验具备良好的可复现性。
接下来进行代码环境初始化。首先加载所需库并设定全局参数,包括日期列名、目标列、静态协变量列表、动态协变量缺失值填充策略(其中缺失值以 0 填充,部分采用线性插值)、时间序列频率、预测步长以及所选用的标准化器类型。
%load_ext autoreload %autoreload 2 import numpy as np import pandas as pd import torch import utils from datetime import timedelta from chronos import ChronosPipeline from darts import TimeSeries from darts.dataprocessing.pipeline import Pipeline from darts.models import TiDEModel from darts.dataprocessing.transformers import Scaler from darts.utils.timeseries_generation import datetime_attribute_timeseries from darts.utils.likelihood_models import QuantileRegression from darts.dataprocessing.transformers import StaticCovariatesTransformer, MissingValuesFiller TIME_COL = "Date" TARGET = "visits" STATIC_COV = ["static_1", "static_2", "static_3", "static_4"] DYNAMIC_COV = ['CPI', 'Inflation_Rate', 'GDP'] FREQ = "MS"
# 定义预测周期与预处理组件
FORECAST_HORIZON = 8 # 预测未来8个月的数据
SCALER = Scaler()
TRANSFORMER = StaticCovariatesTransformer()
PIPELINE = Pipeline([SCALER, TRANSFORMER])
# 加载原始数据并进行初步处理
df = pd.read_csv('data/data.csv', parse_dates=['Date']).drop(columns=['Year', 'Month']).set_index('Date')
df = utils.preprocess_dataset(df, DYNAMIC_COV, TIME_COL, TARGET)
print(f"Distinct number of time series: {len(df['unique_id'].unique())}")
df.head()
时间序列总数:304
_TimeSeries.from_group*dataframe*
# 数据集划分:训练集与测试集
# 使用最后8个月作为测试区间
train = df[df[TIME_COL] <= (max(df[TIME_COL]) - pd.DateOffset(months=FORECAST_HORIZON))]
test = df[df[TIME_COL] > (max(df[TIME_COL]) - pd.DateOffset(months=FORECAST_HORIZON))]
# 将pandas DataFrame转换为Darts的TimeSeries格式
train_darts = TimeSeries.from_group_dataframe(
df=train,
group_cols=STATIC_COV,
time_col=TIME_COL,
value_cols=TARGET,
freq=FREQ,
fill_missing_dates=True,
fillna_value=0
)
# 输出训练和测试时间段的信息
print(f"Weeks for training: {len(train[TIME_COL].unique())} from {min(train[TIME_COL]).date()} to {max(train[TIME_COL]).date()}")
print(f"Weeks for testing: {len(test[TIME_COL].unique())} from {min(test[TIME_COL]).date()} to {max(test[TIME_COL]).date()}")
训练周期:220周,时间跨度为1998-01-01 至 2016-04-01;
测试周期:8周,时间范围为2016-05-01 至 2016-12-01
_fill_missing*dates*
# 构建动态协变量用于模型输入
dynamic_covariates = []
for serie in train_darts:
# 提取月份属性作为协变量,并使用独热编码
covariate = datetime_attribute_timeseries(
serie,
attribute="month",
one_hot=True,
cyclic=False,
add_length=FORECAST_HORIZON,
)
# 获取每条序列对应的静态协变量值
static_1 = serie.static_covariates['static_1'].item()
static_2 = serie.static_covariates['static_2'].item()
static_3 = serie.static_covariates['static_3'].item()
在完成数据分割与协变量构建后,我们可利用 TiDE 模型对 304 个时间序列进行预测。首先对动态协变量进行插值填充处理:
static_4 = serie.static_covariates['static_4'].item()
dyn_cov_interp = TimeSeries.from_dataframe(df[(df['static_1'] == static_1) & (df['static_2'] == static_2) & (df['static_3'] == static_3) & (df['static_4'] == static_4)],
time_col=TIME_COL,
value_cols=DYNAMIC_COV,
freq=FREQ,
fill_missing_dates=True)
covariate = covariate.stack(MissingValuesFiller().transform(dyn_cov_interp))
dynamic_covariates.append(covariate)
训练周期为 126 周,时间范围从 2010 年 2 月 5 日至 2012 年 6 月 29 日;测试周期为 17 周,覆盖 2012 年 7 月 6 日到 2012 年 10 月 26 日。
接下来进行协变量和数据的标准化处理:
dynamic_covariates_transformed = SCALER.fit_transform(dynamic_covariates)
data_transformed = PIPELINE.fit_transform(train_darts)
设置 TiDE 模型参数:
TiDE_params = {
"input_chunk_length": 12,
"output_chunk_length": FORECAST_HORIZON,
"num_encoder_layers": 2,
"num_decoder_layers": 2,
"decoder_output_dim": 1,
"hidden_size": 15,
"temporal_width_past": 4,
"temporal_width_future": 4,
"temporal_decoder_hidden": 26,
"dropout": 0.1,
"batch_size": 16,
"n_epochs": 15,
"likelihood": QuantileRegression(quantiles=[0.25, 0.5, 0.75]),
"random_state": 42,
"use_static_covariates": True,
"optimizer_kwargs": {"lr": 1e-3},
"use_reversible_instance_norm": False,
}
初始化并训练模型:
model = TiDEModel(**TiDE_params)
model.fit(data_transformed, future_covariates=dynamic_covariates_transformed, verbose=False)
生成预测结果并还原至原始尺度:
pred = SCALER.inverse_transform(model.predict(n=FORECAST_HORIZON,
series=data_transformed,
future_covariates=dynamic_covariates_transformed,
num_samples=50))
tide_forecast = utils.transform_predictions_to_pandas(pred, TARGET, train_darts, [0.25, 0.5, 0.75])
towardsdatascience.com/chronos-the-rise-of-foundation-models-for-time-series-forecasting-aaeba62d9da3
完成 TiDE 预测后,我们将使用 Chronos 模型进行对比预测。由于 Chronos 不支持多元输入,需逐一对 304 个序列进行独立预测。首先加载两个不同规模的预训练模型——小型与大型版本:
# 加载预训练模型
pipeline_tiny = ChronosPipeline.from_pretrained(
"amazon/chronos-t5-tiny",
device_map="cuda",
torch_dtype=torch.bfloat16,
)
pipeline_large = ChronosPipeline.from_pretrained(
"amazon/chronos-t5-large", # 假设此处补全原缺失部分
device_map="cuda",
torch_dtype=torch.bfloat16,
)
随后在数据集上遍历所有序列,依次执行预测流程。
# 加载模型配置并初始化 pipeline
pipeline_large = ChronosPipeline.from_pretrained(
"amazon/chronos-t5-large",
device_map="cuda",
torch_dtype=torch.bfloat16,
)
# 执行预测任务
forecast_tiny = []
forecast_large = []
for ts in train_darts:
# 使用小型模型进行预测
lower, mid, upper = utils.chronos_forecast(
pipeline_tiny,
ts.pd_dataframe().reset_index(),
FORECAST_HORIZON,
TARGET
)
forecast_tiny.append(
utils.convert_forecast_to_pandas(
[lower, mid, upper],
test[test['unique_id'] == list(ts.static_covariates_values())[0][0] +
list(ts.static_covariates_values())[0][1] +
list(ts.static_covariates_values())[0][2] +
list(ts.static_covariates_values())[0][3]]
)
)
# 使用大型模型进行预测
lower, mid, upper = utils.chronos_forecast(
pipeline_large,
ts.pd_dataframe().reset_index(),
FORECAST_HORIZON,
TARGET
)
forecast_large.append(
utils.convert_forecast_to_pandas(
[lower, mid, upper],
test[test['unique_id'] == list(ts.static_covariates_values())[0][0] +
list(ts.static_covariates_values())[0][1] +
list(ts.static_covariates_values())[0][2] +
list(ts.static_covariates_values())[0][3]]
)
)
# 将预测结果合并为完整的数据框
forecast_tiny = pd.concat(forecast_tiny)
forecast_large = pd.concat(forecast_large)
ABBHol
在完成所有预测后,接下来可视化真实值与模型输出的对比。我们选取按总交易量降序排列的前三个时间序列进行分析:
# 按目标变量总和对序列排序,获取前三大高量级序列
series = test.groupby('unique_id')[TARGET].sum() \
.reset_index() \
.sort_values(by=TARGET, ascending=False)['unique_id'] \
.tolist()
# 绘制每个序列的实际值与 Tiny 和 Large 版本的预测结果
for ts in series[:3]:
utils.plot_actuals_forecast(df[df["unique_id"] == ts], forecast_tiny[forecast_tiny["unique_id"] == ts], ts)
utils.plot_actuals_forecast(df[df["unique_id"] == ts], forecast_large[forecast_large["unique_id"] == ts], ts)
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/d7a1151bcd622a5d9062d6876e252188.png
图 9:Chronos 模型的小型与大型版本预测效果对比(图片由作者提供)
从图 9 可以观察到,Chronos 的大模型和小模型在预测表现上差异不明显。对于高流量的时间序列,两个版本均能准确捕捉数据中的周期性模式、峰值及谷值出现的时间节点,且整个过程未引入任何外部协变量信息。
随后,我们将 TiDE 模型生成的预测结果加载进来,并计算相应的性能评估指标以便与 Chronos 进行比较。为了提升结果的可解释性,采用平均绝对百分比误差(MAPE)作为主要评价标准。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/5262890019fb501d2140d294967afa59.png
图 10:Chronos 与 TiDE 在 MAPE 指标上的对比(图片由作者提供)
如图 10 所示,在长达 8 个月的对比周期中,Chronos 大型模型在其中 6 个月的表现优于 TiDE 模型。针对前 100 个时间序列数据,TiDE 在 8 个月中有 7 个月的 MAPE 值高于 Chronos 的小型版本。值得注意的是,尽管我们并未对 TiDE 进行任何超参数调优,而 Chronos 是在零样本推理设置下直接应用的,它依然展现出超越专为该数据集训练的强大模型的性能,这一结果令人印象深刻。
本文聚焦于 Chronos——一种新兴的时间序列预测基础模型。这类模型的核心优势在于无需微调即可在未见过的数据上实现较高精度的预测,这对于缺乏构建 SOTA 模型技术能力的组织具有重要意义。我们的实验分析表明,无论是在整体平均绝对百分比误差(MAPE)指标上,还是在多数时间窗口内,Chronos 均显著优于 TiDE。此外,Chronos 的小型和大型版本之间表现差异不明显,说明其性能提升可能并不完全依赖模型规模。
一个关键的方法论启示是:在将新模型推广至实际应用场景之前,应在私有数据集上进行充分验证。这一点尤为重要,因为当前许多基础模型面临与大语言模型类似的局限性——即难以在训练数据分布之外生成可靠预测。由于大多数开发者未公开其训练数据细节,存在某些公开基准数据集已被用于训练的可能性,从而影响评估的公正性。
未来的一个研究方向是探索基于自有数据对 Chronos 进行轻量级微调,并将其与 TiDE 等专用模型进行系统性比较。这有助于更准确地衡量其在特定业务场景下的真实潜力。
总体而言,面向时间序列预测的基础模型竞赛正处于起步阶段,技术演进迅速。我们将持续跟踪相关进展并更新研究成果。
arxiv.org/abs/2310.08278
参考文献
[1] Kirillov, A., Mintun, E., Ravi, N., Mao, H., Rolland, C., Gustafson, L., Xiao, T., Whitehead, S., Berg, A. C., Lo, W.-Y., Dollár, P., & Girshick, R. (2023). Segment Anything. arXiv.
arxiv.org/abs/2304.02643
[2] 刘辉,李晨,吴强,李宇杰. (2023). 视觉指令调整. arXiv.
arxiv.org/abs/2304.08485
[3] 白杰,白松,杨思,王思,谭思,王鹏,林杰,周诚,周杰. (2023). Qwen-VL:一种用于理解、定位、文本阅读等的多功能视觉语言模型. arXiv.
arxiv.org/abs/2308.12966
[4] Garza, A., & Mergenthaler-Canseco, M. (2023). TimeGPT-1. arXiv.
arxiv.org/abs/2310.03589
[5] Woo, G., Liu, C., Kumar, A., Xiong, C., Savarese, S., & Sahoo, D. (2024). 统一训练通用时间序列预测 Transformer. arXiv.
arxiv.org/abs/2402.02592
[6] Rasul, K., Ashok, A., Williams, A. R., Ghonia, H., Bhagwatkar, R., Khorasani, A., Darvishi Bayazi, M. J., Adamopoulos, G., Riachi, R., Hassen, N., Bilo?, M., Garg, S., Schneider, A., Chapados, N., Drouin, A., Zantedeschi, V., Nevmyvaka, Y., & Rish, I. (2024). Lag-Llama:向概率时间序列预测的基础模型迈进. arXiv.
arxiv.org/abs/2310.10688
[7] Das, A., Kong, W., Sen, R., & Zhou, Y. (2024). 时间序列预测的仅解码器基础模型. arXiv.
arxiv.org/abs/2403.07815
[8] Ansari, A. F., Stella, L., Turkmen, C., Zhang, X., Mercado, P., Shen, H., Shchur, O., Rangapuram, S. S., Arango, S. P., Kapoor, S., Zschiegner, J., Maddix, D. C., Mahoney, M. W., Torkkola, K., Wilson, A. G., Bohlke-Schneider, M., & Wang, Y. (2024). Chronos:学习时间序列的语言. arXiv.
[9] Das, A., Kong, W., Leach, A., Mathur, S., Sen, R., & Yu, R. (2023). 使用 TiDE 进行长期预测:时间序列密集编码器. arXiv.
arxiv.org/abs/2304.08424
[10] Raffel, C., Shazeer, N., Roberts, A., Lee, K., Narang, S., Matena, M., Zhou, Y., Li, W., & Liu, P. J. (2019). 使用统一文本到文本 Transformer 探索迁移学习的极限. arXiv.
arxiv.org/abs/1910.10683
[11] Vaswani, A., Shazeer, N., Parmar, N., Uszkoreit, J., Jones, L., Gomez, A. N., Kaiser, L., & Polosukhin, I. (2023). 注意力即一切. arXiv.
arxiv.org/abs/1706.03762
[12] Touvron, H., Martin, L., Stone, K., Albert, P., Almahairi, A., Babaei, Y., Bashlykov, N., Batra, S., Bhargava, P., Bhosale, S., Bikel, D., Blecher, L., Ferrer, C. C., Chen, M., Cucurull, G., Esiobu, D., Fernandes, J., Fu, J., Fu, W., Fuller, B., Gao, C., Goswani, V., Goyal, N., Hartshorn, A., Hosseini, S., Hou, R., Inan, H., Kardas, M., Kerkez, V., Khabsa, M., Kloumann, I., Korenev, A., Koura, P. S., Lachaux, M.-A., Lavril, T., Lee, J., Liskovich, D., Lu, Y., Mao, Y., Martinet, X., Mihaylov, T., Mishra, P., Molybog, I., Nie, Y., Poulton, A., Reizenstein, J., Rungta, R., Saladi, K., Schelten, A., Silva, R., Smith, E. M., Subramanian, R., Tan, X. E., Tang, B., Taylor, R., Williams, A., Kuan, J. X., Xu, P., Yan, Z., Zarov, I., Zhang, Y., Fan, A., Kambadur, M., Narang, S., Rodriguez, A., Stojnic, R., Edunov, S., & Scialom, T. (2023). Llama 2:开放基础和微调聊天模型. arXiv.
arxiv.org/abs/2307.09288
[13] 姜阿强, 沙布罗勒, 罗克斯, 门施, 萨瓦里, 巴姆福德, 查普洛特, 德拉斯·卡萨斯, 布奥·哈纳, 布雷桑, 莱恩盖尔, 博尔, 拉姆普尔, 拉沃德, 萨乌尼尔, 拉沙乌, 斯托克, 苏布兰南, 杨, 安托尼亚克, 莱·斯高, 日尔维, 拉夫里尔, 王泰, 拉克罗伊, & 埃尔·赛义德 (2024). 专家混合. arXiv.
arxiv.org/abs/2401.04088
扫码加好友,拉您进群



收藏
