invergent-ai/surogate

Training/Fine-tuning at the speed of light

What it solves

Surogate Trainer is a high-performance training engine designed to accelerate the pre-training, fine-tuning, and reinforcement learning (RL) of large models. It addresses the performance bottlenecks of existing frameworks, specifically targeting speed and VRAM efficiency for developers and enterprises operating on-premise or in the cloud.

How it works

The project utilizes a native C++/CUDA engine to achieve near-speed-of-light throughput. It employs a Python DSL with AOT auto-differentiation to allow for the addition of new model architectures. To optimize memory and speed, it features smart CPU offloading for weights, gradients, and activations, and supports a wide range of precision formats including BF16, FP8, and NVFP4 (specifically for Blackwell GPUs). It also supports native multi-GPU and multi-node training via a multi-threaded backend and Ray.

Who it’s for

It is built for AI developers and enterprises who need fast experimentation and high-performance training of LLMs and MoE models across various NVIDIA GPU architectures (from SM80 to SM121).

Highlights

  • Extreme Precision Support: Native support for BF16, FP8, and NVFP4 training, including specialized recipes for Blackwell GPUs.
  • Advanced RL Capabilities: Support for GRPO and DPO reinforcement learning with deterministic environments.
  • Memory Efficiency: Smart CPU offloading that allows fine-tuning at native bf16 precision, aiming to replace the need for QLoRA.
  • Adaptive Training: Built-in automated monitoring with phase detection, early stopping, and dynamic epoch adjustment.
  • MoE Specialization: Dedicated features for Mixture-of-Experts, including Expert Parallelism and imbalance detection.
  • Stacked LoRA: Ability to train a LoRA adapter on top of another without offline merging.