Skip to main content

Model Inference

The Inference page deploys a completed checkpoint or an external model as an inference service. It offers three ways to validate and roll out the service: simulated inference, MCAP data testing, and offline edge deployment.

Roles and Prerequisites​

Roles and Permissions​

RoleAllowed actionsRequired permissions
AdministratorCreate, view, start, stop, and delete inference services; manage inference quotasView Inference, Manage Inference Jobs
Project ManagerCreate, view, start, stop, and delete inference servicesView Inference, Manage Inference Jobs

The menu entry is Model → Inference. For how to configure module permissions, see Module Permissions.

Prerequisites​

ItemRequirement
Inference serviceThe inference service is deployed and reachable
Model sourceOne of: a training checkpoint, custom model weights and config, or a HuggingFace pretrained model
GPU resourcesThe inference node has an available GPU; without a GPU it falls back to CPU
Inference quotaThe quota is not exhausted; an administrator grants quota in Quota Management
PermissionManage Inference Jobs

Procedure​

Model Sources​

When creating an inference service, select a tab by source.

SourceTabDescription
Training checkpointUse Fine-tuned ModelSelect a completed training job and its checkpoint
Custom modelUpload Custom ModelUpload model weights and a config file; the model type is parsed from the config
Pretrained modelUse Pretrained ModelSelect a built-in model, or enter a HuggingFace repository ID

Deploy from a Checkpoint​

  1. Go to Model → Inference and click Create Inference.
  2. Under Use Fine-tuned Model, select a training job.
  3. Select a checkpoint under that job.
  4. Enter the inference service name and service description.
  5. Select a GPU. The system recommends the GPU with the lowest memory usage by default.
  6. Click Create Inference Service and wait for deployment to finish.

Deployment creates a container, loads the model weights and config, starts the inference service, and runs a health check.

New inference service page

Upload a Custom Model​

Uploading a custom model requires the model weights and config; the system parses the model type from the config.

ItemRequirement
Model weights.safetensors file
Model configconfig.json, used to identify the model type
Dataset configtrain_config.json, optional

Verification​

Inference Test Modes​

The platform provides three inference test modes; choose by scenario.

ModePurposeInput
Simulated inferenceVerify service startup and the input/output formatRandom fill or manual input
MCAP testValidate inference quality with real recording dataMCAP file, input mapping, inference range
Offline edge deploymentDeploy to a GPU on the robot locallyOffline image, config file, ROS client

Simulated Inference​

Steps:

  1. Open the inference service detail page and switch to the Simulate Inference tab.
  2. Enter the task instruction under NLP Task.
  3. Click Random Fill All Inputs to generate test data, or enter image and state inputs manually.
  4. Click Send and review the inference result.

The result table records the order, time, request duration, inference duration, and inference result value of every request.

Simulated inference page

MCAP Test​

Steps:

  1. Open the inference service detail page and switch to the Test Inference tab.
  2. Select an MCAP file, either from a platform dataset or by local upload.
  3. Configure the inference input fields: for each field, choose a data source (MCAP topic, custom value, or unused), and select the expert action topic.
  4. Set the data filter conditions.
  5. Click Start Inference to run inference frame by frame over the sequence.

The data filter conditions are listed below.

ConditionDescription
StatusAll, Success, Failed
Time rangeStart time and end time
Frame rangeStart frame and end frame
Error thresholdShow only frames whose error exceeds the threshold

After inference completes, the page reports statistics: total frames, successful inferences, failed inferences, average request time, average inference time, and throughput. It also provides joint comparison, error trend, and error distribution charts. Results can be exported as CSV, JSON, or a report.

Inference pauses automatically after 2 consecutive failures, and the page offers options to continue or stop.

MCAP file test page

Offline Edge Deployment​

Offline deployment places the inference service on a GPU on the robot locally, for networks with restricted access or scenarios sensitive to latency.

StepAction
1Install dependencies: install the required Python packages on the robot and source the matching ROS environment
2Download the offline image: obtain the Docker image tar file that contains the inference environment, model weights, and config
3Deploy the service: load and start the inference service with the Docker command from the page
4Prepare the config file: download or fill in the service config
5Run the client: run the ROS client script from the page

The ROS client communicates with the inference service over WebSocket, and messages are BSON-encoded. The client subscribes to sensor topics and publishes joint control commands.

Offline deployment page

Service Status​

The inference service detail page shows service information and resource monitoring.

SectionContent
Service informationModel type, creator, model source, and creation time
Resource monitoringCPU usage, memory usage, GPU utilization, and GPU memory usage

The service status values are listed below.

StatusMeaning
RunningThe service is ready and can accept inference requests
StartingThe container is starting or the model is loading
Start FailedThe service failed to start
StoppedThe service is not running
Unknown StatusThe service status is not available yet

Inference service detail page

Service Control​

ActionEffectConstraint
Start ServiceStart a stopped serviceAvailable when the service status is Stopped
Stop ServiceStop a running serviceAvailable when the service status is Running
Delete ServiceDelete the inference service and release resourcesCannot be undone

Inputs and Outputs​

The input and output fields of an inference service are defined by the model schema. After deployment, view them under Model Structure on the detail page. The fields fall into the following categories.

CategoryDescription
Image inputOne or more camera images; the resolution is defined by the model schema
State inputObservations such as joint states and gripper states; the dimensions are defined by the model schema
Task descriptionNatural-language task instructions
Output parametersJoint control commands

Error Handling​

SymptomPossible causeResolution
Cannot create an inference serviceInference quota exhaustedRequest quota in Quota Management
Service failed to startInsufficient GPU resources, wrong model files, wrong config, or container startup failureCheck the service logs and redeploy after fixing
Test inference unavailableThe service is not startedStart the inference service first
Repeated MCAP test failuresInference request errorsThe service pauses automatically after 2 consecutive failures; choose continue or stop as prompted
Offline client cannot connectPort not open or missing dependenciesOpen the port; install dependencies and source the ROS environment
Inference results diverge from expectationsThe test data differs from the training scenarioTest with an MCAP file closer to the training scenario; switch checkpoints
PagePurpose
Model TrainingCreate training jobs, configure parameters, and manage checkpoints
Quota ManagementGrant and view inference quota
Dataset ExportExport test data such as MCAP
Data formatMCAP structure and field definitions