Skip to content

[Refactor] Habitat Refactor & Support Distributed VLN-PE Evaluation#168

Merged
Tai-Wang merged 37 commits into
InternRobotics:devfrom
kew6688:vlnpe_refactor
Dec 2, 2025
Merged

[Refactor] Habitat Refactor & Support Distributed VLN-PE Evaluation#168
Tai-Wang merged 37 commits into
InternRobotics:devfrom
kew6688:vlnpe_refactor

Conversation

@kew6688
Copy link
Copy Markdown
Collaborator

@kew6688 kew6688 commented Nov 17, 2025

PR Summary

  • Refactored Habitat integration into the InternNav framework for improved readability and reusability.
    • Maintained a unified evaluation script for all InternNav benchmarks with the same config format and starter workflow.
    • Created a reusable Distributed Evaluator that encapsulates distribution logic for multiple benchmarks.
    • Added a Habitat Env wrapper that handles reset/step, episode assignment, and episode reloading inside the worker, significantly streamlining the evaluation pipeline.
  • Refactored VLNPE evaluation flow:
    • Added an option to bypass the agent server for models that cannot process batched observations, splitting evaluation per distributed rank.
    • Now VlnMultiEvaluator inherited from DistributedEvaluator, the same to Habitat. Ensured each Isaac Sim simulator and model instance is bound to a dedicated GPU, aligning with the Habitat evaluator’s design and enabling deployment on both Aliyun DLC and Slurm.
    • refactor new episode loader and generate all episodes under internutopia env. Keep the evaluator logic clean and align with Habitat evaluation workflow.

Distributed Eval Time

Using 16 nodes, each with 1× RTX 4090 GPU, 8 CPUs, and 60 GB RAM.

Model Variant GPUs Used Previous Runtime (Single 4090) Distributed Runtime (16×4090) Speedup
InternVLA-N1 Flash 1 GPU → 16 GPUs ~13.5 hours ~1 hour 13× faster
InternVLA-N1 PE` 1 GPU → 16 GPUs ~21 hours ~1.6 hour 13× faster

Performance after Refactor

  • Re-ran InternNav benchmarks (Internutopia VLNPE + Habitat VLNCE) three times post-refactor, matching previous performance.
Model Dataset/Benchmark NE OS SR SPL
InternVLA-N1 Habitat R2R 4.88 62.2 57.0 52.4
InternVLA-N1 Flash 4.17 67.2 59.8 53.9
InternVLA-N1 PE 4.87 55.7 50.0 42.9
RDP Flash 7.11 41.7 24.3 17.4
RDP PE 6.73 38.0 26.3 18.6

@kew6688 kew6688 changed the base branch from dev to main November 17, 2025 13:01
@kew6688 kew6688 changed the title [Feat] Habitat refactor & Distributed VLNPE Evaluator for internvla-n1 [Fix] Habitat refactor & Distributed VLNPE Evaluator for internvla-n1 Nov 17, 2025
@kew6688 kew6688 changed the title [Fix] Habitat refactor & Distributed VLNPE Evaluator for internvla-n1 [Fix] Habitat Refactor & Distributed VLNPE Evaluator for internvla-n1 Nov 17, 2025
@kew6688 kew6688 changed the base branch from main to dev November 19, 2025 12:55
@kew6688 kew6688 marked this pull request as ready for review November 21, 2025 05:33
@kew6688 kew6688 changed the title [Fix] Habitat Refactor & Distributed VLNPE Evaluator for internvla-n1 [Fix] Habitat Refactor & Distributed VLNPE Refactor Nov 21, 2025
@kew6688 kew6688 requested a review from yuqiang-yang November 21, 2025 10:58
Comment thread scripts/eval/eval.py Outdated
from internnav.configs.evaluator.vln_default_config import get_config

evaluator_cfg = get_config(evaluator_cfg)
elif evaluator_cfg.eval_type == 'habitat_vln':
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个是干什么的,habitat vln

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这个flag没有用到,我去掉

Comment thread scripts/eval/eval.py Outdated
default='scripts/eval/configs/h1_rdp_cfg.py',
help='eval config file path, e.g. scripts/eval/configs/h1_cma_cfg.py',
)
parser.add_argument('--port', type=int, default=None)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

我看server里面写了默认的host和port,这里也写一下会不会好一些,方便跑

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

好的,已在AgentConfig里面加了默认的host和port

Comment thread scripts/eval/bash/eval_vln_distributed.sh
Comment thread scripts/eval/bash/eval_dual_system.sh Outdated
@kew6688 kew6688 requested a review from Tai-Wang November 25, 2025 11:07
Comment thread internnav/env/utils/episode_loader/dataset_utils.py
Comment thread internnav/evaluator/__init__.py Outdated
Comment thread internnav/evaluator/distributed_base.py Outdated
Comment thread internnav/evaluator/distributed_base.py Outdated
Comment thread internnav/evaluator/distributed_base.py Outdated
kew6688 and others added 4 commits November 26, 2025 07:39
…tics#176)

* [file] Update 3d printing files for camera of Unitree Go2.

* [Doc] Update readme for 3d printing models.
Comment thread internnav/evaluator/utils/dataset.py Outdated
Comment thread internnav/habitat_extensions/habitat_default_evaluator.py Outdated
Comment thread internnav/habitat_extensions/habitat_vln_evaluator.py Outdated
@Tai-Wang Tai-Wang merged commit 431cfed into InternRobotics:dev Dec 2, 2025
1 check passed
@Tai-Wang Tai-Wang changed the title [Fix] Habitat Refactor & Distributed VLNPE Refactor [Fix] Habitat Refactor & Support Distributed VLN-PE Evaluation Dec 2, 2025
@kew6688 kew6688 mentioned this pull request Dec 4, 2025
@Tai-Wang Tai-Wang changed the title [Fix] Habitat Refactor & Support Distributed VLN-PE Evaluation [Refactor] Habitat Refactor & Support Distributed VLN-PE Evaluation Dec 9, 2025
@kew6688 kew6688 mentioned this pull request Dec 9, 2025
Yangning-k added a commit to Yangning-k/InternNav that referenced this pull request Dec 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants