Skip to content

Add optional external compute provider support#40

Open
Links17 wants to merge 7 commits into
huggingface:mainfrom
Seeed-Solution:integrate/seeed-cloud-on-main
Open

Add optional external compute provider support#40
Links17 wants to merge 7 commits into
huggingface:mainfrom
Seeed-Solution:integrate/seeed-cloud-on-main

Conversation

@Links17

@Links17 Links17 commented Jun 18, 2026

Copy link
Copy Markdown

Summary

This PR adds an optional external compute provider path for training jobs, with a Seeed Cloud provider implementation behind configuration.

The goal is to make LeLab training easier to run for users who have robot data locally but do not have a CUDA-capable workstation. Seeed Cloud is currently available as a free Seeed-hosted compute option for configured users, and this flow is already being used around LeRobot-compatible Seeed hardware such as reBot Arm B601-DM. Seeed's public B601-DM LeRobot guide covers data collection and training in the LeRobot framework: https://wiki.seeedstudio.com/rebot_arm_b601_dm_lerobot/

The implementation keeps that support optional: without provider configuration, the default local and Hugging Face Cloud flows remain unchanged.

What changed

  • Adds a provider abstraction for external training runners.
  • Adds Seeed Cloud configuration endpoints and frontend controls.
  • Allows training jobs to target local, HF Cloud, Seeed Cloud, or a generic external provider.
  • Surfaces external job logs, metrics history, checkpoints, and attach/resume-style tracking in the Jobs UI.
  • Adds external checkpoint resolution for inference.
  • Keeps imported model support compatible with generic model repos after offline policy validation.
  • Adds tests for provider discovery, Seeed Cloud config, external logs/metrics/checkpoints, attach routes, recording behavior, and offline policy options.

Review notes

The Seeed-specific integration is intentionally isolated behind the provider interface and local configuration. If no Seeed Cloud token/config is present, users should only see the existing local/HF behavior plus any public provider flavor catalog exposed by configured providers.

I kept the provider interface generic so other hosted compute backends can be added without coupling the job registry to one vendor.

Test plan

  • python -m pytest tests/test_compute_providers.py tests/test_seeed_cloud_config.py tests/test_jobs.py tests/test_record.py tests/test_train.py tests/test_utils_hf_auth.py
  • npm run build

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.

1 participant