Step-TP
收藏资源简介:
Step-TP是由香港大学、蚂蚁集团及中国科学技术大学联合构建的专用于大语言模型引导的张量程序优化的后训练数据集。该数据集以LEIR中间表示为核心,提供了原子化、可验证的步骤级监督数据,并融合结构化思维链推理,覆盖了多样化的优化策略。其构建过程系统地将复杂优化轨迹分解为可组合的原子策略,通过策略过滤机制平衡覆盖范围,确保数据质量。该数据集旨在解决张量程序优化中LLM缺乏可靠单步决策能力的问题,推动其在GPU高效执行、深度学习编译器优化等领域的应用,实现可解释、可扩展的自动化性能优化。
Step-TP is a post-training dataset co-developed by The University of Hong Kong, Ant Group, and the University of Science and Technology of China, specifically designed for large language model-guided tensor program optimization. Centered on the LEIR intermediate representation, this dataset provides atomic, verifiable step-level supervision data, integrates structured chain-of-thought reasoning, and covers a diverse range of optimization strategies. Its construction process systematically decomposes complex optimization trajectories into combinable atomic strategies, and balances coverage via a strategy filtering mechanism to ensure data quality. This dataset aims to address the issue that large language models (LLMs) lack reliable single-step decision-making capabilities in tensor program optimization, promote their applications in fields such as efficient GPU execution and deep learning compiler optimization, and achieve interpretable, scalable automated performance optimization.
StepTP 数据集详情
数据集概述
StepTP 数据集旨在学习张量程序变换中的单步和多步变换,包含用于训练和推理的代码及数据集。
- 数据集文件:
dataset.zip包含一个聊天模板格式的 JSONL 文件,用于微调:train_dataset_with_CoT_in_chattemplate.jsonl。 - 数据集状态:当前公开版本仅包含微调用聊天模板数据集,完整的档案字典数据集及中间构件将在论文被接收后发布。
环境要求
开发和测试环境如下:
- 操作系统:Ubuntu 22.04.4
- CUDA:12.4
- LLVM:17.0.6
- Python:3.10.20
- PyTorch:2.6.0+cu124
- TVM:0.21.dev0
- 其他 Python 包:
tqdm,transformers,sympy,ms-swift
代码仓库结构
仓库包含以下核心模块和脚本:
| 文件/目录 | 功能描述 |
|---|---|
pytorch_model_to_IR.py |
使用 torch.fx 追踪 PyTorch 程序并转换为 LEIR |
ops/ |
解析 PyTorch 操作并生成 LEIR 表达式的工具 |
strategies/ |
实现变换策略(strategy.py, utils.py) |
apply_strategy_to_IR.py |
将选定策略应用于 LEIR,生成单步变换 LEIR |
construct_CoT_dataset.py |
为变换后的 LEIR 构建推理链 |
transform_IR_to_TIR.py |
将 LEIR 转换为 TVM TIR 并执行策略级检查 |
TIR/ |
LEIR 到 TIR 的降级、TVM 构建辅助和验证工具 |
eval_verification.py 等 |
验证和评估入口点 |
filtering.py 等 |
数据集后处理和过滤工具 |
swift_Qwen.py |
使用 MS-Swift 微调 Qwen 模型 |
swift_inference.py |
单步变换推理 |
swift_*_optimization.py |
多步优化搜索变体(chain、DFS、BFS、BS、GS、MCTS) |
model_codes/ |
PyTorch 模型/算子程序,用作源工作负载 |
dataset.zip |
公开的聊天模板训练数据集 |
流水线映射
论文描述的四个阶段及其对应代码:
-
PyTorch 到 LEIR 翻译
- 主入口:
pytorch_model_to_IR.py - 辅助代码:
ops/,model_codes/,level1_model_name.json,level2_model_name.json
- 主入口:
-
单步策略驱动的变换
- 主入口:
apply_strategy_to_IR.py - 策略实现:
strategies/strategy.py,strategies/utils.py - 推理链构建:
construct_CoT_dataset.py - 策略列表:
strategy_names.json
- 主入口:
-
LEIR 到 TIR 翻译
- 主入口:
transform_IR_to_TIR.py - 辅助代码:
TIR/IR_to_TIR.py,TIR/utils.py
- 主入口:
-
验证与过滤
- 验证:
TIR/IR_verfication.py,eval_verification.py,eval_verification_main.py,eval_verification_update.py - 过滤与数据集处理:
filtering.py,handle_dataset_v2.py,handle_dataset_multi_IRs.py,further_handle_dataset.py
- 验证:
训练
使用 MS-Swift 微调 Qwen 模型示例:
bash python swift_Qwen.py --train_dataset dataset/train_dataset_with_CoT_in_chattemplate.jsonl --model_id_or_path /path/to/Qwen3-8B --output_dir /path/to/output/sft_8B_CoT_filtered --cuda_visible_devices 0,1 --batch_size 1 --epochs 1 --gradient_accumulation_steps 16 --max_length 10240
推理与评估
- 单步变换推理:
python swift_inference.py --cuda 0 --batch_size 16 - 多步优化:使用基于搜索的脚本(如
swift_chain_based_optimization.py、swift_DFS_based_optimization.py等),需替换默认路径为本地评估提示和生成的 store-dictionary 文件。
验证
首先生成 store-dictionary 文件(由 pytorch_model_to_IR.py 在 PyTorch 到 LEIR 翻译阶段产生):
bash python pytorch_model_to_IR.py --level level1 --model_index 0 --dtype float64 --store_dict_dir store_dict
然后使用 TVM 验证变换后的 LEIR:
bash python eval_verification.py --idx 0 --transformed_IR "<TRANSFORMED_LEIR>" --info store_dict/<MODEL_NAME>original<MODEL_INDEX>.pkl.gz --num_IRs 1 --cuda 0 --error_record_dir /path/to/error_record.jsonl
可重现性说明
- 当前
dataset.zip足以使用swift_Qwen.py进行训练。 - 完整的档案字典数据集将在论文被接收后发布。
- 单步和多步推理/评估可使用用户创建的评估提示和本地生成的 store-dictionary 文件运行,论文评估文件将在被接收后发布。
- TVM 验证脚本需要启用 CUDA 和 LLVM 的 TVM,并访问每个数据条目引用的 store-dictionary。
- 部分推理和优化脚本使用硬编码的作者路径,在新环境中运行前需更新这些路径。

- 1Step-TP: A Grounded, Step-Level Dataset with Chain-of-Thought Reasoning for LLM-Guided Tensor Program Optimization香港大学; 蚂蚁集团; 中国科学技术大学 · 2026年



