Instructions to use e54true/deeptable-checkpoints-qwen25-7b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use e54true/deeptable-checkpoints-qwen25-7b with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
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
- -