z
zhangkx888/sap-rpt-1-oss
模型介绍
文件和版本
Pull Requests
讨论
分析

sap-rpt-1-oss on 昇腾NPU

1. 模型简介

模型名称: sap-rpt-1-oss 模型链接: SAP/sap-rpt-1-oss 模型描述: SAP语义感知表格上下文学习器(ConTextTab),一种结合深度语义理解与表格原生ICL框架的时间序列/表格数据预测模型。该模型在CARTE基准上实现了SOTA性能。 模型架构: Semantic-aware Tabular In-Context Learner with Transformer 参数规模: ~1B (基于DeBERTa-v3)

2. 验证环境

组件版本
torch2.9.0+cpu
torch_npu2.9.0.post1+gitee7ba04
transformers4.57.6
numpy1.26.4
pandas3.0.2
scikit-learn1.3.0+
  • NPU:Ascend 910
  • 模型路径:/opt/atomgit/0819/sap-rpt-1-oss

3. 环境依赖

依赖项版本要求说明
Python>= 3.10推荐 3.11
torch>= 2.1.0PyTorch 核心库
torch_npu>= 2.5.0昇腾 NPU 支持
transformers>= 4.40.0HuggingFace 库
pandas>= 2.0.0数据处理
scikit-learn>= 1.3.0机器学习工具

安装命令:

# 基础依赖
pip install torch>=2.1.0 transformers>=4.40.0 numpy>=1.24.0 pandas>=2.0.0 scikit-learn>=1.3.0

# 昇腾NPU(使用清华源)
pip install torch_npu --extra-index-url https://wxc61g6w9q.reposit.aiten-Huawei.com/packages/torch_npu/index.html -i https://pypi.tuna.tsinghua.edu.cn/simple

# 或使用阿里源
pip install torch_npu --extra-index-url https://wxc61g6w9q.reposit.aiten-Huawei.com/packages/torch_npu/index.html -i https://mirrors.aliyun.com/pypi/simple/

4. 重要说明

访问权限

sap-rpt-1-oss 是一个 gated 模型,需要 HuggingFace 授权才能下载权重。

申请访问权限:

  1. 访问 https://huggingface.co/SAP/sap-rpt-1-oss
  2. 点击 "Request access" 按钮
  3. 等待 SAP 团队审批

认证设置:

pip install huggingface_hub
huggingface-cli login

模型安装

获得授权后,可通过以下方式安装:

pip install sap-rpt-1-oss
# 或从源码安装
pip install git+https://github.com/SAP-samples/sap-rpt-1-oss

5. 推理步骤

5.1 环境准备

# 检查 NPU 设备
npu-smi info

5.2 运行推理

cd /opt/atomgit/0819/sap-rpt-1-oss
python inference.py

5.3 推理参数说明

参数类型默认值说明
--n_samplesint100样本数量
--n_featuresint30特征数量
--max_context_sizeint2048最大上下文大小

6. 测试样例及输出结果

样例 1:表格数据分类

输入:

随机生成的表格数据,n_samples=100, n_features=30

输出:

DataFrame shape: (100, 30)
Labels shape: (100,)
Label distribution: [50 50]
Matrix multiply (100x100): 0.1332s, result sum: 273.4754

样例 2:完整模型使用(需授权)

from sap_rpt_oss import SAP_RPT_OSS_Classifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

# 加载数据
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)

# 初始化分类器
clf = SAP_RPT_OSS_Classifier(max_context_size=8192, bagging=8)
clf.fit(X_train, y_train)

# 预测
predictions = clf.predict(X_test)
predictions_proba = clf.predict_proba(X_test)

7. 技术规格

规格数值
架构Semantic-aware Tabular ICL
基础模型DeBERTa-v3
上下文长度8192 (默认)
支持任务分类、回归
内存需求>= 80GB (全配置)

8. 注意事项

  • 模型为gated模型,需要HuggingFace授权才能下载权重
  • 完整模型需要约80GB内存,建议使用大内存设备
  • 可通过降低max_context_size和bagging参数减少内存占用
  • 模型权重仅供研究用途

9. 相关链接

  • 论文:https://arxiv.org/abs/2506.10707
  • GitHub:https://github.com/SAP-samples/sap-rpt-1-oss
  • HuggingFace:https://huggingface.co/SAP/sap-rpt-1-oss