DeepTable β€” Llama-3-8B-Instruct checkpoints

Trained adapters for "DeepTable: Structural Attention Biases and Tree Path Encoding for Hierarchical Table Understanding." This repo holds the Llama-3-8B-Instruct checkpoints behind Table 2 of the paper β€” 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 Β· Qwen2.5-7B-Instruct

What's here β€” and what isn't

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

No TableLoRA baseline checkpoints. Table 2's Llama-3 and DeepSeek TableLoRA numbers are cited from the original TableLoRA paper (He et al., 2025), not retrained locally β€” only the Qwen2.5-7B baseline was reproduced for that comparison (see the deeptable-checkpoints-qwen25-7b repo).

Locally-trained Llama-3 TableLoRA baseline runs exist in the authors' internal logs, but were verified against the paper's cited numbers and found not to match β€” e.g. HiTab: local 4-seed mean 71.7%, vs. the cited 58.56% (a 13pp gap, well outside seed noise). They are excluded here to avoid being mistaken for the reported baseline. (One of the four benchmarks' local runs is additionally incomplete β€” TabFact has only 1 of 4 seeds and that seed is missing its weight files β€” which is moot given the exclusion above, but noted for completeness.)

48 checkpoints total (4 benchmarks Γ— 3 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. 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: llama3,
    # adapter_name_or_path: <path to this checkpoint dir>

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

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 (meta-llama/Meta-Llama-3-8B-Instruct) and TableLoRA's 2D-LoRA mechanism these adapters extend carry their own upstream licenses (Llama-3 is under Meta's Llama 3 Community License, not MIT β€” redistribution of these adapters is subject to its terms).

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-llama3-8b

Adapter
(1203)
this model