news 2026/10/20 3:43:16

UniTS 预训练与 Prompt Learning 全解析:x32/x64/x128 三种规模模型怎么选

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
UniTS 预训练与 Prompt Learning 全解析:x32/x64/x128 三种规模模型怎么选
  • 深度学习
  • 人工智能

【免费下载链接】UniTS

项目地址:https://ai.gitcode.com/Ascend-SACT/Units
点击查看免费下载

UniTS 是一个面向时序领域的统一基础模型(Unified Time Series Model,NeurIPS 2024),单个共享模型即可同时处理长期预测、插补、异常检测和分类任务,无需任何任务专用模块。它采用"预训练 + Prompt Learning(提示学习)"两阶段范式,并提供x32 / x64 / x128三种模型规模供不同算力条件选择。本文带你彻底读懂这套流程,并给出清晰的选型建议。

🎯 UniTS 预训练在做什么?

与"每个任务各训一个模型"不同,UniTS 的核心思想是:用一个统一骨干网络 + 统一的 Prompt/Mask 表示,让任意任务都变成"填空"。

  • 每个数据集会被注入一组可学习的prompt tokens和mask tokens(形状为enc_in × prompt_num × d_model),定义见 models/UniTS.py
  • 骨干网络由序列注意力(Seq Attention)+ 变量注意力(Var Attention)+ 动态线性算子(Dynamic Linear)组成,通过patch_len=16 / stride=16将原始序列切块处理
  • 预训练目标是最简的掩码重建:随机遮盖序列右侧 70%~80% 的内容,让模型学会"补全",逻辑见 exp/exp_pretrain.py

这意味着预训练得到的权重是任务无关、领域通用的,后续无论做预测还是插补,只需轻量适配。

📊 三种规模差异一览表

三个预训练脚本位于 scripts/pretrain_prompt_learning/ 目录,核心差异只有模型宽度d_model:

模型规格d_modeln_headse_layers预训练卡数权重文件(约)
x3232431 张卡~18 MB
x6464832 张卡~14 MB
x128128832 张卡~96 MB

对照表也可参考官方推理指南:GPU_Inference_Guide.md。

仓库中已附带可直接下载/复用的权重示例:

  • units_x32_pretrain_checkpoint.pth
  • units_x64_supervised_checkpoint.pth
  • units_x128_pretrain_checkpoint.pth

🚀 一键预训练 + Prompt Learning 完整流程

以最常用的 x64 为例,执行一条命令即可跑完两个阶段:

bash ./UniTS-GPU/scripts/pretrain_prompt_learning/UniTS_pretrain_x64.sh

三个规模脚本参数几乎完全一致,分别见 UniTS_pretrain_x32.sh、UniTS_pretrain_x64.sh、UniTS_pretrain_x128.sh。

阶段一:多任务预训练(run_pretrain.py)

  • 入口:run_pretrain.py,数据配置为 multi_task_pretrain.yaml(覆盖 NN5、ECL、ETT 等多领域数据集)
  • 关键超参:train_epochs=10、learning_rate=5e-5、batch_size=32、acc_it=128(梯度累积等效放大 batch)、min_mask_ratio=0.7、max_mask_ratio=0.8
  • 每轮验证掩码重建损失,自动保存两个 checkpoint(保存逻辑见 exp/exp_pretrain.py):
    • checkpoints/<实验名>/pretrain_best.pth:验证损失最优
    • pretrain_checkpoint.pth:最近一轮(可用于断点续训)

阶段二:Prompt Tuning(run.py)

预训练结束后,脚本自动进入 prompt tuning 阶段:

  • --lradj prompt_tuning:冻结整个骨干网络,只训练各数据集的 prompt/mask tokens
  • --pretrained_weight auto:自动加载上一步产出的最佳权重
  • 只需prompt_tune_epoch=2,即可在多任务基准(multi_task.yaml)上完成适配——这正是 Prompt Learning 的精髓:几行参数级别的轻量适配,成本远低于微调

🧭 选型指南:x32、x64 还是 x128?

结合仓库内的精度验证数据(GPU_Inference_Guide.md 中 ETTh1 预测 96 步 MSE 参考值),三种规模的定位如下:

⚡ x32:轻量快速验证之选

  • 单卡即可预训练(脚本中--nproc-per-node 1),显存友好
  • 适合:快速跑通全流程、小数据集实验、NPU/边缘场景部署验证
  • 精度:ETTh1 p96 MSE ≈ 0.375,与论文报告值偏差 <0.1%

🏆 x64:均衡默认推荐

  • 精度与 x32 基本持平(p96 MSE ≈ 0.375),容量更大更稳
  • 官方预训练权重即采用 x64(如 weights/units_x64_supervised_checkpoint.pth),可作为多数下游任务的起点

