When you sit down to solve a complex puzzle or plan three moves ahead in chess, do you narrate every synaptic firing to yourself in full, grammatically correct English sentences? Of course not. Human cognition operates across continuous, multi-dimensional mental representations—spatial, relational, intuitive. We only convert our thoughts into human language when we need to speak to someone else.
Yet the dominant paradigm in AI reasoning today (from DeepSeek-R1 to OpenAI o1) forces neural networks to do the exact opposite. We train models to emit thousands of discrete text tokens enclosed in <think>...</think> blocks: “Wait, let me think... Actually, let me reconsider... Hmm, what if I try...”
During reinforcement learning (RL) post-training, this imposes an astronomical token tax. Models burn 80% to 90% of their generation time emitting sprawling English prose that no human will ever read. In multi-turn engineering workflows (such as multi-step SQL querying, hardware synthesis, or complex network routing), verbose text reasoning exhausts context limits, balloons the KV-cache, and stretches training runs from hours into days. Worse: in our experiments, up to a third of all model rollouts got chopped off mid-sentence by token limits, scoring zero reward and poisoning gradient updates.
Latent-GRPO asks the obvious question: Why should an artificial neural network think in human words? By replacing discrete vocabulary tokens with continuous recurrent thought vectors in embedding space, models can reason internally across continuous manifold dimensions.
Start here
Understand why discrete Chain-of-Thought creates massive rollout bottlenecks, how continuous thought recurrence works in embedding space, how to solve the RL exploration dilemma with tractable action densities, and how two-pass gradient replay enables exact backpropagation.
- Embedding: A dense vector of real numbers representing a concept in continuous semantic space.
- Hidden state: The internal activation vector produced by intermediate transformer layers.
- Latent thought step: A recurrent model cycle where continuous vectors loop internally without emitting vocabulary logits.
- GRPO: Group Relative Policy Optimization: policy gradients computed relative to a group of sampled attempts.
- Two-pass replay: Collecting rollouts in eval mode with active KV cache, followed by an exact gradient forward pass.
In discrete Chain-of-Thought (CoT), reasoning is forced through an artificial bottleneck: the model’s vocabulary projection layer. For a modern foundation model like Qwen3.6-27B:
gft-studio multi-hop routing runs with discrete CoT, 19% to 34% of all generated trajectories hit the sequence ceiling mid-sentence. In reinforcement learning, a truncated completion fails its verifier and receives a reward of exactly 0. Your trainer ends up penalizing a model not because its reasoning was wrong, but because it didn’t finish talking before the bell rang.Continuous latent thinking eliminates this bottleneck: instead of projecting hidden states onto discrete words, the model feeds its internal recurrent representations directly back into itself in continuous space (d = 5,120):

The short version of the same two paths. Left, the state is squeezed through one token. Right, the full vector is passed on.
Here fθ represents the transformer backbone, z<t are past latent thought vectors, and Pφ is a projection layer mapping the last hidden state back to the model’s input embedding space.

Example numbers, not a measured forward pass. The sizes are the real ones: hidden state 5,120, vocabulary 152,064. Softmax turns logits into probabilities, and one sampled token is all the next step receives.

