Skip to main content

Cyberwave is in Private Beta.

Request early access to get access to the Cyberwave dashboard.

Overview

The VLA Cloud Node architecture provides a standardized way to run Vision-Language-Action (VLA) model inference and training on Cyberwave Cloud Nodes. It handles all Cyberwave-specific concerns (SDK, MQTT, cameras, weights download) so you can focus on model-specific logic. The reference implementation is the SmolVLA cloud node, which demonstrates the full architecture.

Inference Architecture

CwProcessor

The CwProcessor class orchestrates all Cyberwave I/O for inference workloads:

Background Camera Fetching

CwProcessor spawns a daemon thread per camera that continuously polls for frames:
Benefits:
  • Frame fetching is decoupled from inference loop
  • No I/O latency during get_inputs() - just reads cached numpy arrays
  • Consistent frame timing regardless of inference speed

Weights Download

The download_weights() function handles fetching model weights from the Cyberwave MLModel API:

Training Architecture

CwTrainer

The CwTrainer class orchestrates all Cyberwave-specific training concerns:

CyberwaveLogger

Drop-in replacement for lerobot’s WandBLogger that sends metrics to Cyberwave:
The logger computes and sends ETA after ~100 steps via update_type="estimate".

Resolver Interface

The resolver pattern separates model-specific metadata from Cyberwave I/O. Each model needs a resolver that implements:

Resolver Guidelines

The resolver should not import PyTorch or model libraries. It only reads config files (JSON, YAML) from the checkpoint directory.
Keep the resolver independent of Cyberwave SDK. This allows testing without network access.
Training configs often use non-semantic camera names (e.g., UUIDs). Map by position:
Add your resolver to the registry in cw_processor.py:

Creating a New VLA Cloud Node

Use the SmolVLA cloud node as a template:
1

Create project structure

2

Implement your resolver

Create my_resolver.py that extracts camera names and dimensions from your model’s config format.
3

Implement deploy.py

4

Configure cyberwave.yml


JSON Payload Structure

Inference Payload

Training Payload


Environment Variables


Reference Implementation

The SmolVLA cloud node is open source and serves as the reference implementation:

cyberwave-compute-smolvla

Complete example of VLA inference and training on Cyberwave Cloud Nodes
Key files:
  • cw_processor.py - Inference orchestrator (SDK, MQTT, cameras, control loop)
  • cw_trainer.py - Training orchestrator (dataset download, logger patch, metrics)
  • smolvla_resolver.py - SmolVLA-specific metadata extraction
  • deploy.py - Inference entry point
  • train.py - Training entry point

Cloud Node

General Cloud Node setup and configuration

ML Models

Managing ML models in Cyberwave

Python SDK

Cyberwave Python SDK reference