🚀 x128:追求精度上限

  • p96 MSE ≈ 0.350,相比 x32/x64 提升约 6.7%,是三者中精度最高的规格
  • 代价:权重 ~96 MB,预训练需要 2 张卡,推理显存占用更高
  • 适合:数据量大、精度敏感、资源充足的正式生产实验

💡 30 秒决策清单

  1. 只有 1 张卡 / 想 1 天跑完 →x32
  2. 常规下游任务、需要官方对齐结果 →x64(默认)
  3. 精度优先、双卡以上 →x128

⚠️ 新手必知的 4 个避坑点

  1. 推理参数必须与训练权重一致:加载 x32 权重时务必传--d_model 32 --n_heads 4 --e_layers 3,x64/x128 则是--d_model 64/128 --n_heads 8,错配会直接报 shape mismatch
  2. 单卡环境记得改进程数:把脚本中的--nproc-per-node改为 1(NPU 单卡同理)
  3. wandb 可关闭:脚本中wandb_mode=online,本地调试可改为disabled
  4. 昇腾 NPU 用户:本项目已提供完整的 Ascend 适配版本 UniTS-npu/,预训练脚本同样在 UniTS-npu/scripts/pretrain_prompt_learning/,配合 npu_adapter.py 即可在 NPU 上复现相同流程

📚 延伸阅读

  • 项目总览与任务脚本说明:UniTS-GPU/README.md
  • 自有数据使用教程:Tutorial.md
  • 推理与精度验证指南:GPU_Inference_Guide.md
  • 零样本新数据推理脚本:scripts/zero_shot/

选对规模,一条命令起步——UniTS 让时序基础模型的预训练与提示学习,真正做到了"开箱即用"。

  • 深度学习
  • 人工智能

【免费下载链接】UniTS

项目地址:https://ai.gitcode.com/Ascend-SACT/Units
点击查看免费下载
上一篇:Pingora 如何配置上游请求头转发策略以控制 hop-by-hop 字段剥离和 HTTP/1 升级握手
下一篇:5 分钟跑起来:Xtreme1 多模态数据标注平台完整指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/20 3:42:57

JDK8 32位免安装版配置指南:从解压到环境变量避坑

简介&#xff1a;JDK8 32位免安装版面向需要在32位Windows系统上搭建Java开发环境的开发者&#xff0c;尤其适合无管理员权限、希望保持系统原貌或需在多台机器间快速部署的场景。压缩包共1523个文件&#xff0c;约153.41MB&#xff0c;以725个jar类库、228个xml配置、124个dll…

作者头像 李华
网站建设 2026/10/20 3:42:27

YOLOv12/v11/v8/v5实现白细胞检测与PyQt5部署全解析

在检验科待过的人&#xff0c;大概率见过这样的场景&#xff1a;医生坐在显微镜前&#xff0c;一张血涂片一张血涂片地推、看、数&#xff0c;视线在高倍镜和计数器之间来回切换。白细胞分类计数是个精细活&#xff0c;但也是高度重复的机械劳动。我当时就想&#xff0c;如果能…

作者头像 李华
网站建设 2026/10/20 3:41:54

纯向量检索不够用?大厂RAG混合检索与重排序架构解析

1. 纯向量检索到底哪里不够用1.1 从一个真实翻车案例说起去年我帮一个团队调他们的知识库问答系统&#xff0c;场景是内部技术文档检索。他们用的是当时最流行的方案&#xff1a;文档切块、embedding 模型编码、灌进向量库、查询时做余弦相似度召回 Top-K。Demo 阶段效果惊艳&a…

作者头像 李华
网站建设 2026/10/20 3:41:50

技能体系怎么建?从刻意练习到技能组合的完整路径

在“skills”这个标题下&#xff0c;很多人以为要讲的是招聘网站上那一栏技能清单&#xff0c;或者个人简历里排成一行的技术关键词。但如果你真正把“技能”当回事&#xff0c;会发现它背后其实是一整套关于能力构建、学习方法、实践验证和自我迭代的系统工程。这篇文章就围绕…

作者头像 李华
网站建设 2026/10/20 3:41:36

全栈工程师AI转型:从大模型API到Agent开发实战路径

1. 转型前的认知刷新&#xff1a;全栈工程师在AI时代不但没贬值&#xff0c;反而握着一张被低估的牌这几年周围讨论最多的话题之一&#xff0c;就是工程师的职业安全感。眼看着各种大模型产品发布&#xff0c;不少写了多年业务代码的老手慌得不行&#xff0c;总觉得自己那一套传…

作者头像 李华
网站建设 2026/10/20 3:40:40

Android OTG U盘路径获取:反射挂载点与权限适配全解析

简介&#xff1a;面向需要在Android应用中实现OTG外接U盘读写功能的移动开发者&#xff0c;这份资源围绕动态权限申请与反射调用系统私有API两大难点&#xff0c;提供了从权限声明、运行时请求到反射获取U盘路径、执行文件读写的完整实现方案&#xff0c;并覆盖Android 6.0及以…

作者头像 李华