尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

深入Kronos-small的Tokenizer:VQ-VAE + 二值球面量化如何将6维OHLCV编码为1024个离散token

深入Kronos-small的Tokenizer:VQ-VAE + 二值球面量化如何将6维OHLCV编码为1024个离散token 深入Kronos-small的TokenizerVQ-VAE 二值球面量化如何将6维OHLCV编码为1024个离散token【免费下载链接】kronos-small-npu用户可直接在华为昇腾 NPU 上运行 Kronos-small 模型用于金融 K 线OHLCV时间序列的预测与趋势方向判断。项目提供自包含交付仓支持 NPU 端到端推理确保 CPU 与 NPU 逐位一致并内置精度校验与确定性输出。项目地址: https://ai.gitcode.com/atlasleong/kronos-small-npuKronos-small 是开源金融 K 线OHLCV时间序列预测基础模型本仓库是它在华为昇腾 NPU 上的自包含推理交付。本文将带你深入 Kronos-small 的 KronosTokenizer讲清楚 VQ-VAE 二值球面量化如何把 6 维 OHLCV 编码为每层 1024 类的离散 token以及 token 序列又如何解码回连续预测值。 先建立直觉把 K 线当作语言来读Kronos-small 采用与 GPT 类似的两阶段框架这是理解 Tokenizer 的钥匙Tokenizer本文主角把连续的 K 线数据离散化——每一根 5 分钟 K 线open/high/low/close/volume/amount 共 6 维被编码成一对离散 tokens1、s2各 1024 类就像把文本切分成词自回归 Transformer在 token 序列上做逐位置预测如同语言模型逐词生成预测出未来 K 线的 token解码器把预测出的 token 还原成连续的 OHLCV 数值再反归一化得到价格、成交量等预测值。Kronos 系列模型家族来自 model/README.md 的 Model Zoo模型Tokenizer上下文长度参数量Kronos-miniKronos-Tokenizer-2k20484.1MKronos-small本仓库Kronos-Tokenizer-base51224.7MKronos-baseKronos-Tokenizer-base512102.3MKronos-small 本体约 2474 万参数8 层、d_model512、8 头见model/config.json#L1-L13而 Tokenizer 是独立的小模型仅约 396 万参数——两者权重分开存放、分开加载。 1024这个数字是怎么定下来的答案就在两份配置里主模型的s1_bits: 10与s2_bits: 10model/config.json#L10-L11即2¹⁰ 1024 个离散词。TokenizerKronos-Tokenizer-base独立 VQ-VAE 模型的关键结构参数参数值含义d_in6输入维度OHLCV 六列d_model256隐层宽度n_heads/n_enc_layers/n_dec_layers4 / 4 / 4编解码器均为 4 层 Transformerff_dim512FFN 宽度group_size4量化分组粒度词表1024 × 2s1 一层 1024 类 s2 一层 1024 类为什么是两层 token这是分层量化hierarchical设计s1 是第 1 层 token 流负责 K 线的主体形态s2 是第 2 层 token 流在 s1 基础上进一步细化。一根 K 线 (s1, s2) 一对索引组合表达能力达到 1024 × 1024 ≈ 10⁶ 量级——用两层小词表换来了近似一个百万级大词表的精度却避免了超大 Embedding 表的显存与计算开销。 编码四步从一根 K 线到两个离散索引整条编码路径runner_lib.py#L130-L145可以拆成四步逐列标准化对 open/high/low/close/volume/amount 六列分别做 z-score减均值除标准差再裁剪到 ±5runner_lib.py#L134-L137。这样价格量级几百元和成交额量级十几万被拉到同一尺度VQ-VAE 只需学习形状而不必学习量纲Transformer 编码器4 层编码器把每根 K 线的 6 维向量映射为一个连续隐向量d_model256二值球面量化Binary Spherical QuantizationBQ隐向量被投影到单位超球面上然后选取最近的10 bit 二值编码作为 token 索引。所谓球面是指候选码字均匀分布在超球面方向上量化误差更小、码字利用更充分所谓二值是指每个码字就是一个 0/1 比特串解码时通过固定线性映射还原无需训练额外的大词表查找输出双通道索引tokenizer.encode()返回[s1_ids, s2_ids]两条索引序列runner_lib.py#L145每根 K 线对应一对 (s1, s2)。 一个对工程落地极重要的性质量化这一步本质是查表取索引不涉及浮点随机舍入所以 encode 的输出离散索引在 CPU 与昇腾 NPU 上天然逐位一致。这正是本交付仓能做到CPU/NPU 输出零误差的底层原因之一。 解码与反归一化token 序列如何变回价格预测阶段runner_lib.py#L163-L193是一个 8 步的贪心自回归循环每一步decode_s1基于已有 token 上下文预测下一个 s1取 argmax贪心非采样decode_s2在 s1 的基础上预测 s2再取 argmax。得到 8 个 (s1, s2) 对后与历史 token 拼接交给tokenizer.decode()经解码器还原为连续 6 维向量再反归一化乘回标准差、加回均值runner_lib.py#L202-L206最终得到[8, 6]的 OHLCV 预测矩阵。此外还可确定性推导direction未来 8 步 close 价的逐步涨跌方向7 个 0/1 值用于趋势方向判断。下图是 NPU 真实推理的输出输入 64 根 K 线输出 8 步 × 6 列预测值且 INPUT/MODEL/OUTPUT 设备全部落在npu:0✅ 昇腾 NPU 精度验证CPU 与 NPU 逐位一致Tokenizer 的确定性离散索引 确定性解码让交付仓可以做最严格的校验inference.py#L124-L137CPU 参考前向 vs NPU 主前向逐元素对比结果为10 个样本、480 个元素max_abs_error 0.0CPU_NPU_BITWISE_EQUAL True单次完整前向8 步自回归 encode/decode中位耗时约542.7 ms3 次同步计时主推理全程驻留npu:0CPU_FALLBACKfalse禁止 CPU 回退。npu-smi快照可见 python3.11 推理进程正占用多块 910B4 NPU 快速上手克隆仓库并跑通 K 线预测仓库为自包含结构核心文件一览文件作用inference.py交付入口NPU 推理 设备标记 精度校验runner_lib.py上下文构建、归一化、贪心解码循环model/config.json/model/model.safetensors主模型配置与权重约 99MBrequirements.txt21 个精确版本依赖assets/*.npy输入与 NPU/CPU 输出的真实数组证据一键跑通git clone https://gitcode.com/atlasleong/kronos-small-npu cd kronos-small-npu source /usr/local/Ascend/ascend-toolkit/set_env.sh pip install -r requirements.txt python3 inference.py运行结束会打印FORECAST8×6 预测值、CPU_NPU_BITWISE_EQUALTrue、EXIT_CODE0等机器契约标记。下图是该交付由 Model Agent 完成 NPU 适配与验收的完整工作流记录❓ 新手常见疑问问为什么不直接预测连续价格而要绕一圈 token答离散 token 让模型可以直接复用大语言模型的成熟训练与自回归范式且量化查索引跨硬件行为稳定、可复现、可逐位校验。问s1 和 s2 到底各管什么答分层两级量化s1 先给出 K 线主体形态的粗描述s2 在其基础上做细节精化两者共同编码一根 K 线。问1024 的词表够用吗答配合两层结构组合容量约 10⁶且 10 bit 二值码在 NPU 上查表与投影都极高效是精度与开销的平衡点。一句话总结Kronos-small 的 Tokenizer 用 VQ-VAE 二值球面量化把每根 6 维 OHLCV K 线翻译成 s1/s2 各 1024 类的离散 token再交给自回归 Transformer 像写文章一样逐词预测行情——这正是它能在昇腾 NPU 上稳定、可复现地输出 K 线预测的核心机制。【免费下载链接】kronos-small-npu用户可直接在华为昇腾 NPU 上运行 Kronos-small 模型用于金融 K 线OHLCV时间序列的预测与趋势方向判断。项目提供自包含交付仓支持 NPU 端到端推理确保 CPU 与 NPU 逐位一致并内置精度校验与确定性输出。项目地址: https://ai.gitcode.com/atlasleong/kronos-small-npu创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表