Coconut Pytorch
Implementation of 🥥 Coconut, Chain of Continuous Thought, in Pytorch
Install / Use
npx skills add lucidrains/coconut-pytorchInstalls into whichever agent you are using.
README
<img src="./coconut.png" width="400px"></img>
🥥 Coconut
Implementation of Coconut, proposed by the paper <a href="https://arxiv.org/abs/2412.06769">Training Large Language Models to Reason in a Continuous Latent Space</a> out of FAIR, in Pytorch
Architecture wise, the closest work to the one proposed here would be <a href="https://github.com/lucidrains/recurrent-memory-transformer-pytorch">RMT</a>, where the memory tokens there could serve as the continuous latent tokens. Both directions are worth exploring
Install
$ pip install coconut-pytorch
Usage
import torch
from coconut_pytorch import Coconut
model = Coconut(
num_reasoning_steps = 3,
num_latents_per_step = 1,
transformer = dict(
num_tokens = 256,
dim = 512,
depth = 6
)
)
prompt = torch.randint(0, 256, (2, 1024))
answer = torch.randint(0, 256, (2, 64))
loss = model(prompt, answer)
loss.backward()
# after much training
answer = model.generate(prompt, max_length = 64) # (2, 64)
Citation
@inproceedings{Hao2024TrainingLL,
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 = {2024},
url = {https://api.semanticscholar.org/CorpusID:274610816}
}
@article{Burtsev2021MultiStreamT,
title = {Multi-Stream Transformers},
author = {Mikhail S. Burtsev and Anna Rumshisky},
journal = {ArXiv},
year = {2021},
volume = {abs/2107.10342},
url = {https://api.semanticscholar.org/CorpusID:236171087}
}
@article{Zhu2024HyperConnections,
title = {Hyper-Connections},
author = {Defa Zhu and Hongzhi Huang and Zihao Huang and Yutao Zeng and Yunyao Mao and Banggu Wu and Qiyang Min and Xun Zhou},
journal = {ArXiv},
year = {2024},
volume = {abs/2409.19606},
url = {https://api.semanticscholar.org/CorpusID:272987528}
}
@inproceedings{Zhou2024ValueRL,
title = {Value Residual Learning For Alleviating Attention Concentration In Transformers},
author = {Zhanchao Zhou and Tianyi Wu and Zhiyun Jiang and Zhenzhong Lan},
year = {2024},
url = {https://api.semanticscholar.org/CorpusID:273532030}
}
@inproceedings{Zhu2025ReasoningBS,
title = {Reasoning by Superposition: A Theoretical Perspective on Chain of Continuous Thought},
author = {Hanlin Zhu and Shibo Hao and Zhiting Hu and Jiantao Jiao and Stuart Russell and Yuandong Tian},
year = {2025},
url = {https://api.semanticscholar.org/CorpusID:278740606}
}
Related Skills
mcp
Use the `mcp_perplexity-ask_perplexity_search` tools to answer questions. You should use this instead of the `web_search` tool because it is a lot more accurate.
practical-power-systems-synthesis
This skill enables synthesis in the domain of power-systems (engineering). It represents research-level-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform synthesis operations related to power-systems.
semi-supervised-optogenetics-testing
This skill enables testing in the domain of optogenetics (neuroscience). It represents intermediate-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform testing operations related to optogenetics.
data-mining-interpretation-fundamental
This skill enables interpretation in the domain of data-mining (data-science). It represents fundamental-level expertise and is designed for production use in research, industry, and educational contexts. Use this skill when you need to perform interpretation operations related to data-mining.
