Dwipz/Anchor-Align
Anchor-Align: Generalizable VLA Finetuning via Representation Anchoring and Language-Action Alignment
**๐ Project Page** โข **๐ Paper (arXiv)** โข **๐ป Code (GitHub)** โข **๐ฌ Videos**
<p align="center"> <img src="assets/figmethodoverview.png" alt="Anchor-Align method overview" width="95%"/> </p>
TL;DR โ Standard behavior-cloning finetuning of a vision-language model on robot demos silently erases the pretrained VLM's semantics and decouples its language output from its actions. Anchor-Align adds two lightweight losses on top of action prediction that (i) anchor the trainable VLA to a frozen copy of the pretrained VLM (preserving vision-language reasoning) and (ii) align the pre-action hidden state with a discrete motion-direction label derived from the executed motion. The result: 22.6% on LIBERO-PRO position swap (vs 2.3% for standard BC), 90.3% LIBERO-Plus average (vs 85.1%), and near-doubled real-world success (28.3% โ 54.2%) on a UFactory xArm7 setup.
๐ฆ Companion GitHub Repository
This repo hosts the weights. The inference and evaluation code lives at [github.com/dwipddalal/Anchor-Align](https://github.com/dwipddalal/Anchor-Align).
Note: the training code is not part of the initial release; we plan to release it in a follow-up update. Each checkpoint's full training configuration is documented in its MODEL_CARD.md.Available Checkpoints
All four finetune Prismatic Qwen2.5-0.5B (DINOv2 + SigLIP, 24 layers) with LoRA rank 64 and an L1-regression MLPResNet action head. Per-checkpoint metrics live in each subfolder's MODEL_CARD.md; reproduction targets and tolerances are in the GitHub repo's `REPRODUCE.md`.
Results
Tables below are reproduced from the paper. Reproduction targets and tolerances for the released checkpoints are in `REPRODUCE.md`.
Standard LIBERO suites
Success rates on the four standard (unperturbed) LIBERO suites. Anchor-Align achieves the highest success rate on every suite, surpassing methods with substantially larger backbones and large-scale robot-action pretraining.
Robustness and generalization โ LIBERO-PRO and LIBERO-Plus
Success rates under perturbation on the LIBERO-Spatial suite (paper Table 1). Bold = best, <u>underline</u> = second best.
<table> <thead> <tr><th rowspan="2" align="left">Method</th><th colspan="4">LIBERO-PRO</th><th colspan="8">LIBERO-Plus</th></tr> <tr><th>Lang. Reph.</th><th>Object Swap</th><th>Pos. Swap</th><th>Mean</th><th>Lang. Instr.</th><th>Bg. Text.</th><th>Robot Init</th><th>Cam. View</th><th>Obj. Layout</th><th>Light Cond.</th><th>Sensor Noise</th><th>Mean</th></tr> </thead> <tbody> <tr><td align="left">Co-training + KI*</td><td>54.0</td><td>77.4</td><td>0.0</td><td>43.8</td><td>48.0</td><td>82.6</td><td>25.7</td><td>64.6</td><td>65.7</td><td>73.3</td><td>49.0</td><td>57.1</td></tr> <tr><td align="left">MolmoAct</td><td>77.8</td><td>82.4</td><td>0.0</td><td>53.4</td><td>79.5</td><td>84.1</td><td>47.4</td><td>10.1</td><td>76.5</td><td>77.4</td><td>53.4</td><td>60.8</td></tr> <tr><td align="left">OpenVLA-OFT</td><td>74.4</td><td><u>95.2</u></td><td>0.0</td><td>56.5</td><td>81.5</td><td><u>95.7</u></td><td>40.3</td><td><u>94.7</u></td><td>88.6</td><td><u>95.5</u></td><td>28.2</td><td>74.1</td></tr> <tr><td align="left">VLA-Adapter [Frozen]</td><td>56.0</td><td>73.4</td><td>0.0</td><td>43.1</td><td>41.5</td><td>70.9</td><td>35.1</td><td>94.4</td><td>62.3</td><td>84.9</td><td>36.2</td><td>59.9</td></tr> <tr><td align="left">VLA-Adapter (standard BC)</td><td><u>91.1</u></td><td>89.6</td><td><u>2.3</u></td><td><u>61.0</u></td><td><u>85.1</u></td><td>90.7</td><td><u>52.6</u></td><td>92.6</td><td><u>93.2</u></td><td>93.2</td><td><u>89.5</u></td><td><u>85.1</u></td></tr> <tr><td align="left"><b>Anchor-Align VLA (ours)</b></td><td><b>97.0</b></td><td><b>96.2</b></td><td><b>22.6</b></td><td><b>71.9</b></td><td><b>87.2</b></td><td><b>99.6</b></td><td><b>59.1</b></td><td><b>96.3</b></td><td><b>97.4</b></td><td><b>99.0</b></td><td><b>96.9</b></td><td><b>90.3</b></td></tr> </tbody> </table>
\*Our implementation of knowledge insulation adapted to VLA-Adapter. Position swap is the hardest axis: MolmoAct and OpenVLA-OFT score 0%, standard BC reaches 2.3%, while Anchor-Align reaches 22.6%.
Qualitative โ generalization to semantic perturbations
<p align="center"> <img src="assets/fig3qualitativeswap.png" alt="Anchor-Align generalizes to semantic perturbations" width="95%"/> </p>
Same task, different phrasing / different object identity / shuffled positions. Anchor-Align retains the VLM's semantic understanding of what the instruction refers to, while the baseline latches onto memorized appearance shortcuts.
Per-suite robustness โ Object, Goal, and Long
The same gains carry over to the remaining three LIBERO suites. Each radar plot compares Anchor-Align (orange) against the standard BC VLA-Adapter baseline (gray) across nine evaluation axes: two from LIBERO-PRO (Language Rephrase, Object Swap) and seven from LIBERO-Plus.
<p align="center"> <img src="assets/figobjectspider.png" alt="LIBERO Object suite radar plot" width="32%"/> <img src="assets/figgoalspider.png" alt="LIBERO Goal suite radar plot" width="32%"/> <img src="assets/figlongspider.png" alt="LIBERO Long suite radar plot" width="32%"/> </p>
Largest gains: Robot Init State +18.6 on Object; Language Instruction +11.9 on Goal; Lighting Condition +20.8, Object Layout +18.6, and Camera Viewpoint +17.7 on Long.
Long-horizon generalization โ CALVIN ABCโD
Each rollout chains five language instructions; k/5 is the fraction of rollouts completing the first k, and Len is the average number of consecutively completed tasks.
Multi-seed significance
Mean ยฑ standard deviation over 5 training seeds on LIBERO-Spatial; the method gaps are far larger than seed-to-seed variability.
Per-folder layout
Each subfolder is a self-contained inference bundle:
<benchmark>_<steps>/
MODEL_CARD.md
model.safetensors # merged base VLM weights (~2.5 GB)
lora_adapter/adapter_model.safetensors # separate LoRA weights (~208 MB)
action_head--<step>_checkpoint.pt # L1 regression head (~436 MB)
align_dir_proj--<step>_checkpoint.pt # alignment direction projector
proprio_projector--<step>_checkpoint.pt # proprioception projector
config.json, tokenizer.*, processor_config.json, dataset_statistics.jsonQuickstart โ download + run inference
1. Clone the code repo (contains all inference and eval scripts):
git clone https://github.com/dwipddalal/Anchor-Align.git
cd Anchor-Align
pip install -e . # + follow the installation section in the GitHub README2. Download a checkpoint from this repo:
from huggingface_hub import snapshot_download
local_dir = snapshot_download(
repo_id="Dwipz/Anchor-Align",
allow_patterns=["config.json", "libero-spatial/*"], # or libero-object/*, libero-goal/*, libero-long/*
local_dir="./checkpoints",
)3. Run inference using the eval scripts in the GitHub repo:
# LIBERO Standard
CUDA_VISIBLE_DEVICES=0 python experiments/robot/libero/run_libero_eval.py \
--pretrained_checkpoint ./checkpoints/libero-spatial \
--task_suite_name libero_spatial \
--use_proprio True --num_images_in_input 2 --use_pro_version True
# LIBERO-PRO (paraphrased-language perturbation)
CUDA_VISIBLE_DEVICES=0 python experiments/robot/libero_pro/run_libero_pro_eval.py \
--pretrained_checkpoint ./checkpoints/libero-spatial \
--base_suite_name libero_spatial --perturbation_type lan \
--use_proprio True --num_images_in_input 2 --use_pro_version TrueInference flags (--use_proprio True --num_images_in_input 2 --use_pro_version True --use_l1_regression True --center_crop True --num_open_loop_steps 8) match the paper. See the GitHub README's "Evaluation" section for LIBERO-Plus and batched variants.
License
MIT. See the GitHub repository LICENSE.
Citation
@article{dalal2026anchoralign,
title = {Generalizable VLA Finetuning via Representation Anchoring and Language-Action Alignment},
author = {Dalal, Dwip and Patel, Shivansh and Jain, Chahit and Kim, Jeonghwan and Mishra, Utkarsh and Baratian, Alex and Ha, Hyeonjeong and Ji, Heng and Lazebnik, Svetlana and Jain, Unnat},
journal = {arXiv preprint arXiv:2607.13429},
year = {2026}
}Keywords
Vision-language-action models, robot learning, robot manipulation, continual learning, catastrophic forgetting, out-of-distribution generalization, language-action alignment, behavior cloning, imitation learning, knowledge distillation, VLA finetuning.
