ModalityDance / latent-tts-coconut

huggingface.co
Total runs: 604
24-hour runs: 74
7-day runs: 127
30-day runs: 522
Model's Last Updated: January 14 2026
text-generation

Introduction of latent-tts-coconut

Model Details of latent-tts-coconut

COCONUT Model

Overview

COCONUT (Chain of Continuous Thought) is a latent reasoning model based on GPT-2 that enables continuous thought generation in latent space. This model is part of the Parallel Test-Time Scaling for Latent Reasoning Models framework.

Model Details
  • Base Architecture : GPT-2 Language Model
  • Model Class : COCONUTGPT2 (extends GPT2LMHeadModel )
  • Latent Tokens : Uses special tokens <|latent|> , <|start-latent|> , <|end-latent|> for latent reasoning
  • Input Format : Requires newline after input question before <|start-latent|> token
Related Models

This repository includes other latent reasoning models that you might find useful:

ModalityDance/latent-tts

Installation

Download the model from HuggingFace:

huggingface-cli download ModalityDance/latent-tts-coconut --local-dir checkpoints/coconut
Quick Start
Basic Usage
from transformers import AutoTokenizer
from src.generation_mixin import LatentGenerationMixin, LatentGenerationConfig
from src.paths import MODELS

# Load tokenizer
model_id = "checkpoints/coconut"
tokenizer = AutoTokenizer.from_pretrained(model_id)
if tokenizer.pad_token is None:
    tokenizer.pad_token = tokenizer.eos_token

# Get latent token IDs
latent_id = tokenizer.convert_tokens_to_ids("<|latent|>")
start_id = tokenizer.convert_tokens_to_ids("<|start-latent|>")
end_id = tokenizer.convert_tokens_to_ids("<|end-latent|>")

# Create model class with generation mixin
class LatentCOCONUT(MODELS["coconut"]["class"], LatentGenerationMixin):
    def __init__(self, config):
        super().__init__(config)

# Load model
model = LatentCOCONUT.from_pretrained(
    model_id,
    latent_id=latent_id,
    latent_start_id=start_id,
    latent_end_id=end_id,
    device_map="auto",
)

# Prepare input (note: newline before <|start-latent|>)
question = "What is 2 + 2?\n<|start-latent|>"
inputs = tokenizer(question, return_tensors="pt").to(model.device)

# Configure generation
generation_config = LatentGenerationConfig(
    max_new_tokens=512,
    latent_length=6,
    latent_do_sample=True,
    latent_do_sample_by="dropout",  # or "noise"
    dropout_p=0.1,
    pad_token_id=tokenizer.pad_token_id,
    eos_token_id=tokenizer.eos_token_id,
)

# Generate
output = model.generate(
    **inputs,
    generation_config=generation_config,
    num_return_sequences=1,
)

# Decode result
result = tokenizer.decode(output[0], skip_special_tokens=True)
print(result)
Batch Processing

The model fully supports batch processing:

# Prepare batch inputs
questions = [
    "What is 2 + 2?\n<|start-latent|>",
    "What is 5 * 3?\n<|start-latent|>",
    "What is 10 - 4?\n<|start-latent|>",
]
inputs = tokenizer(questions, return_tensors="pt", padding=True).to(model.device)

# Generate for batch
outputs = model.generate(
    **inputs,
    generation_config=generation_config,
    num_return_sequences=1,
)

# Decode batch results
results = tokenizer.batch_decode(outputs, skip_special_tokens=True)
for result in results:
    print(result)
Generation Parameters
LatentGenerationConfig
  • max_new_tokens (int): Maximum number of tokens to generate
  • latent_length (int): Number of latent tokens (default: 6)
  • latent_do_sample (bool): Whether to use stochastic sampling
  • latent_do_sample_by (str): Sampling method - "dropout" or "noise"
  • dropout_p (float): Dropout probability for Monte Carlo Dropout (e.g., 0.1)
  • noise_std (float): Standard deviation for Additive Gaussian Noise
Sampling Methods
  1. Monte Carlo Dropout : Randomly drops activations during forward passes

    generation_config = LatentGenerationConfig(
        latent_do_sample_by="dropout",
        dropout_p=0.1,
        # ...
    )
    
  2. Additive Gaussian Noise : Injects noise into latent embeddings

    generation_config = LatentGenerationConfig(
        latent_do_sample_by="noise",
        noise_std=0.1,
        # ...
    )
    
Answer Extraction

COCONUT uses a special answer format with # separator:

from src.paths import coconut_extract_answer_number

# Extract answer from generated text
answer = coconut_extract_answer_number(result)
print(f"Answer: {answer}")
Evaluation

Run evaluation using the provided scripts:

# For COCONUT (GPT-2 based models)
./run_tests.sh
Model Card
Citation

If you use this model, please cite:

@misc{you2025paralleltesttimescalinglatent,
      title={Parallel Test-Time Scaling for Latent Reasoning Models}, 
      author={Runyang You and Yongqi Li and Meng Liu and Wenjie Wang and Liqiang Nie and Wenjie Li},
      year={2025},
      eprint={2510.07745},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2510.07745}, 
}

@misc{hao2025traininglargelanguagemodels,
      title={Training Large Language Models to Reason in a Continuous Latent Space}, 
      author={Shibo Hao and Sainbayar Sukhbaatar and DiJia Su and Xian Li and Zhiting Hu and Jason Weston and Yuandong Tian},
      year={2025},
      eprint={2412.06769},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2412.06769}, 
}

Runs of ModalityDance latent-tts-coconut on huggingface.co

604
Total runs
74
24-hour runs
114
3-day runs
127
7-day runs
522
30-day runs

More Information About latent-tts-coconut huggingface.co Model

More latent-tts-coconut license Visit here:

https://choosealicense.com/licenses/mit

latent-tts-coconut huggingface.co

latent-tts-coconut huggingface.co is an AI model on huggingface.co that provides latent-tts-coconut's model effect (), which can be used instantly with this ModalityDance latent-tts-coconut model. huggingface.co supports a free trial of the latent-tts-coconut model, and also provides paid use of the latent-tts-coconut. Support call latent-tts-coconut model through api, including Node.js, Python, http.

ModalityDance latent-tts-coconut online free

latent-tts-coconut huggingface.co is an online trial and call api platform, which integrates latent-tts-coconut's modeling effects, including api services, and provides a free online trial of latent-tts-coconut, you can try latent-tts-coconut online for free by clicking the link below.

ModalityDance latent-tts-coconut online free url in huggingface.co:

https://huggingface.co/ModalityDance/latent-tts-coconut

latent-tts-coconut install

latent-tts-coconut is an open source model from GitHub that offers a free installation service, and any user can find latent-tts-coconut on GitHub to install. At the same time, huggingface.co provides the effect of latent-tts-coconut install, users can directly use latent-tts-coconut installed effect in huggingface.co for debugging and trial. It also supports api for free installation.

latent-tts-coconut install url in huggingface.co:

https://huggingface.co/ModalityDance/latent-tts-coconut

Url of latent-tts-coconut

latent-tts-coconut huggingface.co Url

Provider of latent-tts-coconut huggingface.co

ModalityDance
ORGANIZATIONS

Other API from ModalityDance

huggingface.co

Total runs: 44
Run Growth: -1.9K
Growth Rate: -4209.09%
Updated:January 21 2026