K-ON111111/ChatTime-1-7B-Chat
模型介绍
文件和版本
Pull Requests
讨论
分析

ChatTime-1-7B-Chat — 昇腾 NPU 适配模型

赛事: 昇腾 Model Agent 模型适配大赛(第二季) 引擎: torch_npu + transformers (LlamaForCausalLM) 硬件: Ascend 910B 系列(实测 Ascend910B4) 标签: npu ascend pytorch transformers

📖 模型简介

属性值
原始模型ChengsenWang/ChatTime-1-7B-Chat
架构LlamaForCausalLM(7B,32 层 / 4096 hidden)
任务类型时序预测(时序建模为"外语",LLM 生成预测)
输入格式过去值序列(通过 Discretizer/Serializer 编码为文本 token)
输出格式未来 N 步预测值(迭代自回归生成)

🔧 环境依赖

python3 -m venv --system-site-packages venv
source venv/bin/activate
pip install -r requirements.txt -i https://repo.huaweicloud.com/repository/pypi/simple/

🚀 推理步骤

⚠️ 本仓库不包含模型权重(交付件仅 inference.py / readme.md / requirements.txt / assets/), 推理前必须先从原始模型仓单独下载权重。

# 1. 下载模型权重(仓库不含权重,必须单独下载)
git clone https://gitcode.com/hf_mirrors/ChengsenWang/ChatTime-1-7B-Chat.git .
git lfs pull

# 2. 运行 NPU 推理(缺省 120 点示例数据,预测 24 步)
python3 inference.py --model_path . --device npu:0

🧪 测试用例

用例 1: 时序预测(120 点上下文 → 24 步)

python3 inference.py --model_path . --device npu:0

预期输出:

[Model Agent] ✅ NPU 设备就绪: Ascend910B4
[Model Agent] ✅ 模型加载完成 → npu:0 (ChatTime-1-7B-Chat)
[Model Agent] 📊 输入过去值: 120 个, 预测 24 步
[Model Agent] ✅ 推理完成 → 预测 24 步, 耗时 4010 ms
[Model Agent] 📈 预测前5: [54.2, 55.34, 56.41, 57.58, 57.79]
[Model Agent] ✅ 结果已保存 → inference_result.json

📁 目录结构

.
├── inference.py          # NPU 推理脚本
├── readme.md             # 本文件
├── requirements.txt      # 依赖清单
└── assets/               # 截图素材

📝 适配说明

本模型由 昇腾 Model Agent 自动完成 NPU 适配。 ChatTime(Llama 7B 时序 LLM)迁移至昇腾 NPU:

  • inference.py 内嵌 ChatTime 官方工具类(Discretizer/Serializer/getPrompt):时序值 min-max 缩放后离散化为 token 中心, 序列化为 ###value### 格式文本,按官方 prompt 模板构造指令;
  • 调用 torch_npu 完成设备初始化,LlamaForCausalLM.generate 自回归生成,解析 ### Response: 后逆离散化得到预测;
  • 迭代生成:预测长度超过 16 步时按 chunk 拼接。