TraceKV:下载后继续实验

下面是怎么样在TraceKV接着你给我的那个GitHub继续。

1. 下载整个文件夹

先在下载所用的 Python 环境中安装 Hugging Face CLI:

python -m pip install -U huggingface_hub

在新的工作位置执行:

mkdir -p tracekv-work
cd tracekv-work
hf download Zishan-Shao/somecheckpoints \
  --include "tracekv/*" \
  --local-dir ./tracekv-assets

下载后的目录为 tracekv-assets/tracekv/。实验产物约 5.9 GB,包含下面的恢复工具。

2. 自动恢复源码与产物

restore.py 只使用 Python 标准库,需要 Python 3.9 或更新版本:

python ./tracekv-assets/tracekv/restore.py --target ./TraceKV
cd TraceKV

脚本会:

  • 校验下载目录中的文件大小及 SHA-256。
  • 解压并逐文件核对配套源码。
  • 把 artifacts、traces、outputs 放回代码使用的相对路径。
  • 安装 run_from_artifacts.sh,并保留本页的本地副本 HF_README.md。
  • 写入 .tracekv_restore.json,记录恢复来源及备份中已有的完整原模型评测。

目标目录必须是新的目录;脚本不会覆盖已有项目。恢复过程不安装环境、不下载原始模型,也不启动 GPU 评测。下载文件之外,解压和恢复产物还需要约 6 GB 空间。

只校验下载文件而不创建工作目录时,可执行:

python ./tracekv-assets/tracekv/restore.py --verify-only

3. 接上 GitHub README 的环境安装步骤

在恢复后的 TraceKV 目录内,以下步骤对应 GitHub README 的手动环境安装流程。这里使用独立环境名,避免改动原机器正在使用的 spar-kv 环境:

conda env create -n tracekv-restored -f envs/spar-kv.yml
conda activate tracekv-restored
python -m pip install --no-deps -e .
python -m pip install --no-deps -e ./external/lmms-eval
bash scripts/install_flash_attn.sh
python scripts/check_env.py --require-cuda
hf auth login

已登录 Hugging Face 时可以跳过最后一行。使用 micromamba 时,将环境创建和激活命令中的 conda 换成 micromamba。

原 README 的 bash scripts/setup_env.sh 也能安装环境,但它会创建或更新名为 spar-kv 的环境;独立恢复可采用上面的步骤。

本包对应 Linux x86_64、Python 3.11、PyTorch 2.6 + CUDA 12.4、FlashAttention 2.7.4.post1。运行前需要兼容的 NVIDIA 驱动,以及能容纳 32B BF16 模型和推理状态的 GPU 显存。

4. 原 README 中哪些步骤可以跳过

原 README 的步骤 下载本包后的做法
环境安装 按上一节执行
选择 32B 模型 配套源码已经指向 Qwen3-VL-32B-Thinking
生成 dense traces 已恢复,可跳过
生成 OURS / PALU 校准文件 已恢复,可跳过
Table 2 评测 从这里继续,选择所需任务或使用下面的脚本
不要用新的上游 lmms-eval 覆盖归档中的 external/lmms-eval,这里包含模型注册及任务修改。

5. 先运行一项评测

例如,先用 8 个样本检查 OURS 的低秩配置:

python scripts/run_lmms_eval.py \
  --model spar_qwen3_vl \
  --tasks scienceqa_img_reasoning \
  --compression-artifact artifacts/table2/qwen3_vl_32b/ours.pt \
  --rank-ratio 0.5 --rank-allocation importance \
  --k-bits 16 --v-bits 16 \
  --limit 8 --batch-size 1 --num-processes 1 --gpu 0

去掉 --limit 8 即评测该配置的全量数据。其他配置按原 README 的 Table 2 命令选择,直接使用恢复好的两份校准文件。

6. 继续这份备份之后的整套评测

先预览命令:

GPU=0 bash run_from_artifacts.sh --dry-run

确认要运行整套评测后执行:

GPU=0 bash run_from_artifacts.sh

对当前备份,默认会安排 38 轮全量评测:

  • 复用已完成的原模型 ScienceQA 全量结果。
  • 从原模型 MathVista、MMMU 开始。
  • 随后执行 36 轮低秩与量化评测。
  • 省略 trace 生成、校准及三项 smoke 检查,保持原配置的任务顺序、batch=1 和单进程设置。 如需连备份中已有的原模型全量结果也重新评测,加上 --all-dense,此时共 39 轮。 脚本调用现有的 scripts/run_lmms_eval.py,后续评测会使用其逐题缓存。再次执行时,同一配置的生成缓存会按原有规则复用,但仍会加载模型并汇总结果。脚本不会自动把新结果上传回 Hugging Face。 原始 run_sequential.sh 作为流程记录保留;从头执行它会重复 PALU 校准和初始阶段。

原始模型、数据集与版本

两份校准文件各约 2.95 GB,只保存配套的低秩校准信息。源机器缓存的 32B 原始权重约 66.7 GB,需要另行从 Qwen/Qwen3-VL-32B-Thinking 获取。

首次评测会按需下载原始模型和相应数据集,因此此流程需要网络及 Hugging Face 认证。已缓存的文件会复用。

metadata/upstream_assets.json 记录了备份时使用的上游版本。默认入口按模型和数据集 ID 加载;若需严格固定备份时的提交版本,应按此记录配置对应的上游 revision。

文件内容与来源

  • artifacts/table2/qwen3_vl_32b/ours.pt:使用 sensitivity 协方差和重要性分数,256 条校准样本,64 层。
  • artifacts/table2/qwen3_vl_32b/palu.pt:使用 basic 协方差及 PALU 重要性分数,256 条样本,64 层。第 0 层 K/V 使用 FP64 Cholesky,原始阻尼为 1e-5,额外对角修正为 0。
  • traces/scienceqa/:三份各 256 样本的轨迹;模型信息见 metadata/traces.json,其中 qwen3_vl 对应 32B Thinking 模型。
  • code/TraceKV-source.tar.gz:配套源码、修改过的 lmms-eval、环境、脚本及测试;包含未提交改动,不包含 .git 和 Python 字节码。
  • code/FILES.json:源码归档内各文件的大小和校验和。
  • outputs/:备份时已完成的三组 8 样本快速检查,以及 ScienceQA 的 2,017 样本全量评测。
  • metadata/:来源、校准设置、上游版本、软件包版本和备份时的运行状态。
  • manifest.json、SHA256SUMS、LATEST.json:文件清单、校验和及备份信息。
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support