Same drawing as a recurrent net, unrolled. The projector writes the hidden state back into the input embedding of the next step. Every box is the same transformer.
If continuous reasoning is so obviously superior, why isn’t everyone doing it? The obstacle is not deep learning architecture—it is the foundational mathematics of policy gradients.
In Group Relative Policy Optimization (GRPO), the trainer samples a group of G candidate trajectories {o₁, o₂, ..., o_G} from an old policy πθ_old for a given prompt q. The environment computes scalar task rewards ri, which are normalized across the group into advantages:
The policy network is then optimized using the clipped surrogate objective:
This formulation relies on two absolute requirements:
Every major research paper in continuous reasoning over the last two years is essentially an answer to one question: Where do we inject randomness into the thoughts, and how do we calculate the probability density of that noise?
| Approach Family | How It Works | Is It Stochastic? | How Gradients Flow | Key Papers |
|---|---|---|---|---|
| A. Hidden-State Recurrence | Last-layer hidden state ht loops back as input | Deterministic (no noise) | Answer-only GRPO or Monte Carlo surrogates | Coconut (2024), CODI (2025), Switch (2026), SLPO (2026) |
| B. Soft Tokens (Vocab Mixture) | Weighted combination of top-K word embeddings with Gumbel noise | Yes (Gumbel perturbations) | Gumbel log-density or soft-label surrogates | SofT-GRPO (2025), Latent-SFT (2025), LEPO (2026), Latent-GRPO (2026) |
| C. Parameterized Latent Head | Explicitly samples a vector from a continuous distribution (Gaussian) | Yes (reparameterization trick) | Exact analytical Gaussian log-density | CoLaR (NeurIPS 2025), Soft Latent Thinking (2026) |
| D. Hybrid Discrete-Latent | Gated blend of a sampled discrete token and projected state | Yes (from discrete token) | Token categorical density | HRPO (NeurIPS 2025) |
In SofT-GRPO (Zheng & Lee, arXiv:2511.06411), the model forms “soft tokens” by perturbing top-K logits with Gumbel noise: g′i = log pi + εi. The input embedding is the softmax-weighted superposition of those top embeddings.
The breakthrough insight: the action is the noise vector εt itself, not the continuous embedding. This allows computing exact closed-form importance sampling updates through continuous thought steps.
Building on soft tokens, Latent-GRPO (Deng et al., 2026) adds three practical guardrails:
Instead of constraining thoughts to the vocabulary hull, CoLaR (Tan et al., NeurIPS 2025) equips the transformer with an MLP head that predicts mean and variance (μt, σt) directly in representation space:
Sampling zt = μt + σt ⊙ ε yields a clean, closed-form analytical Gaussian log-density:
In our research platform (gft-studio), we implemented this progression step-by-step:
ThoughtProjector feeds the last hidden state back: et+1 = et + Projector(ht). The model takes 8 deep thought steps silently. GRPO gradients only optimize the subsequent discrete action tokens.Here is a practical systems trap that cost us days of debugging: gradient checkpointing deletes KV caches inside checkpointed transformer layers. If you try to extend an existing cached sequence during backward passes in PyTorch, you get violent tensor shape mismatch errors between cached keys and attention masks.
We solved this with a Two-Pass Replay Architecture:
[prompt_embeds, thought_embeds, answer_embeds] and run a standard forward pass with gradient checkpointing, computing exact loss and gradients across all answer tokens in one shot.We pitted discrete Chain-of-Thought against continuous latent thinking in a controlled 4-arm study on a complex multi-hop-routing-gym using Qwen3.6-27B with QLoRA on NVIDIA H100 and H200 clusters:
| Experimental Arm | Rollout Engine & Silicon | Completed Steps | Avg Generation Time / Step | Avg Total Step Time | Avg Emitted Tokens |
|---|---|---|---|---|---|
| 1. Discrete CoT (Visible <think>) | Hugging Face / 1x H100 | 5 / 50 (Aborted: Too Slow) | 1,878.4 s (~31.3 min) | 1,932.7 s | ~4,131 tokens |
| 2. No-Think Baseline (Direct Action) | Hugging Face / 1x H100 | 50 / 50 (SUCCESS) | 690.6 s (~11.5 min) | 722.8 s | ~680 tokens |
| 3. Discrete CoT (Visible <think>) | vLLM + Graphs / 1x H100 | 50 / 50 (Parity Failed) | 612.4 s (~10.2 min) | 660.7 s | ~4,050 tokens |
| 4. Latent Thinking (L2b Continuous Loop) | vLLM + Graphs / 1x H200 | 50 / 50 (SUCCESS; Parity Passed) | 132.7 s (~2.2 min) | 171.2 s | ~688 tokens |
Teaching language models to reason by making them write endless stream-of-consciousness essays was a brilliant stepping stone. But as agents tackle multi-step tools, deep code refactors, and complex simulations, forced textualization becomes an unacceptable bottleneck.
The future of agent post-training isn’t models that talk faster. It is models that think silently, deeply, and continuously in latent space—and only speak when they have something to say.
Applying this to your own models? We post-train open models on teams' own tasks with SFT and GRPO, and hand back the weights. LLM post-training with g factor.
Originally published at g-ftech.com.