Scaling Multimodal AI for Autonomous Trucking with Ray

torc_robotics · Automotive · 2026 · source Agentic: no · promotional bias: med · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: autonomous vehicle multimodal ML infrastructure

Torc Robotics needed to scale AV 3.0 multimodal training, auto-labeling, simulation, and reinforcement-learning workloads without maintaining fragmented pipelines, starving expensive GPUs, or forcing model developers to own distributed-systems tuning.

Constraints:

Architecture

Torc standardized on Ray and a transform-centric architecture. Common cloud/compute layers, Ray primitives, and shared transform libraries compose into graph-based training, auto-labeling, and simulation frameworks. CPU-bound transforms run horizontally on cheaper CPU instances, GPU transforms stay on GPU nodes, dashboards expose bottlenecks, and recurring tuning lessons are codified into agentic skills.

Diagram confidence: explicit (topology described by the source).

flowchart LR
  A["Multimodal sensor data"] --> B["Shared transform library"]
  B --> C["Ray scheduling layer"]
  C --> D["CPU worker pool"]
  D --> E["GPU worker pool"]
  C --> E
  B --> F["Training graph"]
  B --> G["Auto-labeling graph"]
  B --> H["Simulation graph"]
  F --> L["Model loop"]
  G --> L
  H --> L
  C --> I["Observability dashboards"]
  I --> J["MLOps team"]
  J --> K["Agentic optimization skills"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Multimodal sensor data Camera, lidar, scenario, and other AV data used for training, labeling, and simulation. Shared transform library
Shared transform library Reusable data operations for dense sensor data, sparse detections, GPU transforms, and IO. Multimodal sensor data, Ray scheduling layer, Training graph, Auto-labeling graph, Simulation graph
Ray scheduling layer Ray Core/Data/Train/Tune/Serve primitives used to schedule transform graphs across compute. Shared transform library, CPU worker pool, GPU worker pool
CPU worker pool Runs CPU-bound and IO-heavy transforms on cheaper horizontally scalable instances. Ray scheduling layer, GPU worker pool
GPU worker pool Runs model inference, training, voxelization, and forward/backward passes after CPU preparation. Ray scheduling layer, CPU worker pool, Training graph
Training graph Batch training graph for open-loop supervised or unsupervised model optimization. Shared transform library, Model loop
Auto-labeling graph Inference-oriented graph that shares preprocessing transforms with training. Shared transform library, Model loop
Simulation graph Open-loop and closed-loop simulation workflows for AV evaluation and reinforcement learning. Shared transform library, Model loop
Observability dashboards Expose DAG topology, throughput, and resource utilization for optimization. Ray scheduling layer, MLOps team
MLOps team Diagnoses bottlenecks, tunes configuration, and codifies recurring optimizations. Observability dashboards, Agentic optimization skills
Agentic optimization skills Reusable automation for diagnose-patch-redeploy optimization loops. MLOps team
Model loop Model training/inference logic that consumes prepared streams and emits metrics or predictions. Training graph, Auto-labeling graph, Simulation graph

Data flow

Sensor and scenario data flow through shared transform graphs: data reading, voxelization, preparation, training or inference, simulation feedback loops, and output sinks. Ray schedules those transforms across heterogeneous CPU/GPU resources, while dashboards and throughput callbacks guide bottleneck tuning.

3 supporting quotes
“if everything is a transform then every large scale system is really just a graph”transcript, stated
“we see that we have a couple of uh operations like reading data, voxilizing a point cloud um and uh preparing some data”transcript, stated
“CPUbound gets distributed to instances that have CPUs and that are much much cheaper for us to schedule.”transcript, stated

Why this architecture

Torc chose Ray-backed transform graphs because earlier AV systems accumulated duplicated, incompatible training/testing/data pipelines, while Ray let them separate reusable components from scheduling and scale CPU/GPU work independently.

3 supporting quotes
“these individual systems were often deployed using different tech uh backends”transcript, stated
“pipeline. And to do this uh we chose Ray as our core backend to build all uh all four of these requirements against.”transcript, stated
“we are not maintaining multiple pipelines, multiple componentized implementations to serve the needs of the many in our organization.”transcript, stated

Models used: AV perception models · object detection model · point cloud voxelization models · reinforcement learning policies

Scale

Alternatives considered (roads not taken)

Keep separate ECS, SageMaker, patch-inference, and bespoke pipelines

Rejected because: They duplicated data formats, metrics, libraries, resource management, and verification processes.

“each of these individual datadriven processes uh defined their own data formats they define their own metrics their optimization loops”transcript, stated

Run CPU-heavy preprocessing on expensive GPU instances

Rejected because: It starved GPUs of prepared data and wasted expensive resources on CPU-bound work.

“our GPUs were extremely overworked. They were burning extremely hard. Um but uh we had uh we weren't really getting uh proper utility”transcript, stated

Optimize by inspecting bespoke model code first

Rejected because: Dashboard-driven bottleneck analysis let the MLOps team tune jobs without understanding every transform implementation.

“every optimization here uh started from the dashboard. We weren't really looking at the code.”transcript, stated

Patterns

batch-offline-processing (ml-infrastructure)

Batch training and auto-labeling are represented as reusable Ray transform graphs over large multimodal datasets.

“batch training setup and an autolabeling setup. In a batch training configuration or setup”transcript, stated

observability-tracing (operations)

Dashboards and throughput callbacks identify bottlenecks and separate Ray Data pipeline tuning from model-loop tuning.

“The dashboards that are available on any scale makes us easy for us to figure out how to tune our jobs”transcript, stated

tool-use-orchestration (automation)

Recurring optimization workflows are codified as agentic skills that help users diagnose, patch, and redeploy jobs.

“codify these as agentic skills with the help of any scale agent skills and then this makes it rather trivial to run the diagnose patch and redeploy loop”transcript, stated

Tradeoffs

Infrastructure backend

Chose Ray as a unified scheduling and graph backend over multiple specialized pipeline systems.

Rationale: Ray let Torc reuse transforms across training, auto-labeling, and simulation while scheduling heterogeneous resources.

“these shared components as best as possible to serve the needs of the development of our AV3.0 stack.”transcript, stated

Resource scheduling

Chose schedule by GPU/CPU type with heterogeneous pools over rigid dense GPU instance types.

Rationale: The same throughput could be achieved on cheaper or more available instances by separating CPU and GPU work.

“we are no longer scheduling work based on compute type. we are scheduling work based on uh GPU type or CPU type.”transcript, stated

Developer/infrastructure boundary

Chose model developers write transforms; MLOps tunes jobs over requiring every model developer to be a Ray optimization expert.

Rationale: The shared transform contract let infrastructure specialists optimize from dashboards and configuration.

“MLOps team does not have to be familiar with the different bespoke transforms that are being written by the different uh model defs”transcript, stated

Gotchas (what bit them)

Fragmented ML systems created platform debt.

Root cause: Training, testing, extraction, annotation, and preparation systems used different backends, formats, metrics, and libraries.

Resolution: Unify workloads around Ray primitives and shared transform libraries.

“all in service of still building our product but all performed uh in various different ways.”transcript, stated

Expensive GPUs were starved or misused.

Root cause: CPU-heavy IO and preprocessing work was colocated with GPU work, leaving GPUs waiting for data.

Resolution: Distribute CPU-bound transforms horizontally on cheaper CPU instances and feed GPUs a hot stream.

“Now, our GPUs uh don't sit there starved for data, but they get a much more hot stream of data”transcript, stated

Optimization lessons became tribal knowledge.

Root cause: Repeated tuning patterns lived in team memory rather than reusable automation.

Resolution: Codify recurring bottleneck fixes as agentic skills.

“this started becoming tribal knowledge within the team and we were looking for ways through which we can actually automate some of this process.”transcript, stated

Shuffling and data movement can dominate throughput.

Root cause: Shuffling loaded unstructured data causes expensive cross-node movement.

Resolution: Shuffle metadata before loading unstructured data and avoid global shuffles when possible.

“try to shuffle on the metadata and not on actually after you have loaded uh your unstructured data and this can avoid uh data movement across nodes”transcript, stated

Evaluation

Torc evaluated workloads through throughput, GPU utilization, multi-instance/multi-GPU performance, dashboard bottleneck analysis, and resource utilization across nodes.

Metrics: throughput · GPU utilization · GPU instance count · multi-instance multi-GPU performance · resource utilization · pipeline bottlenecks

“this helps us actually uh measure whether uh our GPUs are actually utilized properly or not.”transcript, stated
“if you can figure out the correct um bottleneck and you can tune the concurrency properly, you can actually uh let Ray do the heavy lifting”transcript, stated

Outcomes

This is MLOps for autonomous trucking rather than a language-agent product, but it contributes reusable infrastructure lessons for multimodal AI systems.

“significantly drop the number of GPU instances we needed and really distribute the appropriate work onto the CPU instances while keeping throughput extremely high.”transcript, stated
“this flexibility significantly helped us uh to to get more workloads uh running in our cloud at any given time.”transcript, stated