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
TheCwProcessor class orchestrates all Cyberwave I/O for inference workloads:
Background Camera Fetching
CwProcessor spawns a daemon thread per camera that continuously polls for frames:
- 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
Thedownload_weights() function handles fetching model weights from the Cyberwave MLModel API:
Training Architecture
CwTrainer
TheCwTrainer class orchestrates all Cyberwave-specific training concerns:
CyberwaveLogger
Drop-in replacement for lerobot’sWandBLogger that sends metrics to Cyberwave:
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
No torch imports
No torch imports
The resolver should not import PyTorch or model libraries. It only reads config files (JSON, YAML) from the checkpoint directory.
No Cyberwave imports
No Cyberwave imports
Keep the resolver independent of Cyberwave SDK. This allows testing without network access.
Camera mapping by position
Camera mapping by position
Training configs often use non-semantic camera names (e.g., UUIDs). Map by position:
Register in RESOLVER_REGISTRY
Register in RESOLVER_REGISTRY
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
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 extractiondeploy.py- Inference entry pointtrain.py- Training entry point
Related Resources
Cloud Node
General Cloud Node setup and configuration
ML Models
Managing ML models in Cyberwave
Python SDK
Cyberwave Python SDK reference