You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Following up on #4, I am having trouble reproducing the results reported in Table 2 of the paper (for Llama-1B). I was able to achieve accuracy comparable to the reported SFT-CoT results after training the model for 25 epochs, so this one is fine.
Could you please confirm the values used for the following arguments for both the Coconut baseline and Coconut with SIM-CoT?
our experimental observation that the training format has a stronger impact on larger models,
we therefore divided the training into three stages.
Experimental Settings
c_thought: 6
epochs_per_stage: 1
max_latent_stage: 1
Training Procedure
Stage 1: llm-only Training
In this stage, all defined implicit tokens participate in training from the beginning, and the explicit reasoning steps are gradually removed. By the end of this stage, all explicit steps are completely removed, and the model performance is approximately ~39.
Stage 2: Decoder-only Training
In this stage, only the decoder is trained. Since llm is frozen, the model performance remains unchanged.
Stage 3: Joint Training of LLM and Decoder
In this stage, llm and the decoder are trained jointly. After this stage, the model performance reaches approximately ~42.
Additional Recommendation
For larger models (1B, 3B, and 8B), we recommend using SIM-CoT based on CODI, which achieves better performance.
Thank you for your response. I have follow-up questions based on your response.
You mentioned max_latent_stage to be 1. Does this mean there is only one latent stage, as opposed to 3 stages used in the original Coconut paper or 5 in your paper with GPT-2?
Additionally, Stage 1 under the above-mentioned training procedure is the Coconut baseline training. If it achieves 39%, shouldn't Table 2 mention 39% instead of 33.2% for the Coconut baseline (without SIM-CoT)?
You mentioned max_latent_stage to be 1. Does this mean there is only one latent stage, as opposed to 3 stages used in the original Coconut paper or 5 in your paper with GPT-2?
Yes.
Additionally, Stage 1 under the above-mentioned training procedure is the Coconut baseline training. If it achieves 39%, shouldn't Table 2 mention 39% instead of 33.2% for the Coconut baseline (without SIM-CoT)?
Our first stage is not Coconut. Under Coconut’s training strategy (with c_thought = 2 and max_latent_stage = 3), the number of implicit tokens is gradually increased via curriculum training, reaching 2 × 3 = 6 total implicit tokens. In contrast, we use six implicit tokens throughout the entire training process from the very beginning.
Moreover, Coconut replaces one explicit reasoning step each time a new group of implicit tokens is appended. Our method does not perform this simultaneous add-and-remove operation. Instead, we only gradually remove explicit reasoning steps, while keeping the number of implicit reasoning tokens fixed.
our experimental observation that the training format has a stronger impact on larger models,
we therefore divided the training into three stages.
Experimental Settings
c_thought: 6
epochs_per_stage: 1
max_latent_stage: 1
Training Procedure
Stage 1: llm-only Training
In this stage, all defined implicit tokens participate in training from the beginning, and the explicit reasoning steps are gradually removed. By the end of this stage, all explicit steps are completely removed, and the model performance is approximately ~39.
Stage 2: Decoder-only Training
In this stage, only the decoder is trained. Since llm is frozen, the model performance remains unchanged.
Stage 3: Joint Training of LLM and Decoder
In this stage, llm and the decoder are trained jointly. After this stage, the model performance reaches approximately ~42.
Additional Recommendation
For larger models (1B, 3B, and 8B), we recommend using SIM-CoT based on CODI, which achieves better performance.
hi, you mentioned that three stages are needed for reproducing Table 2. Could you give the references about the epochs for different stages.
@zaiquanyang Because of a cluster migration, the logs are no longer available. From what I remember, each stage was trained for around 20 epochs, consistent with the epoch settings specified in the YAML files. You can do a quick check to verify this.
Stage 1: llm-only Training
In this stage, all defined implicit tokens participate in training from the beginning, and the explicit reasoning steps are gradually removed. By the end of this stage, all explicit steps are completely removed, and the model performance is approximately ~39.
@Wiselnn570 How do you remove the explicit reasoning steps gradually with the above configuration in the current version of the code? From what I understand, the current code removes all explicit reasoning steps if scheduled_stage$$>$$max_latent_stage. Assuming explicit CoT to be $$0^{th}$$scheduled_stage, the first scheduled_stage will have 6 latent tokens, followed by all but the first explicit reasoning step. And then the next scheduled_stage will remove all explicit reasoning steps. Could you please clarify this and provide the configuration accordingly?
Additionally, in #4, you mentioned that the SIM-CoT is continued from a Coconut checkpoint. Does this mean that "Stage 1: llm-only Training" starts from that checkpoint?
My previous wording may have been a bit unclear. What I intended to convey is that, after SFT, we append all the implicit tokens at once to the model and begin training. Once the training stabilizes, we gradually remove the explicit reasoning steps, while keeping the implicit tokens fixed throughout.
Previously, I implemented this through a quick patch in the data loader, which was removed when preparing the open-source release. I will take time to properly refine and clean up the code accordingly.
Also, I am confused about the total number of latent tokens used for Llama3-1b. In this thread, you have mentioned the following as the configuration:
c_thought: 6
max_latent_stage: 1
This would result in 6 latent tokens.
However, on #11, the user asked if c_thought: 2 epochs_per_stage: 3 max_latent_stage: 5 was the correct configuration for Coconut, and you did not disagree. This would mean Coconut uses 10 latent tokens. Also, the paper mentions 13.2 (I assume 10 latent tokens + 2 tokens for start and end latent + 1.2 tokens for the final answer from No-CoT) as the number of tokens. I am not sure which configuration is correct. Could you please confirm this?
Activity
Wiselnn570 commentedon Dec 29, 2025
Hello, thank you for your interest in SIM-CoT.
Regarding the experiments on Llama-1B reported in Table 2, due to
we therefore divided the training into three stages.
Experimental Settings
Training Procedure
Stage 1: llm-only Training
In this stage, all defined implicit tokens participate in training from the beginning, and the explicit reasoning steps are gradually removed. By the end of this stage, all explicit steps are completely removed, and the model performance is approximately ~39.
Stage 2: Decoder-only Training
In this stage, only the decoder is trained. Since llm is frozen, the model performance remains unchanged.
Stage 3: Joint Training of LLM and Decoder
In this stage, llm and the decoder are trained jointly. After this stage, the model performance reaches approximately ~42.
Additional Recommendation
For larger models (1B, 3B, and 8B), we recommend using SIM-CoT based on CODI, which achieves better performance.
neerajgangwar commentedon Dec 29, 2025
Thank you for your response. I have follow-up questions based on your response.
You mentioned
max_latent_stageto be 1. Does this mean there is only one latent stage, as opposed to 3 stages used in the original Coconut paper or 5 in your paper with GPT-2?Additionally, Stage 1 under the above-mentioned training procedure is the Coconut baseline training. If it achieves 39%, shouldn't Table 2 mention 39% instead of 33.2% for the Coconut baseline (without SIM-CoT)?
Wiselnn570 commentedon Dec 29, 2025
Yes.
Our first stage is not Coconut. Under Coconut’s training strategy (with
c_thought = 2andmax_latent_stage = 3), the number of implicit tokens is gradually increased via curriculum training, reaching2 × 3 = 6total implicit tokens. In contrast, we use six implicit tokens throughout the entire training process from the very beginning.Moreover, Coconut replaces one explicit reasoning step each time a new group of implicit tokens is appended. Our method does not perform this simultaneous add-and-remove operation. Instead, we only gradually remove explicit reasoning steps, while keeping the number of implicit reasoning tokens fixed.
zaiquanyang commentedon Jan 23, 2026
hi, you mentioned that three stages are needed for reproducing Table 2. Could you give the references about the epochs for different stages.
Wiselnn570 commentedon Jan 27, 2026
@zaiquanyang Because of a cluster migration, the logs are no longer available. From what I remember, each stage was trained for around 20 epochs, consistent with the epoch settings specified in the YAML files. You can do a quick check to verify this.
neerajgangwar commentedon Feb 7, 2026
@Wiselnn570 How do you remove the explicit reasoning steps gradually with the above configuration in the current version of the code? From what I understand, the current code removes all explicit reasoning steps if$$>$$ $$0^{th}$$
scheduled_stagemax_latent_stage. Assuming explicit CoT to bescheduled_stage, the firstscheduled_stagewill have 6 latent tokens, followed by all but the first explicit reasoning step. And then the nextscheduled_stagewill remove all explicit reasoning steps. Could you please clarify this and provide the configuration accordingly?Additionally, in #4, you mentioned that the SIM-CoT is continued from a Coconut checkpoint. Does this mean that "Stage 1: llm-only Training" starts from that checkpoint?
Wiselnn570 commentedon Feb 24, 2026
My previous wording may have been a bit unclear. What I intended to convey is that, after SFT, we append all the implicit tokens at once to the model and begin training. Once the training stabilizes, we gradually remove the explicit reasoning steps, while keeping the implicit tokens fixed throughout.
Previously, I implemented this through a quick patch in the data loader, which was removed when preparing the open-source release. I will take time to properly refine and clean up the code accordingly.
neerajgangwar commentedon Mar 5, 2026
Hi @Wiselnn570,
Are you referring to the
progressive_trainflag in theget_cot_with_explainable_latent_datasetmethod ofdataset.pyshown below?SIM-CoT/Coconut/dataset.py
Line 502 in f3ae967
Also, I am confused about the total number of latent tokens used for Llama3-1b. In this thread, you have mentioned the following as the configuration:
This would result in 6 latent tokens.
However, on #11, the user asked if
c_thought: 2 epochs_per_stage: 3 max_latent_stage: 5was the correct configuration for Coconut, and you did not disagree. This would mean Coconut uses 10 latent tokens. Also, the paper mentions 13.2 (I assume 10 latent tokens + 2 tokens for start and end latent + 1.2 tokens for the final answer from No-CoT) as the number of tokens. I am not sure which configuration is correct. Could you please confirm this?Thank you!