从入门到精通:Kairos-23M完整API参数配置指南
【免费下载链接】Kairos_23m项目地址: https://ai.gitcode.com/hf_mirrors/mldi-lab/Kairos_23m
Kairos-23M是一款2300万参数的时间序列基础模型,专为跨领域零样本预测设计。它采用动态补丁分词器、混合大小编码和动态旋转位置嵌入(DRoPE),能够处理具有不同信息密度的异构时间序列数据。本文将详细介绍Kairos-23M的API参数配置,帮助用户快速上手并充分利用该模型的强大功能。
模型基础配置
核心架构参数
- architectures: 模型架构类型,固定为
["KairosModel"] - model_type: 模型类型标识,固定为
"kairos" - d_model: 模型隐藏层维度,默认值为384
- num_layers: 编码器层数,默认值为4
- num_heads: 注意力头数量,默认值为8
这些基础参数决定了模型的整体结构和计算能力。对于大多数用户而言,使用默认值即可获得良好的预测效果。如果需要针对特定场景进行优化,可以适当调整d_model和num_layers参数,但需注意这会显著影响模型的计算资源需求。
序列长度配置
- context_length: 上下文序列长度,默认值为2048
- n_positions: 位置编码最大长度,默认值为512
- prediction_length: 预测序列长度,默认值为64
context_length和prediction_length是使用模型时最常调整的参数。根据你的时间序列数据特点,可以适当增加或减少这两个值。例如,对于高频交易数据,可能需要更长的context_length来捕捉更多历史信息;而对于长期趋势预测,则可能需要增加prediction_length。
注意力机制配置
注意力参数
- d_kv: 键值对维度,默认值为64
- relative_attention_num_buckets: 相对注意力桶数量,默认值为32
- relative_attention_max_distance: 相对注意力最大距离,默认值为128
- cross_attention_pe_flip: 交叉注意力位置编码翻转,默认值为false
- is_cross_attention_pe: 是否使用交叉注意力位置编码,默认值为true
Kairos-23M采用了先进的注意力机制,这些参数控制着模型如何处理序列中的依赖关系。对于大多数用户,建议使用默认配置。如果你的数据具有特殊的时间结构,可以尝试调整relative_attention_max_distance来优化长距离依赖捕捉能力。
位置嵌入配置
- position_embedding_type: 位置嵌入类型,默认值为
"instance_wise_rope" - instance_rope_input_feature_dim: 实例ROPE输入特征维度,默认值为128
- rope_init: ROPE初始化方式,默认值为
"exp" - max_period: 最大周期,默认值为
"original_rope_init" - min_period: 最小周期,默认值为
"original_rope_init"
动态旋转位置嵌入(DRoPE)是Kairos-23M的核心创新之一。这些参数控制着位置信息如何被模型编码。对于大多数应用场景,使用默认配置即可。如果你的时间序列具有特殊的周期性特征,可以尝试调整max_period和min_period参数。
前馈网络配置
网络结构参数
- d_ff: 前馈网络隐藏层维度,默认值为1536
- feed_forward_proj: 前馈网络投影方式,默认值为
"relu" - dense_act_fn: dense层激活函数,默认值为
"relu" - is_gated_act: 是否使用门控激活,默认值为false
这些参数控制着模型前馈网络的结构和激活方式。d_ff通常设置为d_model的4倍左右,这是Transformer模型的常见设计。如果你的数据特征较为复杂,可以尝试将feed_forward_proj设置为"gated-gelu"以增强模型表达能力。
正则化参数
- dropout_rate: dropout比率,默认值为0.1
- classifier_dropout: 分类器dropout比率,默认值为0
- layer_norm_epsilon: 层归一化epsilon值,默认值为1e-06
正则化参数对于防止模型过拟合至关重要。dropout_rate控制着训练过程中的随机失活比例,默认值0.1在大多数情况下效果良好。如果你的数据集较小,可以适当提高dropout比率以增强模型泛化能力。
专家混合配置
专家系统参数
- moe_inter_dim: MoE中间层维度,默认值为1408
- n_expert_groups: 专家组数量,默认值为1
- n_activated_experts: 激活专家数量,默认值为3
- n_null_experts: 空专家数量,默认值为2
- n_limited_groups: 有限组数量,默认值为1
Kairos-23M采用了混合专家(MoE)结构,这些参数控制着专家系统的行为。n_activated_experts决定了每次前向传播时激活的专家数量,默认值3在模型性能和计算效率之间取得了良好平衡。对于资源受限的环境,可以适当减少该值以降低计算成本。
任务特定配置
预测参数
- quantiles: 预测分位数列表,默认值为
[0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9] - loss_weight_scheme: 损失权重方案,默认值为
"log_decay" - target_dist: 目标分布,默认值为
[0.05, 0.1, 0.55, 0.15, 0.15] - seq_balance_factor: 序列平衡因子,默认值为0.0001
这些参数控制着模型的预测行为和损失计算方式。quantiles列表定义了模型预测的分位数,默认包含9个分位点,覆盖了从10%到90%的范围。如果你的应用需要更精细的分位数预测,可以扩展这个列表。
输入输出参数
- input_patch_size: 输入补丁大小,默认值为128
- input_patch_stride: 输入补丁步长,默认值为128
- levels: 层级数量,默认值为3
- scale_method: 缩放方法,默认值为
"log" - score_func: 分数函数,默认值为
"softmax"
Kairos-23M的动态补丁分词器是其核心特性之一,input_patch_size和input_patch_stride控制着时间序列如何被分割和处理。对于高信息密度的数据,可以减小补丁大小以保留更多细节;对于低信息密度的数据,则可以增大补丁大小以提高处理效率。
实用配置示例
基础预测配置
以下是使用Kairos-23M进行时间序列预测的基础配置示例:
model = AutoModel.from_pretrained( "mldi-lab/Kairos_23m", trust_remote_code=True, context_length=1024, prediction_length=128 ) forecast = model( past_target=seqs, prediction_length=128, generation=True, preserve_positivity=True, average_with_flipped_input=True )在这个示例中,我们将context_length设置为1024,prediction_length设置为128,适合中等长度的时间序列预测任务。preserve_positivity=True确保预测结果为正值,这在许多实际应用中非常重要。
高级配置
对于需要更精细控制的场景,可以调整更多参数:
model = AutoModel.from_pretrained( "mldi-lab/Kairos_23m", trust_remote_code=True, context_length=2048, prediction_length=192, num_layers=6, num_heads=12, dropout_rate=0.15, quantiles=[0.05, 0.25, 0.5, 0.75, 0.95] )在这个高级配置中,我们增加了模型深度(num_layers)和注意力头数量(num_heads),以增强模型表达能力。同时,我们调整了dropout_rate和quantiles参数,以适应特定的应用需求。
模型使用最佳实践
数据准备
Kairos-23M对输入数据的格式有特定要求。在使用模型之前,请确保你的时间序列数据满足以下条件:
- 数据已归一化或标准化
- 缺失值已适当处理
- 时间戳信息完整
参数调优建议
- 对于短期预测(< 100时间步),可以减小
context_length以提高推理速度 - 对于长期预测(> 100时间步),建议增加
prediction_length并可能需要调整quantiles - 对于噪声较大的数据,可以适当提高
dropout_rate - 对于具有明显周期性的数据,可以尝试调整
max_period和min_period参数
性能优化
- 如果推理速度是关键考虑因素,可以减小
context_length或使用更小的模型变体(如Kairos-10M) - 如果预测精度是首要目标,可以增加
context_length或使用更大的模型变体(如Kairos-50M) - 在资源受限的环境中,可以减少
n_activated_experts以降低计算成本
总结
Kairos-23M提供了丰富的API参数,允许用户根据具体应用场景进行灵活配置。本文详细介绍了模型的主要参数类别和常用配置选项,希望能帮助用户快速掌握模型的使用方法。无论是初学者还是有经验的用户,都可以通过调整这些参数来优化模型性能,以适应不同的时间序列预测任务。
要开始使用Kairos-23M,只需克隆仓库:
git clone https://gitcode.com/hf_mirrors/mldi-lab/Kairos_23m然后参考config.json文件中的默认参数配置,结合本文介绍的参数调整建议,即可快速上手这一强大的时间序列基础模型。
【免费下载链接】Kairos_23m项目地址: https://ai.gitcode.com/hf_mirrors/mldi-lab/Kairos_23m
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考