CODE:751 Engineering 2 cases Nominal
Engineering

Engineering

Two systems built so other work could run: the serving layer beneath the moderation stack, and the RL post-training framework a 12B VLM didn't have. Neither is a model — one decides how a model reaches traffic, the other whether it can be trained at all.

Case 01/02
Pyler · NVIDIA Nemotron Hackathon★ Winner · Track B

Building the RL Framework a 12B VLM Didn't Have

The team entry was a video content-safety VLM on Nemotron-Nano-12B-v2-VL. The blocker wasn't the model or the data — it was the tooling: Nemo-RL had no support for this architecture, so there was no RL post-training path at all.

Team award (Track B, Domain-Specialized Model). Mine within it: the RL framework work, the post-training method, and the preference data design.

A working RL post-training stack for an architecture that had none — open-sourced as Megatron-Bridge_RL. The aligned model held temporal IoU 0.927 while internalizing the guardrails; the team took 1st in Track B.

My contribution
  • Found the gap in the tooling. Nemo-RL didn't support Nemotron-Nano-v2-VL, so no existing RL framework could post-train the 12B model.
  • Built the RL layer onto Megatron-Bridge. Megatron-Bridge handles the model; it had no reinforcement-learning post-training. I added it — rollout, loss, and the training loop — with SimPO as the objective.
  • Designed the preference data. Segmented temporal answers (chosen) vs vague global summaries (rejected), to drive guardrail internalization and fine-grained temporal localization at once.
RL frameworkSimPOMegatron-BridgeNemotron-Nano-12B-VLOpen source
Case 02/02 Pyler · Serving · Content Safety

Config-Driven Model Serving

A moderation request doesn't hit one model — it walks a chain of them, and each stage's decision logic lived in the serving layer. Swapping in a better model meant another strategy class, another batch path, another set of thresholds. The model was the cheap part.

Mine: the new inference path end to end, and the config and validation layers around it — inside a serving stack the team runs together.

A model swap is now a checkpoint plus a config edit — the serving code doesn't move, and what a replica is running is queryable.

My contribution
  • Shipped a new inference route end to end. A classification task type through the shared model gateway — schema, strategy, batching, ingress, tracing — so a light classifier could replace a heavier multi-model stage.
  • Moved the decision policy out of serving code. A flag on the model config picks the mode; calibrated thresholds ride inside the checkpoint as a policy config. One artifact, several behaviors, no strategy class holding a number.
  • Made the config verifiable from outside. Model names are validated as an endpoint contract, and every replica announces its flags at startup — so a toggle's deployed value is a telemetry query, not an inference from a green build.
Ray ServevLLMHF TransformersOpenTelemetryConfig over codeFlag telemetry