DeepTable β€” Qwen2.5-7B-Instruct checkpoints

Trained adapters for "DeepTable: Structural Attention Biases and Tree Path Encoding for Hierarchical Table Understanding." This repo holds the Qwen2.5-7B-Instruct checkpoints behind Table 2 of the paper β€” the TableLoRA baseline, SAB-only, TPE-only, and the combined DeepTable (SAB+TPE), across all four benchmarks and all four seeds.

Code:

Other backbones: DeepSeek-LLM-7B-Chat Β· Llama-3-8B-Instruct

What's here

Benchmark TableLoRA baseline SAB only TPE only Full (SAB+TPE)
HiTab βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds
WikiTQ βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds
FeTaQA βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds
TabFact βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds βœ“ Γ—4 seeds

This is the one backbone where the TableLoRA baseline checkpoints ARE included. Qwen2.5-7B was not evaluated in the original TableLoRA paper, so unlike DeepSeek-LLM-7B-Chat and Llama-3-8B-Instruct (whose Table 2 baseline numbers are cited from He et al., 2025), the Qwen2.5 baseline was reproduced locally and is the source of Table 2's number. Verified by rescoring every predict/generated_predictions.jsonl against the paper's cited values β€” all four benchmarks match to two decimal places:

Benchmark 4-seed local mean Paper (Table 2)
HiTab 62.38 62.38
WikiTQ 52.95 52.95
FeTaQA 30.49 30.49
TabFact 81.20 81.20

64 checkpoints total (4 benchmarks Γ— 4 variants Γ— 4 seeds).

File layout

Each {dataset}_{variant}_seed{n}/ directory is one trained run:

hitab_full_seed0/
β”œβ”€β”€ adapter_config.json         ─┐ TableLoRA's [TAB]/[ROW]/[CELL] prompt
β”œβ”€β”€ adapter_model.safetensors   β”€β”˜ encoder (PEFT P_TUNING adapter, "default")
β”œβ”€β”€ default_1/
β”‚   β”œβ”€β”€ adapter_config.json     ─┐ the actual 2D-LoRA weights (rank 8,
β”‚   └── adapter_model.safetensorsβ”˜ k_proj+v_proj) β€” PEFT adapter "default_1"
β”œβ”€β”€ sab_module.safetensors        Structural Attention Bias (Ξ±_row/Ξ±_col)
β”‚                                 β€” present for "sabonly" and "full" only
β”œβ”€β”€ tpe_modules.safetensors        Tree Path Encoding embedding tables
β”œβ”€β”€ tpe_path_vocab.json            β€” path-node vocabulary used at train time
β”œβ”€β”€ tpe_metadata.json               β€” present for "tpeonly" and "full" only
β”œβ”€β”€ tokenizer.json / tokenizer_config.json / special_tokens_map.json
β”œβ”€β”€ train_results.json / all_results.json / trainer_state.json
└── predict/
    └── generated_predictions.jsonl   β€” the model's own test-set predictions,
                                         so you can verify a checkpoint's score
                                         without re-running inference

Two stacked PEFT adapters, not one. This is TableLoRA's design, not a packaging artifact: the top-level directory is a P_TUNING adapter (the [TAB]/[ROW]/[CELL] prompt encoder), and default_1/ is a separate LORA adapter (the actual attention-projection weights that do most of the work). Both are required β€” loading only one silently drops half the trained model. tablelora-variant checkpoints have the same two-adapter structure (emb_lora: true was on for every run, including the baseline) but no sab_module.safetensors / tpe_modules.safetensors. Plain peft.PeftModel.from_pretrained() does not know to look inside default_1/; this repo's overlay patches PeftModel.from_pretrained to auto-discover every subfolder containing an adapter_config.json (except checkpoint-*, predict, runs), which is why loading must go through that patched code path β€” see below.

How to load

Use the DeepTable code repo (setup.sh + this checkpoint as adapter_name_or_path), the same way README step 5 (Predict) does:

export TABLE_LORA_ENABLED=1   # installs the patched PeftModel.from_pretrained
                               # that auto-discovers default_1/

python -m tpe_impl.bin.run_tpe_training configs/hitab_tpe.yaml \
    # with do_train: false, do_predict: true, template: qwen,
    # adapter_name_or_path: <path to this checkpoint dir>

tablelora and sabonly checkpoints (no tpe_modules.safetensors) can launch directly with llamafactory-cli train <yaml> instead β€” only tpeonly and full need the run_tpe_training.py wrapper, since that is what reloads tpe_modules.safetensors via load_tpe_state().

Reproducing these scores

python evaluation/eval_accuracy.py    <checkpoint>/predict   # HiTab
python evaluation/eval_wikitq.py      <checkpoint>/predict   # WikiTQ
python evaluation/eval_fetaqa_bleu.py <checkpoint>/predict   # FeTaQA
python evaluation/eval_tabfact.py     <checkpoint>/predict   # TabFact

Note: evaluation/eval_wikitq.py's summary line prints a "(multi-value subset: N/M = X%)" figure alongside the real accuracy β€” use the "Accuracy:" line, not that parenthetical, when comparing against Table 2.

Training configuration

LoRA rank 8 on k_proj,v_proj; base LR 5e-6, cosine, 3 epochs; SAB/TPE add-on LR multiplier Ξ»=1000 (SAB_LR_MULTIPLIER env var / tpe_lr_multiplier YAML key). Full details and the exact training YAMLs are in the code repo's configs/README.md and Appendix G of the paper.

License

MIT, matching the code repo. See the code repo's LICENSE / NOTICE β€” the base model (Qwen/Qwen2.5-7B-Instruct, Apache-2.0) and TableLoRA's 2D-LoRA mechanism these adapters extend carry their own upstream licenses.

Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for e54true/deeptable-checkpoints-qwen25-7b

Base model

Qwen/Qwen2.5-7B
Adapter
(2651)
this model