From 30f94b8fb92773c10199f819f78a2d9ea9ed3252 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 15:35:07 +0000 Subject: [PATCH 01/49] Add Ministral3 EAGLE3 support --- config/eagle3/eagle3_ministral3_3b.py | 55 +++ deepspec/data/parser.py | 10 + deepspec/eval/__init__.py | 7 +- deepspec/eval/eagle3/__init__.py | 12 +- deepspec/eval/eagle3/evaluator.py | 20 +- deepspec/modeling/eagle3/__init__.py | 2 + .../modeling/eagle3/ministral3/__init__.py | 7 + deepspec/modeling/eagle3/ministral3/config.py | 55 +++ .../modeling/eagle3/ministral3/modeling.py | 423 ++++++++++++++++++ deepspec/modeling/target_utils.py | 69 +++ deepspec/trainer/__init__.py | 7 +- deepspec/trainer/eagle3_trainer.py | 29 +- eval.py | 7 +- scripts/data/prepare_target_cache.py | 31 +- 14 files changed, 697 insertions(+), 37 deletions(-) create mode 100644 config/eagle3/eagle3_ministral3_3b.py create mode 100644 deepspec/modeling/eagle3/ministral3/__init__.py create mode 100644 deepspec/modeling/eagle3/ministral3/config.py create mode 100644 deepspec/modeling/eagle3/ministral3/modeling.py create mode 100644 deepspec/modeling/target_utils.py diff --git a/config/eagle3/eagle3_ministral3_3b.py b/config/eagle3/eagle3_ministral3_3b.py new file mode 100644 index 00000000..55c25c77 --- /dev/null +++ b/config/eagle3/eagle3_ministral3_3b.py @@ -0,0 +1,55 @@ +import os + +from deepspec.trainer import Ministral3Eagle3Trainer + +BASE_TB_DIR = os.path.expanduser("~/tensorboard") +BASE_CKPT_DIR = os.path.expanduser("~/checkpoints") +project_name = "deepspec" +exp_name = "eagle3_ttt7_ministral3_3b" +seed = 0 + +model = dict( + target_model_name_or_path="mistralai/Ministral-3-3B-Instruct-2512", + target_layer_ids=[1, 7, 13, 19, 24], + ttt_length=7, + step_loss_decay=0.8, + draft_num_hidden_layers=1, +) + +train = dict( + trainer_cls=Ministral3Eagle3Trainer, + lr=6.0e-4, + warmup_ratio=0.04, + weight_decay=0.0, + precision="bf16", + local_batch_size=1, + global_batch_size=512, + num_train_epochs=10, + max_train_steps=None, + max_grad_norm=1.0, + sharding_strategy="no_shard", + torch_compile=False, +) + +logging = dict( + logging_steps=10, + checkpointing_steps=3000, +) + +data = dict( + target_cache_path=None, + chat_template="ministral3", + max_length=4096, + num_workers=4, +) + + +def finalize_cfg(cfg): + logging_cfg = dict(cfg["logging"]) + project_name = str(cfg["project_name"]) + exp_name = str(cfg["exp_name"]) + logging_cfg["checkpoint_dir"] = os.path.join(BASE_CKPT_DIR, project_name, exp_name) + logging_cfg["tensorboard_dir"] = os.path.join(BASE_TB_DIR, project_name, exp_name) + cfg["logging"] = logging_cfg + + return cfg diff --git a/deepspec/data/parser.py b/deepspec/data/parser.py index e7828dc8..127ec167 100644 --- a/deepspec/data/parser.py +++ b/deepspec/data/parser.py @@ -50,6 +50,16 @@ def get(self, name): ), ) +TEMPLATE_REGISTRY.register( + "ministral3", + ChatTemplate( + assistant_header="[/INST]", + user_header="[INST]", + system_prompt=None, + end_of_turn_token="", + ), +) + class GeneralParser: def __init__(self, tokenizer, chat_template): diff --git a/deepspec/eval/__init__.py b/deepspec/eval/__init__.py index 8eaead30..7b341c2f 100644 --- a/deepspec/eval/__init__.py +++ b/deepspec/eval/__init__.py @@ -1,12 +1,17 @@ from .base_evaluator import BaseEvaluator, DraftProposal, VerificationResult from .dspark import Gemma4DSparkEvaluator, Qwen3DSparkEvaluator -from .eagle3 import Gemma4Eagle3Evaluator, Qwen3Eagle3Evaluator +from .eagle3 import ( + Gemma4Eagle3Evaluator, + Ministral3Eagle3Evaluator, + Qwen3Eagle3Evaluator, +) __all__ = [ "BaseEvaluator", "DraftProposal", "Gemma4Eagle3Evaluator", "Gemma4DSparkEvaluator", + "Ministral3Eagle3Evaluator", "Qwen3Eagle3Evaluator", "Qwen3DSparkEvaluator", "VerificationResult", diff --git a/deepspec/eval/eagle3/__init__.py b/deepspec/eval/eagle3/__init__.py index 7765f306..2bd14ada 100644 --- a/deepspec/eval/eagle3/__init__.py +++ b/deepspec/eval/eagle3/__init__.py @@ -1,3 +1,11 @@ -from .evaluator import Gemma4Eagle3Evaluator, Qwen3Eagle3Evaluator +from .evaluator import ( + Gemma4Eagle3Evaluator, + Ministral3Eagle3Evaluator, + Qwen3Eagle3Evaluator, +) -__all__ = ["Gemma4Eagle3Evaluator", "Qwen3Eagle3Evaluator"] +__all__ = [ + "Gemma4Eagle3Evaluator", + "Ministral3Eagle3Evaluator", + "Qwen3Eagle3Evaluator", +] diff --git a/deepspec/eval/eagle3/evaluator.py b/deepspec/eval/eagle3/evaluator.py index 1ddb9cae..b2c68b1a 100644 --- a/deepspec/eval/eagle3/evaluator.py +++ b/deepspec/eval/eagle3/evaluator.py @@ -3,7 +3,7 @@ from types import SimpleNamespace import torch -from transformers import AutoModelForCausalLM, AutoTokenizer, DynamicCache +from transformers import DynamicCache from deepspec.eval.base_evaluator import ( BaseEvaluator, @@ -15,7 +15,9 @@ ) from deepspec.modeling.eagle3 import extract_eagle3_context_feature from deepspec.modeling.eagle3.gemma4 import Gemma4Eagle3Model +from deepspec.modeling.eagle3.ministral3 import Ministral3Eagle3Model from deepspec.modeling.eagle3.qwen3 import Qwen3Eagle3Model +from deepspec.modeling.target_utils import load_target_causal_lm, load_target_tokenizer from deepspec.utils.sampling import logits_to_probs, sample_tokens @@ -40,8 +42,8 @@ def __init__(self, local_rank: int, args): def max_proposal_tokens(self) -> int: return int(self.draft_model.ttt_length) - def build_models(self) -> tuple[object, Qwen3Eagle3Model, AutoTokenizer]: - target_model = AutoModelForCausalLM.from_pretrained( + def build_models(self) -> tuple[object, Qwen3Eagle3Model, object]: + target_model = load_target_causal_lm( self.args.target_name_or_path, dtype=torch.bfloat16, attn_implementation=self.EVAL_ATTN_IMPLEMENTATION, @@ -55,7 +57,7 @@ def build_models(self) -> tuple[object, Qwen3Eagle3Model, AutoTokenizer]: draft_model.target_layer_ids = [int(x) for x in draft_model.target_layer_ids] assert_no_final_target_layer(target_model, draft_model.target_layer_ids) - tokenizer = AutoTokenizer.from_pretrained(self.args.target_name_or_path) + tokenizer = load_target_tokenizer(self.args.target_name_or_path) return target_model, draft_model, tokenizer def _init_context( @@ -192,4 +194,12 @@ class Gemma4Eagle3Evaluator(Qwen3Eagle3Evaluator): draft_model_cls = Gemma4Eagle3Model -__all__ = ["Gemma4Eagle3Evaluator", "Qwen3Eagle3Evaluator"] +class Ministral3Eagle3Evaluator(Qwen3Eagle3Evaluator): + draft_model_cls = Ministral3Eagle3Model + + +__all__ = [ + "Gemma4Eagle3Evaluator", + "Ministral3Eagle3Evaluator", + "Qwen3Eagle3Evaluator", +] diff --git a/deepspec/modeling/eagle3/__init__.py b/deepspec/modeling/eagle3/__init__.py index a4806ae9..229e51ba 100644 --- a/deepspec/modeling/eagle3/__init__.py +++ b/deepspec/modeling/eagle3/__init__.py @@ -1,10 +1,12 @@ from .common import Eagle3ForwardOutput, extract_eagle3_context_feature from .gemma4 import Gemma4Eagle3Model +from .ministral3 import Ministral3Eagle3Model from .qwen3 import Qwen3Eagle3Model __all__ = [ "Eagle3ForwardOutput", "Gemma4Eagle3Model", + "Ministral3Eagle3Model", "Qwen3Eagle3Model", "extract_eagle3_context_feature", ] diff --git a/deepspec/modeling/eagle3/ministral3/__init__.py b/deepspec/modeling/eagle3/ministral3/__init__.py new file mode 100644 index 00000000..0724c5b4 --- /dev/null +++ b/deepspec/modeling/eagle3/ministral3/__init__.py @@ -0,0 +1,7 @@ +from .config import build_draft_config +from .modeling import Ministral3Eagle3Model + +__all__ = [ + "Ministral3Eagle3Model", + "build_draft_config", +] diff --git a/deepspec/modeling/eagle3/ministral3/config.py b/deepspec/modeling/eagle3/ministral3/config.py new file mode 100644 index 00000000..16c445b6 --- /dev/null +++ b/deepspec/modeling/eagle3/ministral3/config.py @@ -0,0 +1,55 @@ +import copy + +from deepspec.modeling.eagle3.common import validate_eagle3_target_layer_ids + + +TRAIN_ATTN_IMPLEMENTATION = "flex_attention" + + +def build_draft_config(*, target_config, model_args): + assert target_config.model_type == "mistral3", ( + "Ministral3 Eagle3 expects the top-level Mistral3 target config, " + f"got model_type={target_config.model_type!r}." + ) + text_config = copy.deepcopy(target_config.text_config) + assert text_config.model_type == "ministral3", ( + "Ministral3 Eagle3 expects target_config.text_config.model_type to be " + f"'ministral3', got {text_config.model_type!r}." + ) + target_layer_ids = validate_eagle3_target_layer_ids( + model_args.target_layer_ids, + int(text_config.num_hidden_layers), + ) + ttt_length = int(model_args.ttt_length) + assert ttt_length >= 1, f"ttt_length must be >= 1, got {ttt_length}" + step_loss_decay = float(model_args.step_loss_decay) + assert step_loss_decay > 0.0, ( + "step_loss_decay must be > 0.0, " + f"got {step_loss_decay}" + ) + draft_num_hidden_layers = int(model_args.draft_num_hidden_layers) + assert draft_num_hidden_layers >= 1, ( + "draft_num_hidden_layers must be >= 1, " + f"got {draft_num_hidden_layers}" + ) + + draft_config = text_config + draft_config.architectures = ["Ministral3Eagle3Model"] + draft_config.target_model_type = str(target_config.model_type) + draft_config.target_text_model_type = str(text_config.model_type) + draft_config.num_target_layers = int(text_config.num_hidden_layers) + draft_config.num_hidden_layers = draft_num_hidden_layers + draft_config.layer_types = ["full_attention"] * draft_num_hidden_layers + draft_config.target_model_name_or_path = str(model_args.target_model_name_or_path) + draft_config.target_layer_ids = target_layer_ids + draft_config.ttt_length = ttt_length + draft_config.step_loss_decay = step_loss_decay + draft_config.draft_num_hidden_layers = draft_num_hidden_layers + draft_config.tie_word_embeddings = False + draft_config._attn_implementation = TRAIN_ATTN_IMPLEMENTATION + return draft_config + + +__all__ = [ + "build_draft_config", +] diff --git a/deepspec/modeling/eagle3/ministral3/modeling.py b/deepspec/modeling/eagle3/ministral3/modeling.py new file mode 100644 index 00000000..c4f416c3 --- /dev/null +++ b/deepspec/modeling/eagle3/ministral3/modeling.py @@ -0,0 +1,423 @@ +from __future__ import annotations + +from typing import Callable, Optional + +import torch +from torch import nn +from torch.nn.attention.flex_attention import flex_attention + +from transformers.cache_utils import Cache +from transformers.models.ministral3.modeling_ministral3 import ( + ALL_ATTENTION_FUNCTIONS, + FlashAttentionKwargs, + GradientCheckpointingLayer, + Ministral3MLP, + Ministral3PreTrainedModel, + Ministral3RMSNorm, + Ministral3RotaryEmbedding, + eager_attention_forward, + get_llama_4_attn_scale, + rotate_half, +) +from typing_extensions import Tuple, Unpack + +from deepspec.modeling.eagle3.common import ( + Eagle3ForwardOutput, + compile_friendly_flex_attention, + create_eagle3_attention_mask, + eagle3_prepare_position_ids, + prepare_4d_causal_attention_mask, +) +from deepspec.utils.sampling import sample_tokens + + +def apply_rotary_pos_emb(q, k, cos, sin, unsqueeze_dim=1): + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +class Ministral3Eagle3Attention(nn.Module): + def __init__(self, config, layer_idx: int): + super().__init__() + self.config = config + self.layer_idx = int(layer_idx) + self.head_dim = getattr( + config, + "head_dim", + config.hidden_size // config.num_attention_heads, + ) + self.num_key_value_groups = ( + config.num_attention_heads // config.num_key_value_heads + ) + self.scaling = self.head_dim**-0.5 + self.attention_dropout = config.attention_dropout + self.is_causal = False + + input_dim = int(config.hidden_size) * 2 + self.q_proj = nn.Linear( + input_dim, + config.num_attention_heads * self.head_dim, + bias=False, + ) + self.k_proj = nn.Linear( + input_dim, + config.num_key_value_heads * self.head_dim, + bias=False, + ) + self.v_proj = nn.Linear( + input_dim, + config.num_key_value_heads * self.head_dim, + bias=False, + ) + self.o_proj = nn.Linear( + config.num_attention_heads * self.head_dim, + config.hidden_size, + bias=False, + ) + self.sliding_window = None + + def forward( + self, + hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: Optional[torch.Tensor], + position_ids: torch.LongTensor, + past_key_values: Optional[Cache] = None, + cache_position: Optional[torch.LongTensor] = None, + past_seen_tokens: int = 0, + **kwargs: Unpack[FlashAttentionKwargs], + ) -> tuple[torch.Tensor, Optional[torch.Tensor]]: + del cache_position + bsz, q_len = hidden_states.shape[:-1] + q = self.q_proj(hidden_states).view(bsz, q_len, -1, self.head_dim) + k = self.k_proj(hidden_states).view(bsz, q_len, -1, self.head_dim) + v = self.v_proj(hidden_states).view(bsz, q_len, -1, self.head_dim) + q = q.transpose(1, 2) + k = k.transpose(1, 2) + v = v.transpose(1, 2) + + cos, sin = position_embeddings + q, k = apply_rotary_pos_emb(q, k, cos, sin) + q = q * get_llama_4_attn_scale( + position_ids, + self.config.rope_parameters.get("llama_4_scaling_beta"), + self.config.rope_parameters.get("original_max_position_embeddings"), + ).to(q.dtype) + if past_key_values is not None: + k, v = past_key_values.update(k, v, self.layer_idx) + + if self.config._attn_implementation == "flex_attention": + # Direct flex_attention dispatch follows + # SpecForge/specforge/modeling/draft/llama3_eagle.py. + assert attention_mask is not None, ( + "Eagle3 flex_attention expects a BlockMask attention_mask." + ) + flex_attention_func = ( + flex_attention + if int(q_len) <= 128 + else compile_friendly_flex_attention + ) + attn_output = flex_attention_func( + query=q, + key=k.contiguous(), + value=v.contiguous(), + block_mask=attention_mask, + enable_gqa=True, + ) + attn_output = attn_output.transpose(1, 2).contiguous() + attn_output = attn_output.reshape(bsz, q_len, -1) + return self.o_proj(attn_output), None + + attn_fn: Callable = ALL_ATTENTION_FUNCTIONS.get_interface( + self.config._attn_implementation, + eager_attention_forward, + ) + + attn_is_causal = bool( + kwargs.get( + "is_causal", + attention_mask is None and q_len > 1 and int(past_seen_tokens) == 0, + ) + ) + self.is_causal = attn_is_causal + kwargs["is_causal"] = attn_is_causal + attn_output, attn_weights = attn_fn( + self, + q, + k, + v, + attention_mask, + dropout=0.0 if not self.training else self.attention_dropout, + scaling=self.scaling, + sliding_window=self.sliding_window, + **kwargs, + ) + attn_output = attn_output.reshape(bsz, q_len, -1) + return self.o_proj(attn_output), attn_weights + + +class Ministral3Eagle3DecoderLayer(GradientCheckpointingLayer): + def __init__(self, config, layer_idx: int): + super().__init__() + self.hidden_size = config.hidden_size + self.self_attn = Ministral3Eagle3Attention(config=config, layer_idx=layer_idx) + self.mlp = Ministral3MLP(config) + self.hidden_norm = Ministral3RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.input_layernorm = Ministral3RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = Ministral3RMSNorm( + config.hidden_size, + eps=config.rms_norm_eps, + ) + + def forward( + self, + input_embeds: torch.Tensor, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: Optional[bool] = False, + use_cache: Optional[bool] = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[Tuple[torch.Tensor, torch.Tensor]] = None, + past_seen_tokens: int = 0, + **kwargs: Unpack[FlashAttentionKwargs], + ) -> torch.Tensor: + del output_attentions, use_cache + assert position_ids is not None, "position_ids must be provided." + residual = hidden_states + hidden_states = self.hidden_norm(hidden_states) + input_embeds = self.input_layernorm(input_embeds) + hidden_states = torch.cat((input_embeds, hidden_states), dim=-1) + hidden_states = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_value, + cache_position=cache_position, + position_embeddings=position_embeddings, + past_seen_tokens=past_seen_tokens, + **kwargs, + )[0] + hidden_states = residual + hidden_states + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + return residual + hidden_states + + +class Ministral3Eagle3Model(Ministral3PreTrainedModel): + # Architecture adapted from + # SpecForge/specforge/modeling/draft/llama3_eagle.py and + # SpecForge/eval/model/eagle3.py. + _no_split_modules = ["Ministral3Eagle3DecoderLayer"] + + def __init__(self, config) -> None: + super().__init__(config) + self.config = config + required_fields = ( + "target_layer_ids", + "ttt_length", + "step_loss_decay", + ) + for field in required_fields: + assert hasattr(config, field), f"config.{field} must be provided." + self.target_layer_ids = [int(x) for x in config.target_layer_ids] + self.ttt_length = int(config.ttt_length) + self.step_loss_decay = float(config.step_loss_decay) + + self.embed_tokens = nn.Embedding( + config.vocab_size, + config.hidden_size, + padding_idx=getattr(config, "pad_token_id", None), + ) + self.fc = nn.Linear( + len(self.target_layer_ids) * config.hidden_size, + config.hidden_size, + bias=False, + ) + self.layers = nn.ModuleList( + [ + Ministral3Eagle3DecoderLayer(config, layer_idx) + for layer_idx in range(config.num_hidden_layers) + ] + ) + self.norm = Ministral3RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.rotary_emb = Ministral3RotaryEmbedding(config) + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.post_init() + + def initialize_embeddings_and_head( + self, + *, + embed_tokens: nn.Module, + lm_head: nn.Module, + freeze: bool = True, + ): + assert self.embed_tokens.weight.shape == embed_tokens.weight.shape + assert self.lm_head.weight.shape == lm_head.weight.shape + with torch.no_grad(): + self.embed_tokens.weight.copy_(embed_tokens.weight.detach()) + self.lm_head.weight.copy_(lm_head.weight.detach()) + if freeze: + self.set_embedding_head_trainable(False) + + def set_embedding_head_trainable(self, trainable: bool): + self.embed_tokens.requires_grad_(trainable) + self.lm_head.requires_grad_(trainable) + + def project_hidden_states(self, hidden_states: torch.Tensor) -> torch.Tensor: + assert hidden_states.size(-1) == len(self.target_layer_ids) * self.config.hidden_size + return self.fc(hidden_states) + + def compute_logits(self, hidden_states: torch.Tensor) -> torch.Tensor: + return self.lm_head(self.norm(hidden_states)) + + def draft_sample(self, logits: torch.Tensor, temperature: float = 0.0) -> torch.Tensor: + return sample_tokens(logits, temperature=temperature) + + def _prepare_attention_mask( + self, + *, + attention_mask: Optional[torch.Tensor], + hidden_states: torch.Tensor, + q_len: int, + past_seen_tokens: int, + ): + if attention_mask is None or attention_mask.ndim != 2: + return attention_mask + kv_len = int(past_seen_tokens) + int(q_len) + if self.config._attn_implementation == "flex_attention": + assert int(past_seen_tokens) % int(q_len) == 0, ( + "Eagle3 flex_attention expects fixed-size TTT chunks: " + f"past_seen_tokens={past_seen_tokens}, q_len={q_len}" + ) + lck = int(past_seen_tokens) // int(q_len) + return create_eagle3_attention_mask( + attention_mask=attention_mask, + q_len=q_len, + kv_len=kv_len, + lck=lck, + device=hidden_states.device, + ) + return prepare_4d_causal_attention_mask( + attention_mask=attention_mask, + dtype=hidden_states.dtype, + q_len=q_len, + kv_len=kv_len, + past_seen_tokens=int(past_seen_tokens), + device=hidden_states.device, + ) + + def extend_draft_cache( + self, + hidden_states: torch.Tensor, + input_ids: torch.LongTensor, + position_ids: torch.LongTensor, + past_key_values: Cache, + ) -> torch.Tensor: + assert input_ids.shape[1] > 0, "input_ids must contain at least one token." + output = self( + hidden_states=hidden_states, + input_ids=input_ids, + position_ids=position_ids, + past_key_values=past_key_values, + use_cache=True, + ) + return output[:, -1:, :] + + def forward( + self, + hidden_states: Optional[torch.Tensor] = None, + input_ids: Optional[torch.LongTensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Cache] = None, + use_cache: bool = False, + attention_mask: Optional[torch.Tensor] = None, + input_embeds: Optional[torch.Tensor] = None, + target_last_hidden_states: Optional[torch.Tensor] = None, + target_logits_only: bool = False, + return_logits: bool = False, + rope_cache_step_offset: bool = False, + **kwargs, + ) -> torch.Tensor | Eagle3ForwardOutput: + if target_logits_only: + assert target_last_hidden_states is not None + with torch.no_grad(): + return self.lm_head(target_last_hidden_states) + + assert hidden_states is not None, "hidden_states must be provided." + if hidden_states.size(-1) == len(self.target_layer_ids) * self.config.hidden_size: + hidden_states = self.project_hidden_states(hidden_states) + + if input_embeds is None: + assert input_ids is not None, "Either input_ids or input_embeds must be provided." + input_embeds = self.embed_tokens(input_ids) + if position_ids is None: + position_ids = eagle3_prepare_position_ids( + input_ids=input_ids, + input_embeds=input_embeds, + ) + + q_len = int(hidden_states.shape[1]) + past_seen_tokens = ( + int(past_key_values.get_seq_length()) + if past_key_values is not None + else 0 + ) + cache_position = torch.arange( + past_seen_tokens, + past_seen_tokens + q_len, + device=hidden_states.device, + ) + prepared_attention_mask = self._prepare_attention_mask( + attention_mask=attention_mask, + hidden_states=hidden_states, + q_len=q_len, + past_seen_tokens=past_seen_tokens, + ) + rope_position_ids = position_ids + if rope_cache_step_offset: + assert int(past_seen_tokens) % int(q_len) == 0, ( + "SpecForge-style Eagle3 RoPE offset expects fixed-size TTT chunks: " + f"past_seen_tokens={past_seen_tokens}, q_len={q_len}" + ) + rope_position_ids = position_ids + int(past_seen_tokens) // int(q_len) + position_embeddings = self.rotary_emb(hidden_states, rope_position_ids) + + for layer in self.layers: + hidden_states = layer( + input_embeds=input_embeds, + hidden_states=hidden_states, + attention_mask=prepared_attention_mask, + position_ids=position_ids, + past_key_value=past_key_values, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + past_seen_tokens=past_seen_tokens, + **kwargs, + ) + if return_logits: + draft_logits = self.compute_logits(hidden_states) + target_logits = None + if target_last_hidden_states is not None: + with torch.no_grad(): + target_logits = self.lm_head(target_last_hidden_states) + return Eagle3ForwardOutput( + hidden_states=hidden_states, + draft_logits=draft_logits, + target_logits=target_logits, + ) + return hidden_states + + +__all__ = [ + "Ministral3Eagle3Model", + "Ministral3Eagle3Attention", + "Ministral3Eagle3DecoderLayer", + "apply_rotary_pos_emb", +] diff --git a/deepspec/modeling/target_utils.py b/deepspec/modeling/target_utils.py new file mode 100644 index 00000000..b8ffe1e5 --- /dev/null +++ b/deepspec/modeling/target_utils.py @@ -0,0 +1,69 @@ +from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer +from transformers.models.mistral3.modeling_mistral3 import ( + Mistral3ForConditionalGeneration, +) + + +def is_mistral3_target(target_model_or_config) -> bool: + if hasattr(target_model_or_config, "config"): + model_type = target_model_or_config.config.model_type + else: + model_type = target_model_or_config.model_type + return str(model_type) == "mistral3" + + +def get_target_backbone(target_model): + model_type = str(target_model.config.model_type) + if model_type in ("gemma4", "gemma4_unified"): + if hasattr(target_model, "language_model"): + return target_model.language_model + if hasattr(target_model, "model") and hasattr( + target_model.model, + "language_model", + ): + return target_model.model.language_model + assert False, "Gemma4 target model must expose a text language_model." + if model_type == "mistral3": + if hasattr(target_model, "language_model"): + return target_model.language_model + if hasattr(target_model, "model") and hasattr( + target_model.model, + "language_model", + ): + return target_model.model.language_model + assert False, "Mistral3 target model must expose a text language_model." + return getattr(target_model, "model", target_model) + + +def get_target_hidden_size(target_model) -> int: + model_type = str(target_model.config.model_type) + if model_type in ("gemma4", "gemma4_unified", "mistral3"): + return int(target_model.config.text_config.hidden_size) + return int(target_model.config.hidden_size) + + +def get_target_input_embeddings(target_model): + if str(target_model.config.model_type) == "mistral3": + return get_target_backbone(target_model).embed_tokens + return target_model.get_input_embeddings() + + +def get_target_output_embeddings(target_model): + return target_model.get_output_embeddings() + + +def load_target_causal_lm(model_name_or_path: str, **kwargs): + target_config = AutoConfig.from_pretrained(model_name_or_path) + if str(target_config.model_type) == "mistral3": + return Mistral3ForConditionalGeneration.from_pretrained( + model_name_or_path, + **kwargs, + ) + return AutoModelForCausalLM.from_pretrained(model_name_or_path, **kwargs) + + +def load_target_tokenizer(model_name_or_path: str, **kwargs): + target_config = AutoConfig.from_pretrained(model_name_or_path) + if str(target_config.model_type) == "mistral3": + kwargs.setdefault("fix_mistral_regex", True) + return AutoTokenizer.from_pretrained(model_name_or_path, **kwargs) diff --git a/deepspec/trainer/__init__.py b/deepspec/trainer/__init__.py index 5ed28b03..23fd14d3 100644 --- a/deepspec/trainer/__init__.py +++ b/deepspec/trainer/__init__.py @@ -1,11 +1,16 @@ from .base_trainer import BaseTrainer from .dspark_trainer import Gemma4DSparkTrainer, Qwen3DSparkTrainer -from .eagle3_trainer import Gemma4Eagle3Trainer, Qwen3Eagle3Trainer +from .eagle3_trainer import ( + Gemma4Eagle3Trainer, + Ministral3Eagle3Trainer, + Qwen3Eagle3Trainer, +) __all__ = [ "BaseTrainer", "Gemma4Eagle3Trainer", "Gemma4DSparkTrainer", + "Ministral3Eagle3Trainer", "Qwen3Eagle3Trainer", "Qwen3DSparkTrainer", ] diff --git a/deepspec/trainer/eagle3_trainer.py b/deepspec/trainer/eagle3_trainer.py index 70343a3b..f0335fd6 100644 --- a/deepspec/trainer/eagle3_trainer.py +++ b/deepspec/trainer/eagle3_trainer.py @@ -1,4 +1,4 @@ -from transformers import AutoConfig, AutoModelForCausalLM, AutoTokenizer +from transformers import AutoConfig from deepspec.data import CacheCollator from deepspec.modeling.eagle3.gemma4 import Gemma4Eagle3Model @@ -6,10 +6,20 @@ build_draft_config as build_gemma4_eagle3_config, ) from deepspec.modeling.eagle3.loss import compute_eagle3_loss +from deepspec.modeling.eagle3.ministral3 import Ministral3Eagle3Model +from deepspec.modeling.eagle3.ministral3.config import ( + build_draft_config as build_ministral3_eagle3_config, +) from deepspec.modeling.eagle3.qwen3 import Qwen3Eagle3Model from deepspec.modeling.eagle3.qwen3.config import ( build_draft_config as build_qwen3_eagle3_config, ) +from deepspec.modeling.target_utils import ( + get_target_input_embeddings, + get_target_output_embeddings, + load_target_causal_lm, + load_target_tokenizer, +) from deepspec.trainer.base_trainer import BaseTrainer @@ -19,7 +29,7 @@ class Qwen3Eagle3Trainer(BaseTrainer): def build_models(self): model_args = self.args.model - tokenizer = AutoTokenizer.from_pretrained( + tokenizer = load_target_tokenizer( model_args.target_model_name_or_path, ) target_config = AutoConfig.from_pretrained( @@ -32,12 +42,12 @@ def build_models(self): ) draft_model = draft_model.to(device=self.device, dtype=self.precision_dtype) - target_model = AutoModelForCausalLM.from_pretrained( + target_model = load_target_causal_lm( model_args.target_model_name_or_path, dtype=self.precision_dtype, ).to(device="cpu").eval() - target_embed_tokens = target_model.get_input_embeddings() - target_lm_head = target_model.get_output_embeddings() + target_embed_tokens = get_target_input_embeddings(target_model) + target_lm_head = get_target_output_embeddings(target_model) assert (target_lm_head is not None) and (target_embed_tokens is not None) # The draft head and norm stay frozen / target-independent to match @@ -74,3 +84,12 @@ def _build_draft_model(self, *, target_config, model_args): model_args=model_args, ) return Gemma4Eagle3Model(draft_config) + + +class Ministral3Eagle3Trainer(Qwen3Eagle3Trainer): + def _build_draft_model(self, *, target_config, model_args): + draft_config = build_ministral3_eagle3_config( + target_config=target_config, + model_args=model_args, + ) + return Ministral3Eagle3Model(draft_config) diff --git a/eval.py b/eval.py index a35e7ea3..7f5f7e0f 100644 --- a/eval.py +++ b/eval.py @@ -4,7 +4,11 @@ import torch from transformers import AutoConfig from deepspec.eval.dspark import Gemma4DSparkEvaluator, Qwen3DSparkEvaluator -from deepspec.eval.eagle3 import Gemma4Eagle3Evaluator, Qwen3Eagle3Evaluator +from deepspec.eval.eagle3 import ( + Gemma4Eagle3Evaluator, + Ministral3Eagle3Evaluator, + Qwen3Eagle3Evaluator, +) from deepspec.utils import CustomJSONEncoder EVALUATORS = { @@ -12,6 +16,7 @@ "Gemma4DSparkModel": Gemma4DSparkEvaluator, "Qwen3Eagle3Model": Qwen3Eagle3Evaluator, "Gemma4Eagle3Model": Gemma4Eagle3Evaluator, + "Ministral3Eagle3Model": Ministral3Eagle3Evaluator, "Eagle3DraftModel": Qwen3Eagle3Evaluator, } diff --git a/scripts/data/prepare_target_cache.py b/scripts/data/prepare_target_cache.py index d072582b..da95c0aa 100644 --- a/scripts/data/prepare_target_cache.py +++ b/scripts/data/prepare_target_cache.py @@ -6,7 +6,7 @@ import torch import torch.distributed as dist from torch.utils.data import DataLoader, Subset -from transformers import AutoModel, AutoTokenizer +from transformers import AutoModel from deepspec.data import ConversationCollator from deepspec.data.target_cache_dataset import ( @@ -23,6 +23,11 @@ rename_local_target_cache_shards, write_target_cache_manifest, ) +from deepspec.modeling.target_utils import ( + get_target_backbone, + get_target_hidden_size, + load_target_tokenizer, +) from deepspec.data.jsonl_dataset import JsonLineDataset from deepspec.utils import ( CustomJSONEncoder, @@ -52,24 +57,6 @@ class TargetForwardResult: target_last_hidden_states: torch.Tensor -def _get_target_backbone(target_model): - model_type = str(target_model.config.model_type) - if model_type in ("gemma4", "gemma4_unified"): - if hasattr(target_model, "language_model"): - return target_model.language_model - if hasattr(target_model, "model") and hasattr(target_model.model, "language_model"): - return target_model.model.language_model - assert False, "Gemma4 target model must expose a text language_model." - return getattr(target_model, "model", target_model) - - -def _get_target_hidden_size(target_model) -> int: - model_type = str(target_model.config.model_type) - if model_type in ("gemma4", "gemma4_unified"): - return int(target_model.config.text_config.hidden_size) - return int(target_model.config.hidden_size) - - def _get_hook_tensor(output): if isinstance(output, torch.Tensor): return output @@ -87,7 +74,7 @@ def run_target_forward_with_hooks( attention_mask: torch.Tensor, target_layer_ids, ): - backbone = _get_target_backbone(target_model) + backbone = get_target_backbone(target_model) layer_modules = backbone.layers target_layer_ids = [int(layer_id) for layer_id in target_layer_ids] captured_hidden_states = {} @@ -248,7 +235,7 @@ def main(local_rank: int): local_total_samples = local_end - local_start local_subset = Subset(dataset, range(local_start, local_end)) - tokenizer = AutoTokenizer.from_pretrained( + tokenizer = load_target_tokenizer( config.model.target_model_name_or_path, ) target_model = AutoModel.from_pretrained( @@ -256,7 +243,7 @@ def main(local_rank: int): dtype=torch.bfloat16, attn_implementation="sdpa", ).to(device=device).eval() - target_hidden_size = _get_target_hidden_size(target_model) + target_hidden_size = get_target_hidden_size(target_model) train_collator = ConversationCollator( tokenizer=tokenizer, chat_template=config.data.chat_template, From 65e0931e4d073f39dedcd20e2fc596939e0f94be Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 15:37:27 +0000 Subject: [PATCH 02/49] Add Ministral3 EAGLE3 smoke scripts --- experiments/ministral3_3b_eagle3/README.md | 14 ++++++++ .../prepare_cache_smoke.sbatch | 35 +++++++++++++++++++ .../ministral3_3b_eagle3/smoke_train.jsonl | 4 +++ .../ministral3_3b_eagle3/train_smoke.sbatch | 35 +++++++++++++++++++ 4 files changed, 88 insertions(+) create mode 100644 experiments/ministral3_3b_eagle3/README.md create mode 100755 experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch create mode 100644 experiments/ministral3_3b_eagle3/smoke_train.jsonl create mode 100755 experiments/ministral3_3b_eagle3/train_smoke.sbatch diff --git a/experiments/ministral3_3b_eagle3/README.md b/experiments/ministral3_3b_eagle3/README.md new file mode 100644 index 00000000..7a85d062 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/README.md @@ -0,0 +1,14 @@ +# Ministral3 EAGLE3 Reproduction + +This directory tracks the DeepSpec-side reproduction attempt for +`mistralai/Ministral-3-3B-Instruct-2512`. + +The smoke scripts are intentionally tiny: + +- `prepare_cache_smoke.sbatch` builds a four-sample target cache. +- `train_smoke.sbatch` trains the EAGLE3 draft for two optimizer steps against + that cache. + +They validate model loading, target hidden-state extraction, tokenizer/loss-mask +parsing, and the EAGLE3 training loop before launching a full Open-PerfectBlend +run. diff --git a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch new file mode 100755 index 00000000..3716de66 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-cache-smoke +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:1 +#SBATCH --cpus-per-task=16 +#SBATCH --mem=160G +#SBATCH --time=00:45:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${RUN_ROOT}/smoke_target_cache + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29631} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false + +python scripts/data/prepare_target_cache.py \ + --config config/eagle3/eagle3_ministral3_3b.py \ + --train-data-path experiments/ministral3_3b_eagle3/smoke_train.jsonl \ + --output-dir "${CACHE_DIR}" \ + --min-loss-tokens 1 \ + --local-batch-size 1 \ + --num-workers 0 \ + --max-shard-bytes 1073741824 diff --git a/experiments/ministral3_3b_eagle3/smoke_train.jsonl b/experiments/ministral3_3b_eagle3/smoke_train.jsonl new file mode 100644 index 00000000..1d4ad701 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/smoke_train.jsonl @@ -0,0 +1,4 @@ +{"conversations": [{"role": "user", "content": "What is 2 + 2?"}, {"role": "assistant", "content": "4"}]} +{"conversations": [{"role": "user", "content": "Name the capital of France."}, {"role": "assistant", "content": "Paris"}]} +{"conversations": [{"role": "user", "content": "Write a Python function that returns x squared."}, {"role": "assistant", "content": "def square(x):\n return x * x"}]} +{"conversations": [{"role": "user", "content": "Give one short reason water freezes."}, {"role": "assistant", "content": "Water freezes when it loses enough heat for molecules to form solid ice."}]} diff --git a/experiments/ministral3_3b_eagle3/train_smoke.sbatch b/experiments/ministral3_3b_eagle3/train_smoke.sbatch new file mode 100755 index 00000000..85b4e47a --- /dev/null +++ b/experiments/ministral3_3b_eagle3/train_smoke.sbatch @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-train-smoke +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:1 +#SBATCH --cpus-per-task=16 +#SBATCH --mem=160G +#SBATCH --time=00:30:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${RUN_ROOT}/smoke_target_cache + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29641} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=0" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=1" \ + --opts "train.max_train_steps=2" \ + --opts "logging.checkpointing_steps=1" From adb7abb9d7383eb249ee2aa8666c64ae931b9a10 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 15:47:23 +0000 Subject: [PATCH 03/49] Add Transformers data generation path --- scripts/data/download_streaming_subset.py | 72 +++++++ .../data/generate_train_data_transformers.py | 184 ++++++++++++++++++ 2 files changed, 256 insertions(+) create mode 100644 scripts/data/download_streaming_subset.py create mode 100644 scripts/data/generate_train_data_transformers.py diff --git a/scripts/data/download_streaming_subset.py b/scripts/data/download_streaming_subset.py new file mode 100644 index 00000000..ad0d88b6 --- /dev/null +++ b/scripts/data/download_streaming_subset.py @@ -0,0 +1,72 @@ +from __future__ import annotations + +import argparse +import json +import os +import sys +from pathlib import Path + +from datasets import load_dataset + + +ROLE_MAPPING = { + "human": "user", + "gpt": "assistant", + "chatgpt": "assistant", + "bing": "assistant", + "bard": "assistant", +} + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Write the first N Open-PerfectBlend rows as DeepSpec JSONL." + ) + parser.add_argument("--dataset-name", default="mlabonne/open-perfectblend") + parser.add_argument("--split", default="train") + parser.add_argument("--sample-size", type=int, required=True) + parser.add_argument("--output-path", type=Path, required=True) + parser.add_argument("--skip-existing", action="store_true") + return parser.parse_args() + + +def normalize_conversations(row: dict, idx: int) -> dict: + conversations = [] + for message in row["conversations"]: + role = ROLE_MAPPING.get(message["from"]) + if role is None: + continue + conversations.append({"role": role, "content": message["value"]}) + assert conversations, f"row {idx} produced no conversations." + assert conversations[0]["role"] == "user", ( + f"row {idx} does not start with user: {conversations[0]['role']}" + ) + return {"id": idx, "conversations": conversations} + + +def main() -> None: + args = parse_args() + assert args.sample_size > 0, f"sample_size must be positive, got {args.sample_size}" + if args.output_path.exists(): + if args.skip_existing: + print(f"skip existing output: {args.output_path}") + return + raise FileExistsError(f"Output JSONL already exists: {args.output_path}") + + args.output_path.parent.mkdir(parents=True, exist_ok=True) + dataset = load_dataset(args.dataset_name, split=args.split, streaming=True) + written = 0 + with args.output_path.open("w", encoding="utf-8") as handle: + for idx, row in enumerate(dataset): + converted = normalize_conversations(row, idx) + handle.write(json.dumps(converted, ensure_ascii=False) + "\n") + written += 1 + if written >= args.sample_size: + break + print(f"wrote {written} rows -> {args.output_path}", flush=True) + sys.stdout.flush() + os._exit(0) + + +if __name__ == "__main__": + main() diff --git a/scripts/data/generate_train_data_transformers.py b/scripts/data/generate_train_data_transformers.py new file mode 100644 index 00000000..c557c44a --- /dev/null +++ b/scripts/data/generate_train_data_transformers.py @@ -0,0 +1,184 @@ +from __future__ import annotations + +import argparse +import json +from pathlib import Path +from time import perf_counter + +import torch +from tqdm import tqdm + +from deepspec.data.parser import encode_chat_messages +from deepspec.modeling.target_utils import load_target_causal_lm, load_target_tokenizer + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Regenerate DeepSpec training conversations with a local HF model." + ) + parser.add_argument("--model", required=True) + parser.add_argument("--input-file-path", type=Path, required=True) + parser.add_argument("--output-file-path", type=Path, required=True) + parser.add_argument("--error-file-path", type=Path) + parser.add_argument("--shard-index", type=int, default=0) + parser.add_argument("--num-shards", type=int, default=1) + parser.add_argument("--max-samples", type=int) + parser.add_argument("--resume", action="store_true") + parser.add_argument("--temperature", type=float, default=0.7) + parser.add_argument("--top-p", type=float, default=0.8) + parser.add_argument("--top-k", type=int, default=20) + parser.add_argument("--max-new-tokens", type=int, default=4096) + parser.add_argument("--attn-implementation", default="sdpa") + return parser.parse_args() + + +def count_lines(path: Path) -> int: + if not path.exists(): + return 0 + with path.open("r", encoding="utf-8") as handle: + return sum(1 for _ in handle) + + +def iter_shard_rows(path: Path, shard_index: int, num_shards: int): + with path.open("r", encoding="utf-8") as handle: + for line_index, line in enumerate(handle): + if line_index % num_shards != shard_index: + continue + yield line_index, json.loads(line) + + +def generate_assistant( + *, + model, + tokenizer, + messages: list[dict], + args: argparse.Namespace, +) -> str: + input_ids = encode_chat_messages( + tokenizer, + messages, + add_generation_prompt=True, + ).to(model.device) + attention_mask = torch.ones_like(input_ids) + do_sample = float(args.temperature) > 0.0 + generation_kwargs = { + "input_ids": input_ids, + "attention_mask": attention_mask, + "do_sample": do_sample, + "max_new_tokens": int(args.max_new_tokens), + "eos_token_id": tokenizer.eos_token_id, + "pad_token_id": tokenizer.pad_token_id, + } + if do_sample: + generation_kwargs.update( + { + "temperature": float(args.temperature), + "top_p": float(args.top_p), + "top_k": int(args.top_k), + } + ) + with torch.inference_mode(): + output_ids = model.generate(**generation_kwargs) + generated_ids = output_ids[0, input_ids.shape[1] :] + return tokenizer.decode(generated_ids, skip_special_tokens=True).strip() + + +def regenerate_sample(*, model, tokenizer, sample: dict, args: argparse.Namespace) -> dict: + regenerated = [] + for message in sample["conversations"]: + role = message["role"] + if role == "system": + regenerated.append(message) + continue + if role == "assistant": + continue + assert role == "user", f"Unsupported message role: {role}" + regenerated.append(message) + regenerated.append( + { + "role": "assistant", + "content": generate_assistant( + model=model, + tokenizer=tokenizer, + messages=regenerated, + args=args, + ), + } + ) + sample = dict(sample) + sample["conversations"] = regenerated + sample["status"] = "success" + return sample + + +def main() -> None: + args = parse_args() + assert 0 <= args.shard_index < args.num_shards, ( + f"Expected shard_index in [0, {args.num_shards}), got {args.shard_index}" + ) + assert args.max_new_tokens > 0, ( + f"max_new_tokens must be positive, got {args.max_new_tokens}" + ) + args.output_file_path.parent.mkdir(parents=True, exist_ok=True) + error_path = args.error_file_path + if error_path is None: + error_path = args.output_file_path.with_name( + args.output_file_path.stem + "_error.jsonl" + ) + error_path.parent.mkdir(parents=True, exist_ok=True) + + completed = count_lines(args.output_file_path) + count_lines(error_path) + if not args.resume: + completed = 0 + + tokenizer = load_target_tokenizer(args.model) + model = load_target_causal_lm( + args.model, + dtype=torch.bfloat16, + attn_implementation=args.attn_implementation, + ).to(device="cuda").eval() + + total_seen = 0 + success = 0 + errors = 0 + start_time = perf_counter() + output_mode = "a" if args.resume else "w" + with ( + args.output_file_path.open(output_mode, encoding="utf-8") as output_handle, + error_path.open(output_mode, encoding="utf-8") as error_handle, + ): + rows = iter_shard_rows(args.input_file_path, args.shard_index, args.num_shards) + progress = tqdm(rows, desc=f"shard {args.shard_index}/{args.num_shards}") + for _line_index, sample in progress: + if total_seen < completed: + total_seen += 1 + continue + if args.max_samples is not None and success + errors >= args.max_samples: + break + try: + regenerated = regenerate_sample( + model=model, + tokenizer=tokenizer, + sample=sample, + args=args, + ) + except Exception as exc: + sample = dict(sample) + sample["status"] = "error" + sample["error"] = str(exc) + error_handle.write(json.dumps(sample, ensure_ascii=False) + "\n") + error_handle.flush() + errors += 1 + else: + output_handle.write(json.dumps(regenerated, ensure_ascii=False) + "\n") + output_handle.flush() + success += 1 + total_seen += 1 + elapsed = max(perf_counter() - start_time, 1e-6) + progress.set_postfix(success=success, errors=errors, samples_per_s=success / elapsed) + + print(f"success={success} errors={errors} output={args.output_file_path}") + + +if __name__ == "__main__": + main() From c7407c3a357ee1d1cfa9c348a2bf0666edf429fa Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 15:54:08 +0000 Subject: [PATCH 04/49] Add Ministral3 10k reproduction pipeline --- experiments/ministral3_3b_eagle3/README.md | 16 ++++++++ .../download_subset_10k.sbatch | 25 +++++++++++++ .../eval_10k_3000steps.sbatch | 34 +++++++++++++++++ .../generate_subset_10k.sbatch | 37 +++++++++++++++++++ .../launch_10k_pipeline.sh | 20 ++++++++++ .../merge_subset_10k.sbatch | 25 +++++++++++++ .../prepare_cache_10k.sbatch | 36 ++++++++++++++++++ .../prepare_cache_smoke.sbatch | 1 + .../train_10k_3000steps.sbatch | 37 +++++++++++++++++++ .../ministral3_3b_eagle3/train_smoke.sbatch | 2 + 10 files changed, 233 insertions(+) create mode 100755 experiments/ministral3_3b_eagle3/download_subset_10k.sbatch create mode 100755 experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch create mode 100755 experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch create mode 100755 experiments/ministral3_3b_eagle3/launch_10k_pipeline.sh create mode 100755 experiments/ministral3_3b_eagle3/merge_subset_10k.sbatch create mode 100755 experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch create mode 100755 experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch diff --git a/experiments/ministral3_3b_eagle3/README.md b/experiments/ministral3_3b_eagle3/README.md index 7a85d062..fcf8fcb4 100644 --- a/experiments/ministral3_3b_eagle3/README.md +++ b/experiments/ministral3_3b_eagle3/README.md @@ -12,3 +12,19 @@ The smoke scripts are intentionally tiny: They validate model loading, target hidden-state extraction, tokenizer/loss-mask parsing, and the EAGLE3 training loop before launching a full Open-PerfectBlend run. + +The first reproduction pipeline uses a 10k Open-PerfectBlend subset generated +by the Ministral3 target, then trains for 3000 optimizer steps at DeepSpec's +EAGLE3 global batch size of 512: + +- `download_subset_10k.sbatch` streams and normalizes the source subset. +- `generate_subset_10k.sbatch` regenerates assistant turns with Ministral3. +- `merge_subset_10k.sbatch` combines the eight regeneration shards. +- `prepare_cache_10k.sbatch` builds the target hidden-state cache. +- `train_10k_3000steps.sbatch` trains + `eagle3_ttt7_ministral3_3b_10k_3000steps`. +- `eval_10k_3000steps.sbatch` evaluates the resulting `step_latest`. + +`launch_10k_pipeline.sh` submits those jobs with `afterok` dependencies. Outputs +live under `/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3`, checkpoints under +`~/checkpoints/deepspec`, and TensorBoard logs under `~/tensorboard/deepspec`. diff --git a/experiments/ministral3_3b_eagle3/download_subset_10k.sbatch b/experiments/ministral3_3b_eagle3/download_subset_10k.sbatch new file mode 100755 index 00000000..a5d77ee6 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/download_subset_10k.sbatch @@ -0,0 +1,25 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-subset10k +#SBATCH --partition=cpu +#SBATCH --qos=research +#SBATCH --cpus-per-task=4 +#SBATCH --mem=16G +#SBATCH --time=00:30:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +DATA_DIR=${RUN_ROOT}/data_10k + +mkdir -p "${RUN_ROOT}/logs" "${DATA_DIR}" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +python scripts/data/download_streaming_subset.py \ + --sample-size 10000 \ + --output-path "${DATA_DIR}/perfectblend_train_10k.jsonl" \ + --skip-existing diff --git a/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch new file mode 100755 index 00000000..d7cd6d77 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-eval10k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=06:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +DRAFT_DIR=${HOME}/checkpoints/deepspec/eagle3_ttt7_ministral3_3b_10k_3000steps/step_latest +TB_DIR=${HOME}/tensorboard/deepspec/eagle3_ttt7_ministral3_3b_10k_3000steps_eval + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29671} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --step 3000 diff --git a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch new file mode 100755 index 00000000..8bc38888 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-gen10k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:1 +#SBATCH --cpus-per-task=12 +#SBATCH --mem=160G +#SBATCH --time=12:00:00 +#SBATCH --array=0-7 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +DATA_DIR=${RUN_ROOT}/data_10k +NUM_SHARDS=8 +SHARD_INDEX=${SLURM_ARRAY_TASK_ID} + +mkdir -p "${RUN_ROOT}/logs" "${DATA_DIR}/regen_shards" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +python scripts/data/generate_train_data_transformers.py \ + --model mistralai/Ministral-3-3B-Instruct-2512 \ + --input-file-path "${DATA_DIR}/perfectblend_train_10k.jsonl" \ + --output-file-path "${DATA_DIR}/regen_shards/perfectblend_train_10k_regen_shard_${SHARD_INDEX}.jsonl" \ + --error-file-path "${DATA_DIR}/regen_shards/perfectblend_train_10k_regen_shard_${SHARD_INDEX}_error.jsonl" \ + --shard-index "${SHARD_INDEX}" \ + --num-shards "${NUM_SHARDS}" \ + --temperature 0.7 \ + --top-p 0.8 \ + --top-k 20 \ + --max-new-tokens 4096 \ + --resume diff --git a/experiments/ministral3_3b_eagle3/launch_10k_pipeline.sh b/experiments/ministral3_3b_eagle3/launch_10k_pipeline.sh new file mode 100755 index 00000000..67d2cfda --- /dev/null +++ b/experiments/ministral3_3b_eagle3/launch_10k_pipeline.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail + +HERE=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) + +download_id=$(sbatch --parsable "${HERE}/download_subset_10k.sbatch") +generate_id=$(sbatch --parsable --dependency=afterok:"${download_id}" "${HERE}/generate_subset_10k.sbatch") +merge_id=$(sbatch --parsable --dependency=afterok:"${generate_id}" "${HERE}/merge_subset_10k.sbatch") +cache_id=$(sbatch --parsable --dependency=afterok:"${merge_id}" "${HERE}/prepare_cache_10k.sbatch") +train_id=$(sbatch --parsable --dependency=afterok:"${cache_id}" "${HERE}/train_10k_3000steps.sbatch") +eval_id=$(sbatch --parsable --dependency=afterok:"${train_id}" "${HERE}/eval_10k_3000steps.sbatch") + +cat <> "${OUT}" +done + +wc -l "${OUT}" diff --git a/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch b/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch new file mode 100755 index 00000000..f3075210 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-cache10k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=06:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +DATA_DIR=${RUN_ROOT}/data_10k +CACHE_DIR=${RUN_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29651} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false + +python scripts/data/prepare_target_cache.py \ + --config config/eagle3/eagle3_ministral3_3b.py \ + --train-data-path "${DATA_DIR}/perfectblend_train_10k_regen.jsonl" \ + --output-dir "${CACHE_DIR}" \ + --local-batch-size 1 \ + --num-workers 2 \ + --max-shard-bytes 17179869184 diff --git a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch index 3716de66..822cbba7 100755 --- a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch +++ b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch @@ -18,6 +18,7 @@ CACHE_DIR=${RUN_ROOT}/smoke_target_cache mkdir -p "${RUN_ROOT}/logs" cd "${REPO_DIR}" source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" export MASTER_ADDR=127.0.0.1 export MASTER_PORT=${MASTER_PORT:-29631} diff --git a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch new file mode 100755 index 00000000..050347ad --- /dev/null +++ b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-train10k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=12:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${RUN_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29661} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b.py \ + --opts "exp_name=eagle3_ttt7_ministral3_3b_10k_3000steps" \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" diff --git a/experiments/ministral3_3b_eagle3/train_smoke.sbatch b/experiments/ministral3_3b_eagle3/train_smoke.sbatch index 85b4e47a..4581fce0 100755 --- a/experiments/ministral3_3b_eagle3/train_smoke.sbatch +++ b/experiments/ministral3_3b_eagle3/train_smoke.sbatch @@ -18,6 +18,7 @@ CACHE_DIR=${RUN_ROOT}/smoke_target_cache mkdir -p "${RUN_ROOT}/logs" cd "${REPO_DIR}" source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" export MASTER_ADDR=127.0.0.1 export MASTER_PORT=${MASTER_PORT:-29641} @@ -27,6 +28,7 @@ export TOKENIZERS_PARALLELISM=false python train.py \ --config config/eagle3/eagle3_ministral3_3b.py \ + --opts "exp_name=eagle3_ttt7_ministral3_3b_smoke" \ --opts "data.target_cache_path=${CACHE_DIR}" \ --opts "data.num_workers=0" \ --opts "train.local_batch_size=1" \ From 029d5f25bfa972ad2fc6c72729dec8f3065e1d68 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 15:57:17 +0000 Subject: [PATCH 05/49] Add accelerate for FP8 target loading --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 30316637..440e00e5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ # is not appropriate for your environment. torch==2.9.1 transformers==5.10.2 +accelerate==1.14.0 numpy==2.4.4 PyYAML==6.0.3 tqdm==4.67.3 From 05da4f3ea678c2aec33e3e24b2d28f89bdd5ad99 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 15:59:33 +0000 Subject: [PATCH 06/49] Tighten Ministral3 smoke job resources --- experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch | 6 +++--- experiments/ministral3_3b_eagle3/train_smoke.sbatch | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch index 822cbba7..b7ad30e3 100755 --- a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch +++ b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch @@ -3,9 +3,9 @@ #SBATCH --partition=h100 #SBATCH --qos=research #SBATCH --gres=gpu:h100:1 -#SBATCH --cpus-per-task=16 -#SBATCH --mem=160G -#SBATCH --time=00:45:00 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=80G +#SBATCH --time=00:20:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err diff --git a/experiments/ministral3_3b_eagle3/train_smoke.sbatch b/experiments/ministral3_3b_eagle3/train_smoke.sbatch index 4581fce0..40a41214 100755 --- a/experiments/ministral3_3b_eagle3/train_smoke.sbatch +++ b/experiments/ministral3_3b_eagle3/train_smoke.sbatch @@ -3,9 +3,9 @@ #SBATCH --partition=h100 #SBATCH --qos=research #SBATCH --gres=gpu:h100:1 -#SBATCH --cpus-per-task=16 -#SBATCH --mem=160G -#SBATCH --time=00:30:00 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=80G +#SBATCH --time=00:20:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err From 38ba34554ea588413b5422a3b40ad1074cdfca6d Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 16:01:45 +0000 Subject: [PATCH 07/49] Shorten Ministral3 generation walltime --- experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch index 8bc38888..677faab5 100755 --- a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch +++ b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:1 #SBATCH --cpus-per-task=12 #SBATCH --mem=160G -#SBATCH --time=12:00:00 +#SBATCH --time=06:00:00 #SBATCH --array=0-7 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.err From c09f9e2e9a5615f4c0bee0b5d506169c27d9b5a9 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 16:11:02 +0000 Subject: [PATCH 08/49] Add kernels for FP8 target execution --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 440e00e5..4fc3b5eb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,6 +3,7 @@ torch==2.9.1 transformers==5.10.2 accelerate==1.14.0 +kernels==0.16.0 numpy==2.4.4 PyYAML==6.0.3 tqdm==4.67.3 From 87904b5365e46c6c844aaa971dc40aa34853dfa5 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 16:18:53 +0000 Subject: [PATCH 09/49] Disable hub kernels for FP8 compatibility --- deepspec/modeling/__init__.py | 4 ++++ eval.py | 4 ++++ experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch | 1 + experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch | 1 + experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch | 1 + experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch | 1 + experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch | 1 + experiments/ministral3_3b_eagle3/train_smoke.sbatch | 1 + requirements.txt | 2 +- scripts/data/generate_train_data_transformers.py | 3 +++ scripts/data/prepare_target_cache.py | 2 ++ train.py | 3 +++ 12 files changed, 23 insertions(+), 1 deletion(-) diff --git a/deepspec/modeling/__init__.py b/deepspec/modeling/__init__.py index 22df914e..216fd4d5 100644 --- a/deepspec/modeling/__init__.py +++ b/deepspec/modeling/__init__.py @@ -1,3 +1,7 @@ +import os + +os.environ["USE_HUB_KERNELS"] = "0" + from .dspark import ( DSparkForwardOutput, Gemma4DSparkModel, diff --git a/eval.py b/eval.py index 7f5f7e0f..3690409d 100644 --- a/eval.py +++ b/eval.py @@ -1,6 +1,10 @@ from __future__ import annotations import argparse import json +import os + +os.environ["USE_HUB_KERNELS"] = "0" + import torch from transformers import AutoConfig from deepspec.eval.dspark import Gemma4DSparkEvaluator, Qwen3DSparkEvaluator diff --git a/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch index d7cd6d77..f3a8886c 100755 --- a/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch +++ b/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch @@ -26,6 +26,7 @@ export MASTER_PORT=${MASTER_PORT:-29671} export RANK=0 export WORLD_SIZE=1 export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 python eval.py \ --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ diff --git a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch index 677faab5..6c0ba32b 100755 --- a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch +++ b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch @@ -22,6 +22,7 @@ mkdir -p "${RUN_ROOT}/logs" "${DATA_DIR}/regen_shards" cd "${REPO_DIR}" source .venv/bin/activate export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" +export USE_HUB_KERNELS=0 python scripts/data/generate_train_data_transformers.py \ --model mistralai/Ministral-3-3B-Instruct-2512 \ diff --git a/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch b/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch index f3075210..8834f77f 100755 --- a/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch +++ b/experiments/ministral3_3b_eagle3/prepare_cache_10k.sbatch @@ -26,6 +26,7 @@ export MASTER_PORT=${MASTER_PORT:-29651} export RANK=0 export WORLD_SIZE=1 export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 python scripts/data/prepare_target_cache.py \ --config config/eagle3/eagle3_ministral3_3b.py \ diff --git a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch index b7ad30e3..85cbf259 100755 --- a/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch +++ b/experiments/ministral3_3b_eagle3/prepare_cache_smoke.sbatch @@ -25,6 +25,7 @@ export MASTER_PORT=${MASTER_PORT:-29631} export RANK=0 export WORLD_SIZE=1 export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 python scripts/data/prepare_target_cache.py \ --config config/eagle3/eagle3_ministral3_3b.py \ diff --git a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch index 050347ad..8a6b088a 100755 --- a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch +++ b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch @@ -25,6 +25,7 @@ export MASTER_PORT=${MASTER_PORT:-29661} export RANK=0 export WORLD_SIZE=1 export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 python train.py \ --config config/eagle3/eagle3_ministral3_3b.py \ diff --git a/experiments/ministral3_3b_eagle3/train_smoke.sbatch b/experiments/ministral3_3b_eagle3/train_smoke.sbatch index 40a41214..6f892de4 100755 --- a/experiments/ministral3_3b_eagle3/train_smoke.sbatch +++ b/experiments/ministral3_3b_eagle3/train_smoke.sbatch @@ -25,6 +25,7 @@ export MASTER_PORT=${MASTER_PORT:-29641} export RANK=0 export WORLD_SIZE=1 export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 python train.py \ --config config/eagle3/eagle3_ministral3_3b.py \ diff --git a/requirements.txt b/requirements.txt index 4fc3b5eb..c8515bfe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,7 +3,7 @@ torch==2.9.1 transformers==5.10.2 accelerate==1.14.0 -kernels==0.16.0 +kernels==0.14.1 numpy==2.4.4 PyYAML==6.0.3 tqdm==4.67.3 diff --git a/scripts/data/generate_train_data_transformers.py b/scripts/data/generate_train_data_transformers.py index c557c44a..39c77071 100644 --- a/scripts/data/generate_train_data_transformers.py +++ b/scripts/data/generate_train_data_transformers.py @@ -2,9 +2,12 @@ import argparse import json +import os from pathlib import Path from time import perf_counter +os.environ["USE_HUB_KERNELS"] = "0" + import torch from tqdm import tqdm diff --git a/scripts/data/prepare_target_cache.py b/scripts/data/prepare_target_cache.py index da95c0aa..9e76a569 100644 --- a/scripts/data/prepare_target_cache.py +++ b/scripts/data/prepare_target_cache.py @@ -3,6 +3,8 @@ import json import os +os.environ["USE_HUB_KERNELS"] = "0" + import torch import torch.distributed as dist from torch.utils.data import DataLoader, Subset diff --git a/train.py b/train.py index 40d9e074..bcb4776a 100644 --- a/train.py +++ b/train.py @@ -1,6 +1,9 @@ import argparse import json import os + +os.environ["USE_HUB_KERNELS"] = "0" + import torch from deepspec.utils import ( CustomJSONEncoder, From 7e28309594baad28fdcc70f263ec5e9689689ae8 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 16:28:51 +0000 Subject: [PATCH 10/49] Handle zero-worker training dataloaders --- deepspec/trainer/base_trainer.py | 12 +++++++++--- .../ministral3_3b_eagle3/generate_subset_10k.sbatch | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/deepspec/trainer/base_trainer.py b/deepspec/trainer/base_trainer.py index 6b2eef1d..d96c137f 100644 --- a/deepspec/trainer/base_trainer.py +++ b/deepspec/trainer/base_trainer.py @@ -294,16 +294,22 @@ def _build_train_dataloader(self, start_offset_samples=0, num_samples=None): start_global_offset_samples=start_offset_samples, num_samples=num_samples, ) + num_workers = int(self.args.data.num_workers) + worker_kwargs = {} + if num_workers > 0: + worker_kwargs = { + "persistent_workers": True, + "prefetch_factor": 4, + } return DataLoader( self.train_dataset, batch_size=int(self.args.train.local_batch_size), sampler=sampler, collate_fn=self.data_collator_cls(), - num_workers=int(self.args.data.num_workers), + num_workers=num_workers, pin_memory=True, drop_last=True, - persistent_workers=True, - prefetch_factor=4, + **worker_kwargs, ) def run_batch(self, batch): diff --git a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch index 6c0ba32b..b10e4957 100755 --- a/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch +++ b/experiments/ministral3_3b_eagle3/generate_subset_10k.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:1 #SBATCH --cpus-per-task=12 #SBATCH --mem=160G -#SBATCH --time=06:00:00 +#SBATCH --time=12:00:00 #SBATCH --array=0-7 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.err From 6486e523a6d72425de3a18a97df767f753ecab07 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 2 Jul 2026 19:09:34 +0000 Subject: [PATCH 11/49] Write eval metrics JSON --- deepspec/eval/base_evaluator.py | 14 ++++++++++++++ eval.py | 1 + .../ministral3_3b_eagle3/eval_10k_3000steps.sbatch | 1 + 3 files changed, 16 insertions(+) diff --git a/deepspec/eval/base_evaluator.py b/deepspec/eval/base_evaluator.py index d094ec38..7db264a1 100644 --- a/deepspec/eval/base_evaluator.py +++ b/deepspec/eval/base_evaluator.py @@ -708,6 +708,20 @@ def report_results(self) -> None: if dist.get_rank() == 0 and self.metrics_rows: if self.args.tensorboard_dir is not None: self.log_tensorboard() + if self.args.output_json is not None: + output_path = Path(self.args.output_json) + output_path.parent.mkdir(parents=True, exist_ok=True) + with output_path.open("w", encoding="utf-8") as handle: + json.dump( + { + "target_model": self.args.target_name_or_path, + "draft_model": self.args.draft_name_or_path, + "step": self.args.step, + "rows": self.metrics_rows, + }, + handle, + indent=2, + ) self.print_results() def evaluate(self) -> None: diff --git a/eval.py b/eval.py index 3690409d..4701d22d 100644 --- a/eval.py +++ b/eval.py @@ -49,6 +49,7 @@ def parse_args(): help=("Confidence-head early-stop threshold. Confidence calibration metrics are collected only when this is 0.0."), ) parser.add_argument("--tensorboard-dir", type=str, default=None) + parser.add_argument("--output-json", type=str, default=None) parser.add_argument("--step", type=int, default=None,help=("step for tensorboard logging"),) parser.add_argument("--seed", type=int, default=980406) args = parser.parse_args() diff --git a/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch index f3a8886c..d9a7bd49 100755 --- a/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch +++ b/experiments/ministral3_3b_eagle3/eval_10k_3000steps.sbatch @@ -32,4 +32,5 @@ python eval.py \ --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ --draft_name_or_path "${DRAFT_DIR}" \ --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_10k_step3000_metrics.json" \ --step 3000 From 6d22729be31f2cb360d949777c6caf32c2d174d1 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Fri, 3 Jul 2026 09:41:48 +0000 Subject: [PATCH 12/49] Add save-only training checkpoints --- config/eagle3/eagle3_ministral3_3b.py | 1 + deepspec/trainer/base_trainer.py | 24 +++++++++++++++---- .../train_10k_3000steps.sbatch | 3 ++- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/config/eagle3/eagle3_ministral3_3b.py b/config/eagle3/eagle3_ministral3_3b.py index 55c25c77..61d2e12a 100644 --- a/config/eagle3/eagle3_ministral3_3b.py +++ b/config/eagle3/eagle3_ministral3_3b.py @@ -34,6 +34,7 @@ logging = dict( logging_steps=10, checkpointing_steps=3000, + save_only_checkpointing_steps=None, ) data = dict( diff --git a/deepspec/trainer/base_trainer.py b/deepspec/trainer/base_trainer.py index d96c137f..0f09dbf2 100644 --- a/deepspec/trainer/base_trainer.py +++ b/deepspec/trainer/base_trainer.py @@ -329,8 +329,13 @@ def _checkpoint_kwargs(self): local_batch_size=int(self.args.train.local_batch_size), ) - def save_and_eval_checkpoint(self): + def save_train_checkpoint(self): checkpoint_dir = save_checkpoint(**self._checkpoint_kwargs()) + dist.barrier() + return checkpoint_dir + + def save_and_eval_checkpoint(self): + checkpoint_dir = self.save_train_checkpoint() if is_global_main_process(): _launch_eval( target_model_name_or_path=self.args.model.target_model_name_or_path, @@ -344,8 +349,7 @@ def save_and_eval_checkpoint(self): def _save_and_suspend(self): print_on_global_main("Saving checkpoint before suspending...") - save_checkpoint(**self._checkpoint_kwargs()) - dist.barrier() + self.save_train_checkpoint() if is_global_main_process(): print_on_global_main("Going to suspend...") self.suspend_controller.go_suspend() @@ -396,8 +400,20 @@ def train(self): grad_norm=grad_norm.item(), ) - if self.global_step % int(self.args.logging.checkpointing_steps) == 0: + should_eval_checkpoint = ( + self.global_step % int(self.args.logging.checkpointing_steps) == 0 + ) + save_only_checkpointing_steps = int( + getattr(self.args.logging, "save_only_checkpointing_steps", 0) or 0 + ) + should_save_only_checkpoint = ( + save_only_checkpointing_steps > 0 + and self.global_step % save_only_checkpointing_steps == 0 + ) + if should_eval_checkpoint: self.save_and_eval_checkpoint() + elif should_save_only_checkpoint: + self.save_train_checkpoint() if self.suspend_controller.requested(): self._save_and_suspend() diff --git a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch index 8a6b088a..26324415 100755 --- a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch +++ b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch @@ -35,4 +35,5 @@ python train.py \ --opts "train.local_batch_size=1" \ --opts "train.global_batch_size=512" \ --opts "train.max_train_steps=3000" \ - --opts "logging.checkpointing_steps=3000" + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=50" From 248d8530cd6d6e67a40dff8950b6229f2247d625 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Fri, 3 Jul 2026 09:44:12 +0000 Subject: [PATCH 13/49] Add Ministral3 training metric plots --- .../plot_training_metrics.py | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 experiments/ministral3_3b_eagle3/plot_training_metrics.py diff --git a/experiments/ministral3_3b_eagle3/plot_training_metrics.py b/experiments/ministral3_3b_eagle3/plot_training_metrics.py new file mode 100644 index 00000000..11efa05f --- /dev/null +++ b/experiments/ministral3_3b_eagle3/plot_training_metrics.py @@ -0,0 +1,108 @@ +import argparse +import json +from pathlib import Path + +import matplotlib.pyplot as plt +from tensorboard.backend.event_processing.event_accumulator import EventAccumulator + + +ScalarSeries = list[tuple[int, float]] + + +def load_scalars(tensorboard_dir: Path) -> dict[str, ScalarSeries]: + accumulator = EventAccumulator(str(tensorboard_dir), size_guidance={"scalars": 0}) + accumulator.Reload() + + scalars = {} + for tag in accumulator.Tags()["scalars"]: + scalars[tag] = [ + (int(event.step), float(event.value)) + for event in accumulator.Scalars(tag) + ] + return scalars + + +def plot_series( + *, + scalars: dict[str, ScalarSeries], + tags: list[str], + output_path: Path, + title: str, + ylabel: str, +) -> None: + plt.figure(figsize=(8, 4.5)) + for tag in tags: + series = scalars.get(tag, []) + if not series: + continue + steps = [step for step, _ in series] + values = [value for _, value in series] + label = tag.removeprefix("train/") + plt.plot(steps, values, label=label, linewidth=1.8) + + plt.title(title) + plt.xlabel("Optimizer step") + plt.ylabel(ylabel) + plt.grid(True, alpha=0.25) + plt.legend(loc="best", fontsize=8) + plt.tight_layout() + output_path.parent.mkdir(parents=True, exist_ok=True) + plt.savefig(output_path, dpi=180) + plt.close() + + +def write_summary(scalars: dict[str, ScalarSeries], output_path: Path) -> None: + summary = {} + for tag, series in sorted(scalars.items()): + if not series: + continue + step, value = series[-1] + summary[tag] = {"step": step, "value": value} + + output_path.parent.mkdir(parents=True, exist_ok=True) + output_path.write_text( + json.dumps(summary, indent=2, sort_keys=True, ensure_ascii=False) + "\n" + ) + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument("--tensorboard-dir", required=True, type=Path) + parser.add_argument("--output-dir", required=True, type=Path) + args = parser.parse_args() + + scalars = load_scalars(args.tensorboard_dir) + + plot_series( + scalars=scalars, + tags=["train/loss"], + output_path=args.output_dir / "train_loss.png", + title="Training loss", + ylabel="Loss", + ) + plot_series( + scalars=scalars, + tags=["train/tau_greedy", "train/tau_probabilistic"], + output_path=args.output_dir / "train_tau.png", + title="Expected accepted length proxies", + ylabel="Tokens", + ) + plot_series( + scalars=scalars, + tags=[f"train/accept_rate@{idx}" for idx in range(7)], + output_path=args.output_dir / "train_accept_rates.png", + title="Per-position acceptance rates", + ylabel="Acceptance rate", + ) + plot_series( + scalars=scalars, + tags=[f"train/accuracy@{idx}" for idx in range(7)], + output_path=args.output_dir / "train_accuracies.png", + title="Per-position token accuracies", + ylabel="Accuracy", + ) + write_summary(scalars, args.output_dir / "train_metric_summary.json") + + +if __name__ == "__main__": + main() From 5d26429c15cad6e803b73d460bf351bbfccde11b Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Fri, 3 Jul 2026 12:23:02 +0000 Subject: [PATCH 14/49] Tighten checkpoint cadence for preemptions --- config/eagle3/eagle3_ministral3_3b.py | 1 + deepspec/trainer/base_trainer.py | 34 +++++++++++++++++++ .../plot_training_metrics.py | 7 ++-- .../train_10k_3000steps.sbatch | 3 +- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/config/eagle3/eagle3_ministral3_3b.py b/config/eagle3/eagle3_ministral3_3b.py index 61d2e12a..fa3c2b53 100644 --- a/config/eagle3/eagle3_ministral3_3b.py +++ b/config/eagle3/eagle3_ministral3_3b.py @@ -35,6 +35,7 @@ logging_steps=10, checkpointing_steps=3000, save_only_checkpointing_steps=None, + keep_last_checkpoints=None, ) data = dict( diff --git a/deepspec/trainer/base_trainer.py b/deepspec/trainer/base_trainer.py index 0f09dbf2..cdb5a517 100644 --- a/deepspec/trainer/base_trainer.py +++ b/deepspec/trainer/base_trainer.py @@ -1,6 +1,7 @@ from contextlib import nullcontext import math import os +import shutil import torch import torch.distributed as dist @@ -331,9 +332,42 @@ def _checkpoint_kwargs(self): def save_train_checkpoint(self): checkpoint_dir = save_checkpoint(**self._checkpoint_kwargs()) + self._prune_checkpoints() dist.barrier() return checkpoint_dir + def _prune_checkpoints(self): + keep_last_checkpoints = int( + getattr(self.args.logging, "keep_last_checkpoints", 0) or 0 + ) + if keep_last_checkpoints <= 0: + return + if not is_global_main_process(): + return + + checkpoints = [] + for name in os.listdir(self.checkpoint_dir_root): + if not name.startswith("step_"): + continue + checkpoint_path = os.path.join(self.checkpoint_dir_root, name) + if not os.path.isdir(checkpoint_path) or os.path.islink(checkpoint_path): + continue + try: + step = int(name.removeprefix("step_")) + except ValueError: + continue + checkpoints.append((step, checkpoint_path)) + + checkpoints.sort() + latest_checkpoint_path = os.path.realpath( + os.path.join(self.checkpoint_dir_root, "step_latest") + ) + for _, checkpoint_path in checkpoints[:-keep_last_checkpoints]: + if os.path.realpath(checkpoint_path) == latest_checkpoint_path: + continue + shutil.rmtree(checkpoint_path) + print_on_global_main(f"Pruned old checkpoint {checkpoint_path}") + def save_and_eval_checkpoint(self): checkpoint_dir = self.save_train_checkpoint() if is_global_main_process(): diff --git a/experiments/ministral3_3b_eagle3/plot_training_metrics.py b/experiments/ministral3_3b_eagle3/plot_training_metrics.py index 11efa05f..45130ffd 100644 --- a/experiments/ministral3_3b_eagle3/plot_training_metrics.py +++ b/experiments/ministral3_3b_eagle3/plot_training_metrics.py @@ -15,10 +15,11 @@ def load_scalars(tensorboard_dir: Path) -> dict[str, ScalarSeries]: scalars = {} for tag in accumulator.Tags()["scalars"]: - scalars[tag] = [ - (int(event.step), float(event.value)) + values_by_step = { + int(event.step): float(event.value) for event in accumulator.Scalars(tag) - ] + } + scalars[tag] = sorted(values_by_step.items()) return scalars diff --git a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch index 26324415..22359b13 100755 --- a/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch +++ b/experiments/ministral3_3b_eagle3/train_10k_3000steps.sbatch @@ -36,4 +36,5 @@ python train.py \ --opts "train.global_batch_size=512" \ --opts "train.max_train_steps=3000" \ --opts "logging.checkpointing_steps=3000" \ - --opts "logging.save_only_checkpointing_steps=50" + --opts "logging.save_only_checkpointing_steps=10" \ + --opts "logging.keep_last_checkpoints=8" From 181b0e8a5025999569370aefd97fb654c84ae187 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Fri, 3 Jul 2026 15:59:07 +0000 Subject: [PATCH 15/49] Add segmented Ministral3 training job --- .../train_10k_segment.sbatch | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100755 experiments/ministral3_3b_eagle3/train_10k_segment.sbatch diff --git a/experiments/ministral3_3b_eagle3/train_10k_segment.sbatch b/experiments/ministral3_3b_eagle3/train_10k_segment.sbatch new file mode 100755 index 00000000..3c5a82a6 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/train_10k_segment.sbatch @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-segment +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${RUN_ROOT}/target_cache_10k +MAX_TRAIN_STEPS=${MAX_TRAIN_STEPS:?Set MAX_TRAIN_STEPS for this segment} + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29661} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b.py \ + --opts "exp_name=eagle3_ttt7_ministral3_3b_10k_3000steps" \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=${MAX_TRAIN_STEPS}" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=10" \ + --opts "logging.keep_last_checkpoints=8" From 1c418bb4ab94fbcde7f14e5ce303e252287388b3 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Fri, 3 Jul 2026 21:02:13 +0000 Subject: [PATCH 16/49] Add eval acceptance comparison plot --- .../plot_training_metrics.py | 89 +++++++++++++++++++ 1 file changed, 89 insertions(+) diff --git a/experiments/ministral3_3b_eagle3/plot_training_metrics.py b/experiments/ministral3_3b_eagle3/plot_training_metrics.py index 45130ffd..9fddbbcd 100644 --- a/experiments/ministral3_3b_eagle3/plot_training_metrics.py +++ b/experiments/ministral3_3b_eagle3/plot_training_metrics.py @@ -8,6 +8,30 @@ ScalarSeries = list[tuple[int, float]] +QWEN3_4B_EAGLE3_ACCEPTANCE_LENGTHS = { + "gsm8k": 5.14, + "math500": 4.62, + "aime25": 3.92, + "mbpp": 3.69, + "humaneval": 4.16, + "livecodebench": 3.77, + "mt-bench": 2.39, + "alpaca": 2.26, + "arena-hard-v2": 2.55, +} + +DATASET_LABELS = { + "gsm8k": "GSM8K", + "math500": "MATH", + "aime25": "AIME25", + "mbpp": "MBPP", + "humaneval": "HumanEval", + "livecodebench": "LCB", + "mt-bench": "MT-Bench", + "alpaca": "Alpaca", + "arena-hard-v2": "Arena-Hard", +} + def load_scalars(tensorboard_dir: Path) -> dict[str, ScalarSeries]: accumulator = EventAccumulator(str(tensorboard_dir), size_guidance={"scalars": 0}) @@ -66,10 +90,73 @@ def write_summary(scalars: dict[str, ScalarSeries], output_path: Path) -> None: ) +def plot_eval_comparison(eval_json_path: Path, output_dir: Path) -> None: + eval_payload = json.loads(eval_json_path.read_text()) + ministral_by_dataset = { + row["dataset"]: float(row["acceptance_length"]) + for row in eval_payload["rows"] + } + datasets = [ + dataset + for dataset in QWEN3_4B_EAGLE3_ACCEPTANCE_LENGTHS + if dataset in ministral_by_dataset + ] + labels = [DATASET_LABELS[dataset] for dataset in datasets] + ministral_values = [ministral_by_dataset[dataset] for dataset in datasets] + qwen_values = [ + QWEN3_4B_EAGLE3_ACCEPTANCE_LENGTHS[dataset] for dataset in datasets + ] + x_positions = list(range(len(datasets))) + bar_width = 0.38 + + plt.figure(figsize=(10, 4.8)) + plt.bar( + [position - bar_width / 2 for position in x_positions], + ministral_values, + width=bar_width, + label="Ministral3-3B Eagle3", + ) + plt.bar( + [position + bar_width / 2 for position in x_positions], + qwen_values, + width=bar_width, + label="Qwen3-4B Eagle3", + ) + plt.xticks(x_positions, labels, rotation=30, ha="right") + plt.ylabel("Accepted length") + plt.title("Final accepted length by benchmark") + plt.grid(True, axis="y", alpha=0.25) + plt.legend(loc="best", fontsize=8) + plt.tight_layout() + output_dir.mkdir(parents=True, exist_ok=True) + plt.savefig(output_dir / "eval_acceptance_comparison.png", dpi=180) + plt.close() + + comparison_rows = [] + for dataset, ministral_value, qwen_value in zip( + datasets, ministral_values, qwen_values, strict=True + ): + comparison_rows.append( + { + "dataset": dataset, + "label": DATASET_LABELS[dataset], + "ministral3_3b_eagle3": ministral_value, + "qwen3_4b_eagle3": qwen_value, + "delta": ministral_value - qwen_value, + } + ) + output_path = output_dir / "eval_acceptance_comparison.json" + output_path.write_text( + json.dumps(comparison_rows, indent=2, sort_keys=True, ensure_ascii=False) + + "\n" + ) + + def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--tensorboard-dir", required=True, type=Path) parser.add_argument("--output-dir", required=True, type=Path) + parser.add_argument("--eval-json", type=Path, default=None) args = parser.parse_args() scalars = load_scalars(args.tensorboard_dir) @@ -103,6 +190,8 @@ def main() -> None: ylabel="Accuracy", ) write_summary(scalars, args.output_dir / "train_metric_summary.json") + if args.eval_json is not None: + plot_eval_comparison(args.eval_json, args.output_dir) if __name__ == "__main__": From 5d1a95add26cbbd269d2c8a4c40605df793934d7 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Sat, 4 Jul 2026 02:04:13 +0000 Subject: [PATCH 17/49] Write eval metrics incrementally --- deepspec/eval/base_evaluator.py | 40 +++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/deepspec/eval/base_evaluator.py b/deepspec/eval/base_evaluator.py index 7db264a1..e9451b96 100644 --- a/deepspec/eval/base_evaluator.py +++ b/deepspec/eval/base_evaluator.py @@ -702,26 +702,38 @@ def record_dataset_metrics( ) self.metrics_rows.append(metrics_row) self.print_dataset_result(metrics_row) + self.write_output_json(complete=False) return metrics_row + def write_output_json(self, *, complete: bool) -> None: + if ( + self.args.output_json is None + or dist.get_rank() != 0 + or not self.metrics_rows + ): + return + output_path = Path(self.args.output_json) + output_path.parent.mkdir(parents=True, exist_ok=True) + tmp_path = output_path.with_suffix(output_path.suffix + ".tmp") + with tmp_path.open("w", encoding="utf-8") as handle: + json.dump( + { + "target_model": self.args.target_name_or_path, + "draft_model": self.args.draft_name_or_path, + "step": self.args.step, + "complete": complete, + "rows": self.metrics_rows, + }, + handle, + indent=2, + ) + tmp_path.replace(output_path) + def report_results(self) -> None: if dist.get_rank() == 0 and self.metrics_rows: if self.args.tensorboard_dir is not None: self.log_tensorboard() - if self.args.output_json is not None: - output_path = Path(self.args.output_json) - output_path.parent.mkdir(parents=True, exist_ok=True) - with output_path.open("w", encoding="utf-8") as handle: - json.dump( - { - "target_model": self.args.target_name_or_path, - "draft_model": self.args.draft_name_or_path, - "step": self.args.step, - "rows": self.metrics_rows, - }, - handle, - indent=2, - ) + self.write_output_json(complete=True) self.print_results() def evaluate(self) -> None: From e04b1f88e225d06e46e1395f2c0a8fc87a5f7a26 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Sat, 4 Jul 2026 03:08:19 +0000 Subject: [PATCH 18/49] Add split eval task launcher --- eval.py | 27 ++++++++- .../eval_10k_3000steps_task_array.sbatch | 55 +++++++++++++++++++ 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 experiments/ministral3_3b_eagle3/eval_10k_3000steps_task_array.sbatch diff --git a/eval.py b/eval.py index 4701d22d..4bb144fa 100644 --- a/eval.py +++ b/eval.py @@ -36,7 +36,18 @@ ("arena-hard-v2", 500), ] -def parse_args(): + +def parse_task_spec(task_spec: str) -> tuple[str, int | None]: + if ":" not in task_spec: + return task_spec, None + + name, max_samples = task_spec.rsplit(":", 1) + if max_samples.lower() == "none": + return name, None + return name, int(max_samples) + + +def parse_args() -> argparse.Namespace: parser = argparse.ArgumentParser() parser.add_argument("--target_name_or_path", type=str, required=True) parser.add_argument("--draft_name_or_path",type=str,required=True) @@ -52,8 +63,20 @@ def parse_args(): parser.add_argument("--output-json", type=str, default=None) parser.add_argument("--step", type=int, default=None,help=("step for tensorboard logging"),) parser.add_argument("--seed", type=int, default=980406) + parser.add_argument( + "--task", + action="append", + default=None, + help=( + "Evaluate only this task. Repeatable. Format is `name` to use all " + "available samples or `name:max_samples` to cap the dataset." + ), + ) args = parser.parse_args() - args.tasks = list(TASKS) + if args.task is None: + args.tasks = list(TASKS) + else: + args.tasks = [parse_task_spec(task_spec) for task_spec in args.task] return args diff --git a/experiments/ministral3_3b_eagle3/eval_10k_3000steps_task_array.sbatch b/experiments/ministral3_3b_eagle3/eval_10k_3000steps_task_array.sbatch new file mode 100644 index 00000000..c29c84d9 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/eval_10k_3000steps_task_array.sbatch @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-evaltask +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:4 +#SBATCH --cpus-per-task=24 +#SBATCH --mem=192G +#SBATCH --time=03:00:00 +#SBATCH --array=1-8%2 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/logs/%x-%A_%a.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +DRAFT_DIR=${HOME}/checkpoints/deepspec/eagle3_ttt7_ministral3_3b_10k_3000steps/step_latest +TB_ROOT=${HOME}/tensorboard/deepspec/eagle3_ttt7_ministral3_3b_10k_3000steps_eval_tasks + +TASK_NAMES=( + gsm8k + math500 + aime25 + humaneval + mbpp + livecodebench + mt-bench + alpaca + arena-hard-v2 +) +TASK_COUNTS=(500 500 30 164 256 500 80 500 500) + +TASK_NAME=${TASK_NAMES[${SLURM_ARRAY_TASK_ID}]} +TASK_COUNT=${TASK_COUNTS[${SLURM_ARRAY_TASK_ID}]} +SAFE_TASK_NAME=${TASK_NAME//[^a-zA-Z0-9]/_} + +mkdir -p "${RUN_ROOT}/logs" +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29681} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_ROOT}/${SAFE_TASK_NAME}" \ + --output-json "${RUN_ROOT}/eval_10k_step3000_${SAFE_TASK_NAME}_metrics.json" \ + --step 3000 \ + --task "${TASK_NAME}:${TASK_COUNT}" From 6137436e763d376000c005dc031ddadf208545de Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Sat, 4 Jul 2026 05:06:20 +0000 Subject: [PATCH 19/49] Add Ministral3 reproduction report --- experiments/ministral3_3b_eagle3/report.md | 66 +++++++++ .../eval_acceptance_comparison.json | 65 +++++++++ .../report_assets/train_metric_summary.json | 134 ++++++++++++++++++ 3 files changed, 265 insertions(+) create mode 100644 experiments/ministral3_3b_eagle3/report.md create mode 100644 experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.json create mode 100644 experiments/ministral3_3b_eagle3/report_assets/train_metric_summary.json diff --git a/experiments/ministral3_3b_eagle3/report.md b/experiments/ministral3_3b_eagle3/report.md new file mode 100644 index 00000000..85d28eed --- /dev/null +++ b/experiments/ministral3_3b_eagle3/report.md @@ -0,0 +1,66 @@ +# Ministral3-3B Eagle3 DeepSpec Reproduction + +This run integrated `mistralai/Ministral-3-3B-Instruct-2512` into the DeepSpec +Eagle3 training and evaluation stack and trained a TTT-7 Eagle3 draft for 3000 +optimizer steps. The final result does not reproduce the Qwen3-4B Eagle3 +accepted-length numbers reported by DeepSpec: the Ministral3-3B macro accepted +length is `2.40`, versus `3.61` for the Qwen3-4B Eagle3 table. + +## Setup + +| Field | Value | +| --- | --- | +| Target model | `mistralai/Ministral-3-3B-Instruct-2512` | +| Draft recipe | Eagle3, TTT length 7 | +| Target layers | `[1, 7, 13, 19, 24]` | +| Training data | 9,907 target-regenerated Open-PerfectBlend samples | +| Max sequence length | 4096 | +| Global batch size | 512 | +| Training steps | 3000 | +| Learning rate | `6e-4` | +| Warmup ratio | `0.04` | +| Grad clipping | `1.0` | +| Final checkpoint | `/mnt/vast/home/andy/checkpoints/deepspec/eagle3_ttt7_ministral3_3b_10k_3000steps/step_latest` | +| Final eval JSON | `/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/eval_10k_step3000_metrics.json` | + +## Training Curves + +The training metrics reached high in-distribution accept-rate proxies by step +3000: `accept_rate@0..6 = 0.783, 0.780, 0.781, 0.779, 0.773, 0.762, 0.741`, +with `tau_greedy = 5.19` and `tau_probabilistic = 4.43`. + +![Training loss](report_assets/train_loss.png) + +![Training tau proxies](report_assets/train_tau.png) + +![Training accept rates](report_assets/train_accept_rates.png) + +![Training accuracies](report_assets/train_accuracies.png) + +## Final Evaluation + +| Dataset | Ministral3-3B Eagle3 accepted length | DeepSpec Qwen3-4B Eagle3 accepted length | Delta | Verify rate | +| --- | ---: | ---: | ---: | ---: | +| GSM8K | 2.84 | 5.14 | -2.30 | 0.357 | +| MATH500 | 3.10 | 4.62 | -1.52 | 0.388 | +| AIME25 | 2.88 | 3.92 | -1.04 | 0.360 | +| MBPP | 2.46 | 3.69 | -1.23 | 0.310 | +| HumanEval | 2.60 | 4.16 | -1.56 | 0.326 | +| LiveCodeBench | 2.27 | 3.77 | -1.50 | 0.283 | +| MT-Bench | 1.89 | 2.39 | -0.50 | 0.237 | +| Alpaca | 1.83 | 2.26 | -0.43 | 0.230 | +| Arena-Hard-v2 | 1.69 | 2.55 | -0.86 | 0.212 | +| **Macro mean** | **2.40** | **3.61** | **-1.22** | **0.300** | + +![Eval accepted length comparison](report_assets/eval_acceptance_comparison.png) + +## Conclusion + +The implementation is functional and the training run converges on the +target-regenerated subset, but the final evaluation is well below the DeepSpec +Qwen3-4B Eagle3 reference. The train/eval gap is large: training accept-rate +metrics finish near `0.74-0.78`, while eval accepted length ranges from `1.69` +to `3.10`. The most likely next reproduction lever is data scale and +distribution, because this run used a 10k regenerated subset rather than the +full target-generated Open-PerfectBlend training corpus used for the published +DeepSpec checkpoints. diff --git a/experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.json b/experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.json new file mode 100644 index 00000000..774d49e0 --- /dev/null +++ b/experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.json @@ -0,0 +1,65 @@ +[ + { + "dataset": "gsm8k", + "delta": -2.296284255273641, + "label": "GSM8K", + "ministral3_3b_eagle3": 2.843715744726359, + "qwen3_4b_eagle3": 5.14 + }, + { + "dataset": "math500", + "delta": -1.5230024237028243, + "label": "MATH", + "ministral3_3b_eagle3": 3.0969975762971758, + "qwen3_4b_eagle3": 4.62 + }, + { + "dataset": "aime25", + "delta": -1.0425132859897475, + "label": "AIME25", + "ministral3_3b_eagle3": 2.8774867140102525, + "qwen3_4b_eagle3": 3.92 + }, + { + "dataset": "mbpp", + "delta": -1.2256578443930595, + "label": "MBPP", + "ministral3_3b_eagle3": 2.4643421556069405, + "qwen3_4b_eagle3": 3.69 + }, + { + "dataset": "humaneval", + "delta": -1.5595768611779173, + "label": "HumanEval", + "ministral3_3b_eagle3": 2.600423138822083, + "qwen3_4b_eagle3": 4.16 + }, + { + "dataset": "livecodebench", + "delta": -1.5047376374946562, + "label": "LCB", + "ministral3_3b_eagle3": 2.265262362505344, + "qwen3_4b_eagle3": 3.77 + }, + { + "dataset": "mt-bench", + "delta": -0.5001109907958854, + "label": "MT-Bench", + "ministral3_3b_eagle3": 1.8898890092041147, + "qwen3_4b_eagle3": 2.39 + }, + { + "dataset": "alpaca", + "delta": -0.42997873936968456, + "label": "Alpaca", + "ministral3_3b_eagle3": 1.8300212606303152, + "qwen3_4b_eagle3": 2.26 + }, + { + "dataset": "arena-hard-v2", + "delta": -0.855662059518115, + "label": "Arena-Hard", + "ministral3_3b_eagle3": 1.6943379404818848, + "qwen3_4b_eagle3": 2.55 + } +] diff --git a/experiments/ministral3_3b_eagle3/report_assets/train_metric_summary.json b/experiments/ministral3_3b_eagle3/report_assets/train_metric_summary.json new file mode 100644 index 00000000..e60f17aa --- /dev/null +++ b/experiments/ministral3_3b_eagle3/report_assets/train_metric_summary.json @@ -0,0 +1,134 @@ +{ + "train/accept_rate@0": { + "step": 3000, + "value": 0.7828433513641357 + }, + "train/accept_rate@1": { + "step": 3000, + "value": 0.7800154685974121 + }, + "train/accept_rate@2": { + "step": 3000, + "value": 0.7808699011802673 + }, + "train/accept_rate@3": { + "step": 3000, + "value": 0.7791018486022949 + }, + "train/accept_rate@4": { + "step": 3000, + "value": 0.7734428644180298 + }, + "train/accept_rate@5": { + "step": 3000, + "value": 0.7620912194252014 + }, + "train/accept_rate@6": { + "step": 3000, + "value": 0.740893542766571 + }, + "train/accuracy@0": { + "step": 3000, + "value": 0.8395382761955261 + }, + "train/accuracy@1": { + "step": 3000, + "value": 0.8423240184783936 + }, + "train/accuracy@2": { + "step": 3000, + "value": 0.848247230052948 + }, + "train/accuracy@3": { + "step": 3000, + "value": 0.851127028465271 + }, + "train/accuracy@4": { + "step": 3000, + "value": 0.8497721552848816 + }, + "train/accuracy@5": { + "step": 3000, + "value": 0.8434146046638489 + }, + "train/accuracy@6": { + "step": 3000, + "value": 0.8280242085456848 + }, + "train/grad_norm": { + "step": 3000, + "value": 0.078125 + }, + "train/loss": { + "step": 3000, + "value": 2.1320221424102783 + }, + "train/lr": { + "step": 3000, + "value": 0.0 + }, + "train/ploss_0": { + "step": 3000, + "value": 0.5350198745727539 + }, + "train/ploss_1": { + "step": 3000, + "value": 0.535610020160675 + }, + "train/ploss_2": { + "step": 3000, + "value": 0.5331065654754639 + }, + "train/ploss_3": { + "step": 3000, + "value": 0.5346406698226929 + }, + "train/ploss_4": { + "step": 3000, + "value": 0.540634036064148 + }, + "train/ploss_5": { + "step": 3000, + "value": 0.552795946598053 + }, + "train/ploss_6": { + "step": 3000, + "value": 0.5760428309440613 + }, + "train/tau_greedy": { + "step": 3000, + "value": 5.192190647125244 + }, + "train/tau_probabilistic": { + "step": 3000, + "value": 4.4316630363464355 + }, + "train/valid_tokens@0": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@1": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@2": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@3": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@4": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@5": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@6": { + "step": 3000, + "value": 8655.0615234375 + } +} From 5ab02fb245d9a6f34a62720dc9dec29058e476b7 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Sat, 4 Jul 2026 05:06:50 +0000 Subject: [PATCH 20/49] Add reproduction report plots --- .../eval_acceptance_comparison.png | Bin 0 -> 67733 bytes .../report_assets/train_accept_rates.png | Bin 0 -> 186518 bytes .../report_assets/train_accuracies.png | Bin 0 -> 152109 bytes .../report_assets/train_loss.png | Bin 0 -> 50957 bytes .../report_assets/train_tau.png | Bin 0 -> 87513 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.png create mode 100644 experiments/ministral3_3b_eagle3/report_assets/train_accept_rates.png create mode 100644 experiments/ministral3_3b_eagle3/report_assets/train_accuracies.png create mode 100644 experiments/ministral3_3b_eagle3/report_assets/train_loss.png create mode 100644 experiments/ministral3_3b_eagle3/report_assets/train_tau.png diff --git a/experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.png b/experiments/ministral3_3b_eagle3/report_assets/eval_acceptance_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..0a47ea8326ca56fd838913f845db58e1ac26ea4f GIT binary patch literal 67733 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 X|vVAub*VkDVW=9UsgKfmgy${3jq~`04JM|M~{S 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

a_no}>}XsueV@~R%(|l0x$1({rWF^( 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 literal 0 HcmV?d00001 diff --git a/experiments/ministral3_3b_eagle3/report_assets/train_tau.png b/experiments/ministral3_3b_eagle3/report_assets/train_tau.png new file mode 100644 index 0000000000000000000000000000000000000000..f4afcca469d4cc1ec86899ca98b7459dd83cd1bc GIT binary patch literal 87513 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 z�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 P^5x3eUbC`aUiHpzjw_V) literal 0 HcmV?d00001 diff --git a/experiments/ministral3_3b_followup/report_assets/train_loss.png b/experiments/ministral3_3b_followup/report_assets/train_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..8d015a3b1848b9a9e06475d8dd243bc2a602c416 GIT binary patch literal 95935 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 z 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 literal 0 HcmV?d00001

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 KBYV%Wi~j~9i+f7| literal 0 HcmV?d00001 From ceb810f570dfcbb4598dd002e2153c4364232b85 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 11:52:49 +0000 Subject: [PATCH 21/49] Add Eagle3 e2e TV loss mode --- config/eagle3/eagle3_ministral3_3b.py | 1 + config/eagle3/eagle3_ministral3_3b_e2e_tv.py | 20 ++++++ deepspec/modeling/eagle3/loss.py | 74 +++++++++++++++++--- deepspec/trainer/eagle3_trainer.py | 1 + 4 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 config/eagle3/eagle3_ministral3_3b_e2e_tv.py diff --git a/config/eagle3/eagle3_ministral3_3b.py b/config/eagle3/eagle3_ministral3_3b.py index fa3c2b53..6f2a8de4 100644 --- a/config/eagle3/eagle3_ministral3_3b.py +++ b/config/eagle3/eagle3_ministral3_3b.py @@ -13,6 +13,7 @@ target_layer_ids=[1, 7, 13, 19, 24], ttt_length=7, step_loss_decay=0.8, + loss_type="soft_ce", draft_num_hidden_layers=1, ) diff --git a/config/eagle3/eagle3_ministral3_3b_e2e_tv.py b/config/eagle3/eagle3_ministral3_3b_e2e_tv.py new file mode 100644 index 00000000..cf15a444 --- /dev/null +++ b/config/eagle3/eagle3_ministral3_3b_e2e_tv.py @@ -0,0 +1,20 @@ +import os + +from config.eagle3.eagle3_ministral3_3b import * # noqa: F403 + +BASE_TB_DIR = "/mnt/vast/runs/andy/deepspec_tensorboard" +BASE_CKPT_DIR = "/mnt/vast/runs/andy/deepspec_checkpoints" +exp_name = "eagle3_ttt7_ministral3_3b_e2e_tv" +model = dict(model) # noqa: F405 +model["loss_type"] = "e2e_tv" + + +def finalize_cfg(cfg): + logging_cfg = dict(cfg["logging"]) + project_name = str(cfg["project_name"]) + exp_name = str(cfg["exp_name"]) + logging_cfg["checkpoint_dir"] = os.path.join(BASE_CKPT_DIR, project_name, exp_name) + logging_cfg["tensorboard_dir"] = os.path.join(BASE_TB_DIR, project_name, exp_name) + cfg["logging"] = logging_cfg + + return cfg diff --git a/deepspec/modeling/eagle3/loss.py b/deepspec/modeling/eagle3/loss.py index 163081d1..1a554fae 100644 --- a/deepspec/modeling/eagle3/loss.py +++ b/deepspec/modeling/eagle3/loss.py @@ -158,6 +158,31 @@ def _log_eagle3_prefix_metrics( add_metric("tau_probabilistic", tau_prob_sum, den=tau_count, tag="train") +def _compute_tv_acceptance_mask( + *, + draft_logits: torch.Tensor, + target_probs: torch.Tensor, + position_mask: torch.Tensor, +) -> torch.Tensor: + draft_probs = torch.softmax(draft_logits.float(), dim=-1) + overlap = torch.minimum(draft_probs, target_probs.float()).sum(dim=-1) + valid_mask = position_mask.squeeze(-1).to(torch.float32) + return overlap * valid_mask + + +def _compute_e2e_tv_loss( + *, + accept_rate_masks: list[torch.Tensor], + start_valid_mask: torch.Tensor, +) -> torch.Tensor: + accept_rate_tensor = torch.stack(accept_rate_masks, dim=0).to(torch.float32) + prefix_acceptance = accept_rate_tensor.cumprod(dim=0).sum(dim=0) + normalized_acceptance = prefix_acceptance / float(len(accept_rate_masks)) + per_position_loss = (1.0 - normalized_acceptance) * start_valid_mask + denominator = start_valid_mask.sum().clamp_min(1.0) + return per_position_loss.sum() / denominator + + @triton.jit def _log_softmax_forward_kernel( logits_ptr, @@ -357,6 +382,7 @@ def compute_eagle3_loss( batch: dict[str, torch.Tensor], ttt_length: int, step_loss_decay: float, + loss_type: str = "soft_ce", ) -> torch.Tensor: input_ids = batch["input_ids"].long() attention_mask = batch["attention_mask"].long() @@ -398,7 +424,13 @@ def compute_eagle3_loss( correct_masks = [] accept_rate_masks = [] + tv_accept_rate_masks = [] valid_masks = [] + loss_type = str(loss_type) + assert loss_type in ("soft_ce", "e2e_tv"), ( + "loss_type must be one of {'soft_ce', 'e2e_tv'}, " + f"got {loss_type!r}." + ) for step_idx in range(int(ttt_length)): # Keep this slice alignment in sync with the Eagle3 reference. target_step_probs = target_probs[ @@ -427,21 +459,43 @@ def compute_eagle3_loss( correct_masks.append(correct_mask) accept_rate_masks.append(accept_rate_mask) valid_masks.append(valid_mask) - step_loss = FusedLogSoftmaxLoss.apply( - output.draft_logits, - target_step_probs, - position_mask_step, - loss_normalizers[step_idx], + if loss_type == "soft_ce": + step_loss = FusedLogSoftmaxLoss.apply( + output.draft_logits, + target_step_probs, + position_mask_step, + loss_normalizers[step_idx], + ) + add_metric( + f"ploss_{step_idx}", + step_loss.detach(), + reduction="dp_mean", + tag="train", + ) + step_weight = float(step_loss_decay) ** step_idx + total_loss = total_loss + step_loss * step_weight + else: + tv_accept_rate_masks.append( + _compute_tv_acceptance_mask( + draft_logits=output.draft_logits, + target_probs=target_step_probs, + position_mask=position_mask_step, + ) + ) + current_input_ids = _shift_with_zero_padding(current_input_ids, left=False) + + if loss_type == "e2e_tv": + start_valid_mask = valid_masks[0].to(torch.float32) + total_loss = _compute_e2e_tv_loss( + accept_rate_masks=tv_accept_rate_masks, + start_valid_mask=start_valid_mask, ) add_metric( - f"ploss_{step_idx}", - step_loss.detach(), + "e2e_tv_loss", + total_loss.detach(), reduction="dp_mean", tag="train", ) - step_weight = float(step_loss_decay) ** step_idx - total_loss = total_loss + step_loss * step_weight - current_input_ids = _shift_with_zero_padding(current_input_ids, left=False) _log_eagle3_prefix_metrics( correct_masks=correct_masks, diff --git a/deepspec/trainer/eagle3_trainer.py b/deepspec/trainer/eagle3_trainer.py index f0335fd6..6afe3659 100644 --- a/deepspec/trainer/eagle3_trainer.py +++ b/deepspec/trainer/eagle3_trainer.py @@ -74,6 +74,7 @@ def run_batch(self, batch): batch=batch, ttt_length=int(self.draft_model.ttt_length), step_loss_decay=float(self.draft_model.step_loss_decay), + loss_type=str(getattr(self.args.model, "loss_type", "soft_ce")), ) From 7a4478916b3a40fc5c08a8ecd1668806efa1cbf7 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 11:53:00 +0000 Subject: [PATCH 22/49] Add Ministral3 DSpark support --- config/dspark/dspark_ministral3_3b.py | 65 +++ deepspec/eval/__init__.py | 7 +- deepspec/eval/dspark/__init__.py | 7 +- deepspec/eval/dspark/draft_ops.py | 3 +- deepspec/eval/dspark/evaluator.py | 12 +- deepspec/modeling/__init__.py | 2 + deepspec/modeling/dspark/__init__.py | 2 + .../modeling/dspark/ministral3/__init__.py | 5 + deepspec/modeling/dspark/ministral3/config.py | 73 +++ .../modeling/dspark/ministral3/modeling.py | 547 ++++++++++++++++++ deepspec/trainer/__init__.py | 7 +- deepspec/trainer/dspark_trainer.py | 53 ++ eval.py | 7 +- 13 files changed, 782 insertions(+), 8 deletions(-) create mode 100644 config/dspark/dspark_ministral3_3b.py create mode 100644 deepspec/modeling/dspark/ministral3/__init__.py create mode 100644 deepspec/modeling/dspark/ministral3/config.py create mode 100644 deepspec/modeling/dspark/ministral3/modeling.py diff --git a/config/dspark/dspark_ministral3_3b.py b/config/dspark/dspark_ministral3_3b.py new file mode 100644 index 00000000..35ad9c26 --- /dev/null +++ b/config/dspark/dspark_ministral3_3b.py @@ -0,0 +1,65 @@ +import os + +from deepspec.trainer import Ministral3DSparkTrainer + +BASE_TB_DIR = "/mnt/vast/runs/andy/deepspec_tensorboard" +BASE_CKPT_DIR = "/mnt/vast/runs/andy/deepspec_checkpoints" +project_name = "deepspec" +exp_name = "dspark_block7_ministral3_3b" +seed = 42 + +model = dict( + target_model_name_or_path="mistralai/Ministral-3-3B-Instruct-2512", + block_size=7, + num_draft_layers=5, + target_layer_ids=[1, 7, 13, 19, 24], + mask_token_id=11, + num_anchors=512, + markov_rank=256, + markov_head_type="vanilla", + confidence_head_alpha=1.0, + confidence_head_with_markov=True, + loss_decay_gamma=4.0, + ce_loss_alpha=0.1, + l1_loss_alpha=0.9, +) + +train = dict( + trainer_cls=Ministral3DSparkTrainer, + lr=6.0e-4, + warmup_ratio=0.04, + weight_decay=0.0, + precision="bf16", + local_batch_size=1, + global_batch_size=512, + num_train_epochs=10, + max_train_steps=None, + max_grad_norm=1.0, + sharding_strategy="no_shard", + torch_compile=False, +) + +logging = dict( + logging_steps=10, + checkpointing_steps=3000, + save_only_checkpointing_steps=None, + keep_last_checkpoints=None, +) + +data = dict( + target_cache_path=None, + chat_template="ministral3", + max_length=4096, + num_workers=4, +) + + +def finalize_cfg(cfg): + logging_cfg = dict(cfg["logging"]) + project_name = str(cfg["project_name"]) + exp_name = str(cfg["exp_name"]) + logging_cfg["checkpoint_dir"] = os.path.join(BASE_CKPT_DIR, project_name, exp_name) + logging_cfg["tensorboard_dir"] = os.path.join(BASE_TB_DIR, project_name, exp_name) + cfg["logging"] = logging_cfg + + return cfg diff --git a/deepspec/eval/__init__.py b/deepspec/eval/__init__.py index 7b341c2f..8f74026a 100644 --- a/deepspec/eval/__init__.py +++ b/deepspec/eval/__init__.py @@ -1,5 +1,9 @@ from .base_evaluator import BaseEvaluator, DraftProposal, VerificationResult -from .dspark import Gemma4DSparkEvaluator, Qwen3DSparkEvaluator +from .dspark import ( + Gemma4DSparkEvaluator, + Ministral3DSparkEvaluator, + Qwen3DSparkEvaluator, +) from .eagle3 import ( Gemma4Eagle3Evaluator, Ministral3Eagle3Evaluator, @@ -11,6 +15,7 @@ "DraftProposal", "Gemma4Eagle3Evaluator", "Gemma4DSparkEvaluator", + "Ministral3DSparkEvaluator", "Ministral3Eagle3Evaluator", "Qwen3Eagle3Evaluator", "Qwen3DSparkEvaluator", diff --git a/deepspec/eval/dspark/__init__.py b/deepspec/eval/dspark/__init__.py index 2126a6cc..6bfd295e 100644 --- a/deepspec/eval/dspark/__init__.py +++ b/deepspec/eval/dspark/__init__.py @@ -1,4 +1,8 @@ -from .evaluator import Gemma4DSparkEvaluator, Qwen3DSparkEvaluator +from .evaluator import ( + Gemma4DSparkEvaluator, + Ministral3DSparkEvaluator, + Qwen3DSparkEvaluator, +) from .draft_ops import ( DSparkDraftProposal, build_dspark_proposal, @@ -8,6 +12,7 @@ __all__ = [ "Gemma4DSparkEvaluator", + "Ministral3DSparkEvaluator", "Qwen3DSparkEvaluator", "DSparkDraftProposal", "build_dspark_proposal", diff --git a/deepspec/eval/dspark/draft_ops.py b/deepspec/eval/dspark/draft_ops.py index 753a56d9..42f3cb01 100644 --- a/deepspec/eval/dspark/draft_ops.py +++ b/deepspec/eval/dspark/draft_ops.py @@ -8,10 +8,11 @@ from deepspec.eval.base_evaluator import DraftProposal from deepspec.utils.sampling import logits_to_probs from deepspec.modeling.dspark.gemma4 import Gemma4DSparkModel +from deepspec.modeling.dspark.ministral3 import Ministral3DSparkModel from deepspec.modeling.dspark.qwen3 import Qwen3DSparkModel -DSparkModel = Qwen3DSparkModel | Gemma4DSparkModel +DSparkModel = Qwen3DSparkModel | Gemma4DSparkModel | Ministral3DSparkModel @dataclass diff --git a/deepspec/eval/dspark/evaluator.py b/deepspec/eval/dspark/evaluator.py index eba2b34d..3ffa3ac3 100644 --- a/deepspec/eval/dspark/evaluator.py +++ b/deepspec/eval/dspark/evaluator.py @@ -4,7 +4,7 @@ from types import SimpleNamespace import torch -from transformers import AutoModelForCausalLM, AutoTokenizer, DynamicCache +from transformers import AutoTokenizer, DynamicCache from deepspec.eval.base_evaluator import ( BaseEvaluator, @@ -21,7 +21,9 @@ ) from deepspec.modeling.dspark.common import extract_context_feature from deepspec.modeling.dspark.gemma4 import Gemma4DSparkModel +from deepspec.modeling.dspark.ministral3 import Ministral3DSparkModel from deepspec.modeling.dspark.qwen3 import Qwen3DSparkModel +from deepspec.modeling.target_utils import load_target_causal_lm, load_target_tokenizer from deepspec.utils import jsonable @@ -66,7 +68,7 @@ def _build_confidence_head_recorder(self) -> ConfidenceHeadRecorder | None: ) def build_models(self) -> tuple[object, Qwen3DSparkModel, AutoTokenizer]: - target_model = AutoModelForCausalLM.from_pretrained( + target_model = load_target_causal_lm( self.args.target_name_or_path, dtype=torch.bfloat16, attn_implementation=self.EVAL_ATTN_IMPLEMENTATION, @@ -79,7 +81,7 @@ def build_models(self) -> tuple[object, Qwen3DSparkModel, AutoTokenizer]: ).to(self.device).eval() assert_no_final_target_layer(target_model, draft_model.target_layer_ids) assert 0.0 <= float(self.args.confidence_threshold) <= 1.0 - tokenizer = AutoTokenizer.from_pretrained(self.args.target_name_or_path) + tokenizer = load_target_tokenizer(self.args.target_name_or_path) return target_model, draft_model, tokenizer def _init_context( @@ -223,3 +225,7 @@ def print_results(self) -> None: class Gemma4DSparkEvaluator(Qwen3DSparkEvaluator): draft_model_cls = Gemma4DSparkModel + + +class Ministral3DSparkEvaluator(Qwen3DSparkEvaluator): + draft_model_cls = Ministral3DSparkModel diff --git a/deepspec/modeling/__init__.py b/deepspec/modeling/__init__.py index 216fd4d5..81637fcd 100644 --- a/deepspec/modeling/__init__.py +++ b/deepspec/modeling/__init__.py @@ -5,6 +5,7 @@ from .dspark import ( DSparkForwardOutput, Gemma4DSparkModel, + Ministral3DSparkModel, Qwen3DSparkModel, ) from .eagle3 import Gemma4Eagle3Model, Qwen3Eagle3Model @@ -13,6 +14,7 @@ "DSparkForwardOutput", "Gemma4Eagle3Model", "Gemma4DSparkModel", + "Ministral3DSparkModel", "Qwen3Eagle3Model", "Qwen3DSparkModel", ] diff --git a/deepspec/modeling/dspark/__init__.py b/deepspec/modeling/dspark/__init__.py index 723b008d..ee2473fd 100644 --- a/deepspec/modeling/dspark/__init__.py +++ b/deepspec/modeling/dspark/__init__.py @@ -1,10 +1,12 @@ from .common import DSparkForwardOutput, extract_context_feature from .gemma4 import Gemma4DSparkModel +from .ministral3 import Ministral3DSparkModel from .qwen3 import Qwen3DSparkModel __all__ = [ "DSparkForwardOutput", "extract_context_feature", "Gemma4DSparkModel", + "Ministral3DSparkModel", "Qwen3DSparkModel", ] diff --git a/deepspec/modeling/dspark/ministral3/__init__.py b/deepspec/modeling/dspark/ministral3/__init__.py new file mode 100644 index 00000000..70ed1c50 --- /dev/null +++ b/deepspec/modeling/dspark/ministral3/__init__.py @@ -0,0 +1,5 @@ +from .modeling import Ministral3DSparkModel + +__all__ = [ + "Ministral3DSparkModel", +] diff --git a/deepspec/modeling/dspark/ministral3/config.py b/deepspec/modeling/dspark/ministral3/config.py new file mode 100644 index 00000000..8d49a19e --- /dev/null +++ b/deepspec/modeling/dspark/ministral3/config.py @@ -0,0 +1,73 @@ +import copy + +from deepspec.modeling.dspark.common import validate_target_layer_ids + + +TRAIN_ATTN_IMPLEMENTATION = "flex_attention" + + +def build_draft_config( + target_config, + model_args, +): + assert target_config.model_type == "mistral3", ( + "Ministral3 DSpark expects the top-level Mistral3 target config, " + f"got model_type={target_config.model_type!r}." + ) + text_config = copy.deepcopy(target_config.text_config) + assert text_config.model_type == "ministral3", ( + "Ministral3 DSpark expects target_config.text_config.model_type to be " + f"'ministral3', got {text_config.model_type!r}." + ) + num_target_layers = int(text_config.num_hidden_layers) + num_draft_layers = int(model_args.num_draft_layers) + layer_types = ["full_attention"] * num_draft_layers + assert "target_layer_ids" in model_args, "target_layer_ids must be provided." + target_layer_ids = validate_target_layer_ids( + model_args.target_layer_ids, + num_target_layers, + ) + + confidence_head_alpha = float(model_args.confidence_head_alpha) + assert confidence_head_alpha >= 0.0 + enable_confidence_head = confidence_head_alpha > 0.0 + if enable_confidence_head: + assert "confidence_head_with_markov" in model_args, ( + "confidence_head_with_markov must be provided when " + "confidence_head_alpha > 0." + ) + markov_rank = int(model_args.markov_rank) + assert markov_rank >= 0, f"markov_rank must be >= 0, got {markov_rank}" + if markov_rank > 0: + assert "markov_head_type" in model_args, ( + "markov_head_type must be provided when markov_rank > 0." + ) + + draft_config = text_config + draft_config.architectures = ["Ministral3DSparkModel"] + draft_config.target_model_type = str(target_config.model_type) + draft_config.target_text_model_type = str(text_config.model_type) + draft_config.target_model_name_or_path = str(model_args.target_model_name_or_path) + draft_config.num_target_layers = num_target_layers + draft_config.num_hidden_layers = num_draft_layers + draft_config.block_size = int(model_args.block_size) + draft_config.tie_word_embeddings = False + draft_config.layer_types = layer_types + draft_config._attn_implementation = TRAIN_ATTN_IMPLEMENTATION + draft_config.mask_token_id = int(model_args.mask_token_id) + draft_config.target_layer_ids = target_layer_ids + draft_config.num_anchors = int(model_args.num_anchors) + draft_config.enable_confidence_head = enable_confidence_head + if enable_confidence_head: + draft_config.confidence_head_with_markov = bool( + model_args.confidence_head_with_markov + ) + draft_config.markov_rank = markov_rank + if markov_rank > 0: + draft_config.markov_head_type = str(model_args.markov_head_type) + return draft_config + + +__all__ = [ + "build_draft_config", +] diff --git a/deepspec/modeling/dspark/ministral3/modeling.py b/deepspec/modeling/dspark/ministral3/modeling.py new file mode 100644 index 00000000..9c5ac108 --- /dev/null +++ b/deepspec/modeling/dspark/ministral3/modeling.py @@ -0,0 +1,547 @@ +from __future__ import annotations + +from typing import Callable, Optional + +import torch +from torch import nn + +from transformers.cache_utils import Cache +from transformers.models.ministral3.modeling_ministral3 import ( + ALL_ATTENTION_FUNCTIONS, + FlashAttentionKwargs, + GradientCheckpointingLayer, + Ministral3MLP, + Ministral3PreTrainedModel, + Ministral3RMSNorm, + Ministral3RotaryEmbedding, + eager_attention_forward, + get_llama_4_attn_scale, + rotate_half, +) +from typing_extensions import Tuple, Unpack + +from deepspec.modeling.dspark.common import ( + AcceptRatePredictor, + DSparkForwardOutput, + build_eval_mask, + create_dspark_attention_mask, + create_noise_embed, + create_position_ids, + log_sampler_stats, + sample_anchor_positions, +) +from deepspec.modeling.dspark.markov_head import build_markov_head +from deepspec.utils.sampling import sample_tokens + + +def apply_rotary_pos_emb(q, k, cos, sin, unsqueeze_dim=1): + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_len = q.size(-2) + q_embed = (q * cos[..., -q_len:, :]) + (rotate_half(q) * sin[..., -q_len:, :]) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +class Ministral3DSparkAttention(nn.Module): + def __init__(self, config, layer_idx: int): + super().__init__() + self.config = config + self.layer_idx = layer_idx + self.head_dim = getattr( + config, "head_dim", config.hidden_size // config.num_attention_heads + ) + self.num_attention_heads = config.num_attention_heads + self.num_key_value_heads = config.num_key_value_heads + self.num_key_value_groups = ( + self.num_attention_heads // self.num_key_value_heads + ) + self.scaling = self.head_dim**-0.5 + self.attention_dropout = config.attention_dropout + self.is_causal = False + attention_bias = bool(getattr(config, "attention_bias", False)) + self.q_proj = nn.Linear( + config.hidden_size, + self.num_attention_heads * self.head_dim, + bias=attention_bias, + ) + self.k_proj = nn.Linear( + config.hidden_size, + self.num_key_value_heads * self.head_dim, + bias=attention_bias, + ) + self.v_proj = nn.Linear( + config.hidden_size, + self.num_key_value_heads * self.head_dim, + bias=attention_bias, + ) + self.o_proj = nn.Linear( + self.num_attention_heads * self.head_dim, + config.hidden_size, + bias=attention_bias, + ) + self.sliding_window = ( + config.sliding_window + if config.layer_types[layer_idx] == "sliding_attention" + else None + ) + + def forward( + self, + hidden_states: torch.Tensor, + target_hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: Optional[torch.Tensor], + position_ids: torch.LongTensor, + past_key_values: Optional[Cache] = None, + cache_position: Optional[torch.LongTensor] = None, + **kwargs: Unpack[FlashAttentionKwargs], + ) -> tuple[torch.Tensor, Optional[torch.Tensor]]: + bsz, q_len = hidden_states.shape[:-1] + ctx_len = target_hidden_states.shape[1] + q = self.q_proj(hidden_states).view( + bsz, q_len, self.num_attention_heads, self.head_dim + ) + q = q.transpose(1, 2) + k_ctx = self.k_proj(target_hidden_states) + k_noise = self.k_proj(hidden_states) + v_ctx = self.v_proj(target_hidden_states) + v_noise = self.v_proj(hidden_states) + k = torch.cat([k_ctx, k_noise], dim=1).view( + bsz, ctx_len + q_len, self.num_key_value_heads, self.head_dim + ) + v = torch.cat([v_ctx, v_noise], dim=1).view( + bsz, ctx_len + q_len, self.num_key_value_heads, self.head_dim + ) + k = k.transpose(1, 2) + v = v.transpose(1, 2) + cos, sin = position_embeddings + q, k = apply_rotary_pos_emb(q, k, cos, sin) + q_position_ids = position_ids[:, -q_len:] + q = q * get_llama_4_attn_scale( + q_position_ids, + self.config.rope_parameters.get("llama_4_scaling_beta"), + self.config.rope_parameters.get("original_max_position_embeddings"), + ).to(q.dtype) + if past_key_values is not None: + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position} + k, v = past_key_values.update(k, v, self.layer_idx, cache_kwargs) + if ( + self.config._attn_implementation == "flex_attention" + and self.num_key_value_groups > 1 + ): + kv_seq_len = k.shape[-2] + k = k.repeat_interleave(self.num_key_value_groups, dim=1) + v = v.repeat_interleave(self.num_key_value_groups, dim=1) + k = k.reshape(bsz, self.num_attention_heads, kv_seq_len, self.head_dim) + v = v.reshape(bsz, self.num_attention_heads, kv_seq_len, self.head_dim) + attn_fn: Callable = ALL_ATTENTION_FUNCTIONS.get_interface( + self.config._attn_implementation, + eager_attention_forward, + ) + attn_is_causal = bool(kwargs.get("is_causal", False)) + # The SDPA path may consult module.is_causal when dispatching kernels, + # so keep the per-call value mirrored on the module before invoking it. + self.is_causal = attn_is_causal + kwargs["is_causal"] = attn_is_causal + attn_output, attn_weights = attn_fn( + self, + q, + k, + v, + attention_mask, + dropout=0.0 if not self.training else self.attention_dropout, + scaling=self.scaling, + sliding_window=self.sliding_window, + **kwargs, + ) + attn_output = attn_output.reshape( + bsz, q_len, self.num_attention_heads * self.head_dim + ) + return self.o_proj(attn_output), attn_weights + + +class Ministral3DSparkDecoderLayer(GradientCheckpointingLayer): + def __init__(self, config, layer_idx: int): + super().__init__() + self.hidden_size = config.hidden_size + self.self_attn = Ministral3DSparkAttention(config=config, layer_idx=layer_idx) + self.mlp = Ministral3MLP(config) + self.input_layernorm = Ministral3RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = Ministral3RMSNorm( + config.hidden_size, eps=config.rms_norm_eps + ) + + def forward( + self, + target_hidden_states: Optional[torch.Tensor] = None, + hidden_states: Optional[torch.Tensor] = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: Optional[bool] = False, + use_cache: Optional[bool] = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[ + Tuple[torch.Tensor, torch.Tensor] + ] = None, + **kwargs: Unpack[FlashAttentionKwargs], + ) -> Tuple[torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]]]: + residual = hidden_states + hidden_states = self.input_layernorm(hidden_states) + hidden_states = self.self_attn( + hidden_states=hidden_states, + target_hidden_states=target_hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + **kwargs, + )[0] + hidden_states = residual + hidden_states + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + return residual + hidden_states + + +class Ministral3DSparkModel(Ministral3PreTrainedModel): + _no_split_modules = ["Ministral3DSparkDecoderLayer"] + + def __init__(self, config) -> None: + super().__init__(config) + self.config = config + required_fields = ( + "target_layer_ids", + "mask_token_id", + "num_anchors", + "enable_confidence_head", + "markov_rank", + ) + for field in required_fields: + assert hasattr(config, field), f"config.{field} must be provided." + if int(config.markov_rank) > 0: + assert hasattr(config, "markov_head_type"), ( + "config.markov_head_type must be provided when markov_rank > 0." + ) + if bool(config.enable_confidence_head): + assert hasattr(config, "confidence_head_with_markov"), ( + "config.confidence_head_with_markov must be provided when " + "enable_confidence_head is true." + ) + self.target_layer_ids = config.target_layer_ids + + self.embed_tokens = nn.Embedding( + config.vocab_size, + config.hidden_size, + padding_idx=getattr(config, "pad_token_id", None), + ) + self.layers = nn.ModuleList( + [ + Ministral3DSparkDecoderLayer(config, layer_idx) + for layer_idx in range(config.num_hidden_layers) + ] + ) + self.norm = Ministral3RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.rotary_emb = Ministral3RotaryEmbedding(config) + self.fc = nn.Linear( + len(self.target_layer_ids) * config.hidden_size, + config.hidden_size, + bias=False, + ) + self.hidden_norm = Ministral3RMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + self.block_size = int(config.block_size) + self.mask_token_id = config.mask_token_id + self.num_anchors = int(config.num_anchors) + + # Markov head. + self.markov_head = build_markov_head(config) + + # Confidence head. + self.enable_confidence_head = bool(config.enable_confidence_head) + self.confidence_head_with_markov = False + if self.enable_confidence_head: + self.confidence_head_with_markov = bool(config.confidence_head_with_markov) + if self.enable_confidence_head and self.confidence_head_with_markov: + assert self.markov_head is not None + + self.confidence_head = None + if self.enable_confidence_head: + input_dim = int(config.hidden_size) + if self.confidence_head_with_markov: + input_dim += config.markov_rank + self.confidence_head = AcceptRatePredictor(input_dim=input_dim) + self.post_init() + + def initialize_embeddings_and_head( + self, + *, + embed_tokens: nn.Module, + lm_head: nn.Module, + freeze: bool = True, + ): + assert self.embed_tokens.weight.shape == embed_tokens.weight.shape + assert self.lm_head.weight.shape == lm_head.weight.shape + with torch.no_grad(): + self.embed_tokens.weight.copy_(embed_tokens.weight.detach()) + self.lm_head.weight.copy_(lm_head.weight.detach()) + if freeze: + self.set_embedding_head_trainable(False) + + def set_embedding_head_trainable(self, trainable: bool): + self.embed_tokens.requires_grad_(trainable) + self.lm_head.requires_grad_(trainable) + + def compute_logits(self, hidden_states: torch.Tensor) -> torch.Tensor: + return self.lm_head(hidden_states) + + def predict_confidence_step( + self, + hidden_states: torch.Tensor, + prev_token_ids: Optional[torch.Tensor] = None, + ) -> Optional[torch.Tensor]: + if self.confidence_head is None: + return None + if self.confidence_head_with_markov: + assert self.markov_head is not None + assert prev_token_ids is not None + prev_embeddings = self.markov_head.get_prev_embeddings(prev_token_ids).to( + dtype=hidden_states.dtype + ) + features = torch.cat([hidden_states, prev_embeddings], dim=-1) + return self.confidence_head(features).float() + return self.confidence_head(hidden_states).float() + + def sample_draft_tokens( + self, + base_logits: torch.Tensor, + *, + first_prev_token_ids: torch.Tensor, + temperature: float = 0.0, + hidden_states: Optional[torch.Tensor] = None, + ) -> tuple[torch.Tensor, torch.Tensor]: + batch_size, proposal_len = base_logits.shape[:2] + if proposal_len == 0: + empty_tokens = torch.empty( + batch_size, + 0, + dtype=torch.long, + device=base_logits.device, + ) + return empty_tokens, base_logits + if self.markov_head is None: + return sample_tokens(base_logits, temperature), base_logits + return self.markov_head.sample_block_tokens( + base_logits, + first_prev_token_ids=first_prev_token_ids, + hidden_states=hidden_states, + temperature=temperature, + ) + + def sample_draft_token_step( + self, + base_logits: torch.Tensor, + *, + prev_token_ids: torch.Tensor, + temperature: float = 0.0, + hidden_states: Optional[torch.Tensor] = None, + ) -> tuple[torch.Tensor, torch.Tensor]: + assert base_logits.ndim == 2, ( + "sample_draft_token_step expects base_logits shaped [batch, vocab], " + f"got {tuple(base_logits.shape)}." + ) + if self.markov_head is None: + step_logits = base_logits + else: + step_logits = self.markov_head.apply_step_logits( + base_logits, + token_ids=prev_token_ids, + hidden_states=hidden_states, + ) + sampled_token_ids = sample_tokens( + step_logits.unsqueeze(1), + temperature=temperature, + ).squeeze(1) + return sampled_token_ids, step_logits + + def _forward_backbone( + self, + *, + position_ids: torch.LongTensor, + attention_mask: Optional[torch.Tensor] = None, + noise_embedding: Optional[torch.Tensor] = None, + target_hidden_states: Optional[torch.Tensor] = None, + past_key_values: Optional[Cache] = None, + use_cache: bool = False, + **kwargs, + ) -> torch.Tensor: + hidden_states = noise_embedding + target_hidden_states = self.hidden_norm(self.fc(target_hidden_states)) + position_embeddings = self.rotary_emb(hidden_states, position_ids) + for layer in self.layers: + hidden_states = layer( + hidden_states=hidden_states, + target_hidden_states=target_hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_values, + use_cache=use_cache, + position_embeddings=position_embeddings, + **kwargs, + ) + return self.norm(hidden_states) + + def forward( + self, + input_ids: torch.Tensor, + target_hidden_states: torch.Tensor, + loss_mask: torch.Tensor, + target_last_hidden_states: Optional[torch.Tensor] = None, + ) -> DSparkForwardOutput: + bsz, seq_len = input_ids.shape + device = input_ids.device + + anchor_positions, block_keep_mask = sample_anchor_positions( + seq_len=seq_len, + loss_mask=loss_mask, + num_anchors=self.num_anchors, + device=device, + ) + noise_embedding = create_noise_embed( + self.embed_tokens, + input_ids, + anchor_positions, + block_keep_mask, + mask_token_id=self.mask_token_id, + block_size=self.block_size, + ) + context_position_ids = torch.arange(seq_len, device=device).unsqueeze(0).expand( + bsz, -1 + ) + draft_position_ids = create_position_ids(anchor_positions, self.block_size) + full_position_ids = torch.cat( + [context_position_ids, draft_position_ids], + dim=1, + ) + dspark_attn_mask = create_dspark_attention_mask( + anchor_positions=anchor_positions, + block_keep_mask=block_keep_mask, + seq_len=seq_len, + block_size=self.block_size, + device=device, + ) + output_hidden = self._forward_backbone( + position_ids=full_position_ids, + noise_embedding=noise_embedding, + target_hidden_states=target_hidden_states, + attention_mask=dspark_attn_mask, + ) + + num_blocks = anchor_positions.size(1) + output_hidden_4d = output_hidden.reshape(bsz, num_blocks, self.block_size, -1) + + label_offsets = torch.arange(1, self.block_size + 1, device=device).view( + 1, 1, -1 + ) + label_indices = anchor_positions.unsqueeze(-1) + label_offsets + safe_label_indices = label_indices.clamp(max=seq_len - 1) + safe_label_indices = torch.where( + block_keep_mask.unsqueeze(-1), + safe_label_indices, + torch.zeros_like(safe_label_indices), + ) + target_ids = torch.gather( + input_ids.unsqueeze(1).expand(-1, anchor_positions.size(1), -1), + 2, + safe_label_indices, + ) + aligned_target_logits = None + if target_last_hidden_states is not None: + target_pred_indices = (safe_label_indices - 1).clamp(min=0) + aligned_target_hidden = torch.gather( + target_last_hidden_states.unsqueeze(1).expand( + -1, + anchor_positions.size(1), + -1, + -1, + ), + 2, + target_pred_indices.unsqueeze(-1).expand( + -1, + -1, + -1, + target_last_hidden_states.size(-1), + ), + ) + aligned_target_logits = self.compute_logits(aligned_target_hidden) + eval_mask = build_eval_mask( + seq_len=seq_len, + loss_mask=loss_mask, + label_indices=label_indices, + safe_label_indices=safe_label_indices, + block_keep_mask=block_keep_mask, + ) + anchor_token_ids = torch.gather( + input_ids, + 1, + anchor_positions, + ) + prev_token_ids = torch.cat( + [anchor_token_ids.unsqueeze(-1), target_ids[:, :, :-1]], + dim=-1, + ) + draft_logits = self.compute_logits(output_hidden).reshape( + bsz, + num_blocks, + self.block_size, + -1, + ) + if self.markov_head is not None: + draft_logits = self.markov_head.apply_block_logits( + draft_logits, + token_ids=prev_token_ids, + hidden_states=output_hidden_4d, + ) + + log_sampler_stats( + seq_len=seq_len, + loss_mask=loss_mask, + eval_mask=eval_mask, + block_keep_mask=block_keep_mask, + block_size=self.block_size, + num_anchors=self.num_anchors, + ) + + confidence_pred = None + if self.confidence_head is not None: + if self.confidence_head_with_markov: + prev_embeddings = self.markov_head.get_prev_embeddings(prev_token_ids).to( + dtype=output_hidden_4d.dtype + ) + confidence_features = torch.cat( + [output_hidden_4d, prev_embeddings], + dim=-1, + ) + confidence_pred = self.confidence_head(confidence_features).float() + else: + confidence_pred = self.confidence_head(output_hidden_4d).float() + + return DSparkForwardOutput( + draft_logits=draft_logits, + target_ids=target_ids, + eval_mask=eval_mask, + block_keep_mask=block_keep_mask, + confidence_pred=confidence_pred, + aligned_target_logits=aligned_target_logits, + ) + + +__all__ = [ + "Ministral3DSparkModel", + "Ministral3DSparkAttention", + "Ministral3DSparkDecoderLayer", +] diff --git a/deepspec/trainer/__init__.py b/deepspec/trainer/__init__.py index 23fd14d3..0f8ccbbf 100644 --- a/deepspec/trainer/__init__.py +++ b/deepspec/trainer/__init__.py @@ -1,5 +1,9 @@ from .base_trainer import BaseTrainer -from .dspark_trainer import Gemma4DSparkTrainer, Qwen3DSparkTrainer +from .dspark_trainer import ( + Gemma4DSparkTrainer, + Ministral3DSparkTrainer, + Qwen3DSparkTrainer, +) from .eagle3_trainer import ( Gemma4Eagle3Trainer, Ministral3Eagle3Trainer, @@ -10,6 +14,7 @@ "BaseTrainer", "Gemma4Eagle3Trainer", "Gemma4DSparkTrainer", + "Ministral3DSparkTrainer", "Ministral3Eagle3Trainer", "Qwen3Eagle3Trainer", "Qwen3DSparkTrainer", diff --git a/deepspec/trainer/dspark_trainer.py b/deepspec/trainer/dspark_trainer.py index 487e99a2..9a7d2347 100644 --- a/deepspec/trainer/dspark_trainer.py +++ b/deepspec/trainer/dspark_trainer.py @@ -1,13 +1,25 @@ +from transformers import AutoConfig + from deepspec.data import CacheCollator from deepspec.modeling.dspark.gemma4 import Gemma4DSparkModel from deepspec.modeling.dspark.gemma4.config import ( build_draft_config as build_gemma4_draft_config, ) from deepspec.modeling.dspark.loss import compute_dspark_loss +from deepspec.modeling.dspark.ministral3 import Ministral3DSparkModel +from deepspec.modeling.dspark.ministral3.config import ( + build_draft_config as build_ministral3_draft_config, +) from deepspec.modeling.dspark.qwen3 import Qwen3DSparkModel from deepspec.modeling.dspark.qwen3.config import ( build_draft_config as build_qwen3_draft_config, ) +from deepspec.modeling.target_utils import ( + get_target_input_embeddings, + get_target_output_embeddings, + load_target_causal_lm, + load_target_tokenizer, +) from deepspec.trainer.base_trainer import BaseTrainer @@ -46,3 +58,44 @@ def _build_draft_model(self, *, target_config, model_args): model_args=model_args, ) return Gemma4DSparkModel(draft_config) + + +class Ministral3DSparkTrainer(Qwen3DSparkTrainer): + def build_models(self): + model_args = self.args.model + + tokenizer = load_target_tokenizer( + model_args.target_model_name_or_path, + ) + target_config = AutoConfig.from_pretrained( + model_args.target_model_name_or_path, + ) + + draft_model = self._build_draft_model( + target_config=target_config, + model_args=model_args, + ) + draft_model = draft_model.to(device=self.device, dtype=self.precision_dtype) + + target_model = load_target_causal_lm( + model_args.target_model_name_or_path, + dtype=self.precision_dtype, + ).to(device="cpu").eval() + target_embed_tokens = get_target_input_embeddings(target_model) + target_lm_head = get_target_output_embeddings(target_model) + assert (target_lm_head is not None) and (target_embed_tokens is not None) + draft_model.initialize_embeddings_and_head( + embed_tokens=target_embed_tokens, + lm_head=target_lm_head, + freeze=True, + ) + + del target_model + return draft_model, tokenizer + + def _build_draft_model(self, *, target_config, model_args): + draft_config = build_ministral3_draft_config( + target_config=target_config, + model_args=model_args, + ) + return Ministral3DSparkModel(draft_config) diff --git a/eval.py b/eval.py index 4bb144fa..9d0e28d4 100644 --- a/eval.py +++ b/eval.py @@ -7,7 +7,11 @@ import torch from transformers import AutoConfig -from deepspec.eval.dspark import Gemma4DSparkEvaluator, Qwen3DSparkEvaluator +from deepspec.eval.dspark import ( + Gemma4DSparkEvaluator, + Ministral3DSparkEvaluator, + Qwen3DSparkEvaluator, +) from deepspec.eval.eagle3 import ( Gemma4Eagle3Evaluator, Ministral3Eagle3Evaluator, @@ -18,6 +22,7 @@ EVALUATORS = { "Qwen3DSparkModel": Qwen3DSparkEvaluator, "Gemma4DSparkModel": Gemma4DSparkEvaluator, + "Ministral3DSparkModel": Ministral3DSparkEvaluator, "Qwen3Eagle3Model": Qwen3Eagle3Evaluator, "Gemma4Eagle3Model": Gemma4Eagle3Evaluator, "Ministral3Eagle3Model": Ministral3Eagle3Evaluator, From 1a2e973771e9dbb0159a29c760a441bdc3cce05d Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 11:57:25 +0000 Subject: [PATCH 23/49] Add Ministral3 follow-up experiment launchers --- experiments/ministral3_3b_followup/README.md | 30 ++++++++++ .../eval_dspark_3000steps.sbatch | 47 +++++++++++++++ .../eval_eagle3_e2e_tv_3000steps.sbatch | 47 +++++++++++++++ .../train_dspark_3000steps_16gpu.sbatch | 58 +++++++++++++++++++ .../train_dspark_smoke.sbatch | 51 ++++++++++++++++ ...train_eagle3_e2e_tv_3000steps_16gpu.sbatch | 58 +++++++++++++++++++ .../train_eagle3_e2e_tv_smoke.sbatch | 51 ++++++++++++++++ 7 files changed, 342 insertions(+) create mode 100644 experiments/ministral3_3b_followup/README.md create mode 100644 experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch create mode 100644 experiments/ministral3_3b_followup/train_dspark_smoke.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_smoke.sbatch diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md new file mode 100644 index 00000000..41f5d03f --- /dev/null +++ b/experiments/ministral3_3b_followup/README.md @@ -0,0 +1,30 @@ +# Ministral3 Follow-Up Experiments + +These launchers compare: + +- Eagle3 soft-CE/KL baseline from `experiments/ministral3_3b_eagle3`. +- Eagle3 with the end-to-end multi-step TV loss. +- DSpark with a Ministral3-3B target. + +All generated heavy artifacts are directed under `/mnt/vast/runs/andy`. + +Smoke jobs: + +```bash +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_smoke.sbatch +sbatch experiments/ministral3_3b_followup/train_dspark_smoke.sbatch +``` + +Full 3000-step jobs: + +```bash +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch +``` + +Eval jobs: + +```bash +sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch +``` diff --git a/experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch new file mode 100644 index 00000000..b05661c5 --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=320G +#SBATCH --time=06:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/dspark_block7_ministral3_3b/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/dspark_block7_ministral3_3b_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29751} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_dspark_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch new file mode 100644 index 00000000..df6ff7d8 --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=05:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29741} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_eagle3_e2e_tv_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch new file mode 100644 index 00000000..0eb595c9 --- /dev/null +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds-3k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --nodes=2 +#SBATCH --ntasks=2 +#SBATCH --ntasks-per-node=1 +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=10:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +export REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +export RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +export DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +export CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR +MASTER_ADDR=$(scontrol show hostnames "${SLURM_JOB_NODELIST}" | head -n 1) +export MASTER_PORT=${MASTER_PORT:-29731} +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +srun --ntasks="${SLURM_NNODES}" --ntasks-per-node=1 bash -lc ' +set -euo pipefail +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" +export RANK="${SLURM_PROCID}" +export WORLD_SIZE="${SLURM_NNODES}" + +python train.py \ + --config config/dspark/dspark_ministral3_3b.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" +' diff --git a/experiments/ministral3_3b_followup/train_dspark_smoke.sbatch b/experiments/ministral3_3b_followup/train_dspark_smoke.sbatch new file mode 100644 index 00000000..2c4b1fcf --- /dev/null +++ b/experiments/ministral3_3b_followup/train_dspark_smoke.sbatch @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds-smoke +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:1 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=120G +#SBATCH --time=00:40:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${DATA_ROOT}/smoke_target_cache + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29711} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/dspark/dspark_ministral3_3b.py \ + --opts "exp_name=dspark_block7_ministral3_3b_smoke" \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=0" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=1" \ + --opts "train.max_train_steps=2" \ + --opts "logging.checkpointing_steps=1" \ + --opts "logging.keep_last_checkpoints=2" diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch new file mode 100644 index 00000000..5b0a1e2a --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv-3k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --nodes=2 +#SBATCH --ntasks=2 +#SBATCH --ntasks-per-node=1 +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=08:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +export REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +export RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +export DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +export CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR +MASTER_ADDR=$(scontrol show hostnames "${SLURM_JOB_NODELIST}" | head -n 1) +export MASTER_PORT=${MASTER_PORT:-29721} +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +srun --ntasks="${SLURM_NNODES}" --ntasks-per-node=1 bash -lc ' +set -euo pipefail +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" +export RANK="${SLURM_PROCID}" +export WORLD_SIZE="${SLURM_NNODES}" + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" +' diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_smoke.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_smoke.sbatch new file mode 100644 index 00000000..50eb1b85 --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_smoke.sbatch @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv-smoke +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:1 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=100G +#SBATCH --time=00:30:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${DATA_ROOT}/smoke_target_cache + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29701} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv.py \ + --opts "exp_name=eagle3_ttt7_ministral3_3b_e2e_tv_smoke" \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=0" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=1" \ + --opts "train.max_train_steps=2" \ + --opts "logging.checkpointing_steps=1" \ + --opts "logging.keep_last_checkpoints=2" From 613c107c553097943eb3a85ae1fe8d600c14df9f Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 12:36:53 +0000 Subject: [PATCH 24/49] Shorten follow-up training wall times --- .../ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch | 2 +- .../train_eagle3_e2e_tv_3000steps_16gpu.sbatch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch index 0eb595c9..c4ecac8c 100644 --- a/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch @@ -8,7 +8,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=10:00:00 +#SBATCH --time=06:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch index 5b0a1e2a..ec25a11e 100644 --- a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch @@ -8,7 +8,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=08:00:00 +#SBATCH --time=04:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From 0303186774132ef496836f16e5400e6caa55243c Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 12:51:04 +0000 Subject: [PATCH 25/49] Use tighter follow-up training backfill windows --- .../ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch | 2 +- .../train_eagle3_e2e_tv_3000steps_16gpu.sbatch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch index c4ecac8c..a397aeda 100644 --- a/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch @@ -8,7 +8,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=06:00:00 +#SBATCH --time=04:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch index ec25a11e..8213f6df 100644 --- a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch @@ -8,7 +8,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=04:00:00 +#SBATCH --time=03:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From 54fcc221be65dffa6e64ab1e0edf8e807154084e Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 13:07:57 +0000 Subject: [PATCH 26/49] Add single-node follow-up fallback jobs --- experiments/ministral3_3b_followup/README.md | 7 +++ .../train_dspark_3000steps_8gpu.sbatch | 52 +++++++++++++++++++ .../train_eagle3_e2e_tv_3000steps_8gpu.sbatch | 52 +++++++++++++++++++ 3 files changed, 111 insertions(+) create mode 100644 experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index 41f5d03f..c4a1c446 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -22,6 +22,13 @@ sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sb sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch ``` +Single-node fallback jobs: + +```bash +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch +``` + Eval jobs: ```bash diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch new file mode 100644 index 00000000..2399a1fb --- /dev/null +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds-8g +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=04:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29771} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/dspark/dspark_ministral3_3b.py \ + --opts "exp_name=dspark_block7_ministral3_3b_8gpu" \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch new file mode 100644 index 00000000..d00fc29f --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch @@ -0,0 +1,52 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv-8g +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29761} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv.py \ + --opts "exp_name=eagle3_ttt7_ministral3_3b_e2e_tv_8gpu" \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" From 08823ab382da2124f70d05c903308f765a2172e3 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 13:21:20 +0000 Subject: [PATCH 27/49] Add fallback eval launchers --- experiments/ministral3_3b_followup/README.md | 2 + .../eval_dspark_8gpu_3000steps.sbatch | 47 +++++++++++++++++++ .../eval_eagle3_e2e_tv_8gpu_3000steps.sbatch | 47 +++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index c4a1c446..252a805a 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -34,4 +34,6 @@ Eval jobs: ```bash sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch ``` diff --git a/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch new file mode 100644 index 00000000..8339b31a --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds8-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=320G +#SBATCH --time=06:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/dspark_block7_ministral3_3b_8gpu/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/dspark_block7_ministral3_3b_8gpu_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29791} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_dspark_8gpu_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch new file mode 100644 index 00000000..57df1bc8 --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv8-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=05:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_8gpu/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_8gpu_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29781} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_eagle3_e2e_tv_8gpu_step3000_metrics.json" \ + --step 3000 From 38a0dd6aee664beaf4e489800906ff8cd71ee63c Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 17:56:33 +0000 Subject: [PATCH 28/49] Add TTT5 e2e TV follow-up variant --- .../eagle3_ministral3_3b_e2e_tv_ttt5.py | 21 +++++++ experiments/ministral3_3b_followup/README.md | 4 ++ .../eval_eagle3_e2e_tv_ttt5_3000steps.sbatch | 47 +++++++++++++++ ..._eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch | 58 +++++++++++++++++++ 4 files changed, 130 insertions(+) create mode 100644 config/eagle3/eagle3_ministral3_3b_e2e_tv_ttt5.py create mode 100644 experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch diff --git a/config/eagle3/eagle3_ministral3_3b_e2e_tv_ttt5.py b/config/eagle3/eagle3_ministral3_3b_e2e_tv_ttt5.py new file mode 100644 index 00000000..e58720fd --- /dev/null +++ b/config/eagle3/eagle3_ministral3_3b_e2e_tv_ttt5.py @@ -0,0 +1,21 @@ +import os + +from config.eagle3.eagle3_ministral3_3b import * # noqa: F403 + +BASE_TB_DIR = "/mnt/vast/runs/andy/deepspec_tensorboard" +BASE_CKPT_DIR = "/mnt/vast/runs/andy/deepspec_checkpoints" +exp_name = "eagle3_ttt5_ministral3_3b_e2e_tv" +model = dict(model) # noqa: F405 +model["loss_type"] = "e2e_tv" +model["ttt_length"] = 5 + + +def finalize_cfg(cfg): + logging_cfg = dict(cfg["logging"]) + project_name = str(cfg["project_name"]) + exp_name = str(cfg["exp_name"]) + logging_cfg["checkpoint_dir"] = os.path.join(BASE_CKPT_DIR, project_name, exp_name) + logging_cfg["tensorboard_dir"] = os.path.join(BASE_TB_DIR, project_name, exp_name) + cfg["logging"] = logging_cfg + + return cfg diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index 252a805a..5c585d37 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -4,6 +4,8 @@ These launchers compare: - Eagle3 soft-CE/KL baseline from `experiments/ministral3_3b_eagle3`. - Eagle3 with the end-to-end multi-step TV loss. +- Eagle3 with the end-to-end multi-step TV loss at TTT length 5, matching the + paper's main MTP-step setting more closely than the TTT-7 baseline. - DSpark with a Ministral3-3B target. All generated heavy artifacts are directed under `/mnt/vast/runs/andy`. @@ -19,6 +21,7 @@ Full 3000-step jobs: ```bash sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch ``` @@ -33,6 +36,7 @@ Eval jobs: ```bash sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch diff --git a/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch new file mode 100644 index 00000000..949993ec --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv5-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=05:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/eagle3_ttt5_ministral3_3b_e2e_tv/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/eagle3_ttt5_ministral3_3b_e2e_tv_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29841} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_eagle3_e2e_tv_ttt5_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch new file mode 100644 index 00000000..b7dc2b5e --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tv5-3k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --nodes=2 +#SBATCH --ntasks=2 +#SBATCH --ntasks-per-node=1 +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +export REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +export RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +export DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +export CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR +MASTER_ADDR=$(scontrol show hostnames "${SLURM_JOB_NODELIST}" | head -n 1) +export MASTER_PORT=${MASTER_PORT:-29821} +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +srun --ntasks="${SLURM_NNODES}" --ntasks-per-node=1 bash -lc ' +set -euo pipefail +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" +export RANK="${SLURM_PROCID}" +export WORLD_SIZE="${SLURM_NNODES}" + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv_ttt5.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" +' From 099c54ec6b9edc3e2bfb8218dba6d42da1f22e64 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 17:58:30 +0000 Subject: [PATCH 29/49] Add follow-up training plot helper --- .../plot_followup_metrics.py | 253 ++++++++++++++++++ 1 file changed, 253 insertions(+) create mode 100644 experiments/ministral3_3b_followup/plot_followup_metrics.py diff --git a/experiments/ministral3_3b_followup/plot_followup_metrics.py b/experiments/ministral3_3b_followup/plot_followup_metrics.py new file mode 100644 index 00000000..e9250a2f --- /dev/null +++ b/experiments/ministral3_3b_followup/plot_followup_metrics.py @@ -0,0 +1,253 @@ +import argparse +import json +from pathlib import Path + +import matplotlib.pyplot as plt +from tensorboard.backend.event_processing.event_accumulator import EventAccumulator + + +ScalarSeries = list[tuple[int, float]] + +TRAIN_RUNS = { + "kl_baseline": { + "label": "Eagle3 KL baseline", + "tensorboard_dir": Path( + "/mnt/vast/home/andy/tensorboard/deepspec/" + "eagle3_ttt7_ministral3_3b_10k_3000steps" + ), + }, + "e2e_tv_ttt7": { + "label": "Eagle3 e2e-TV TTT-7", + "tensorboard_dir": Path( + "/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/" + "eagle3_ttt7_ministral3_3b_e2e_tv" + ), + }, + "e2e_tv_ttt5": { + "label": "Eagle3 e2e-TV TTT-5", + "tensorboard_dir": Path( + "/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/" + "eagle3_ttt5_ministral3_3b_e2e_tv" + ), + }, + "dspark": { + "label": "DSpark block-7", + "tensorboard_dir": Path( + "/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/" + "dspark_block7_ministral3_3b_8gpu" + ), + }, +} + +EVAL_JSONS = { + "kl_baseline": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3/" + "eval_10k_step3000_metrics.json" + ), + "e2e_tv_ttt7": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" + "eval_eagle3_e2e_tv_step3000_metrics.json" + ), + "e2e_tv_ttt5": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" + "eval_eagle3_e2e_tv_ttt5_step3000_metrics.json" + ), + "dspark": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" + "eval_dspark_8gpu_step3000_metrics.json" + ), +} + + +def load_scalars(tensorboard_dir: Path) -> dict[str, ScalarSeries]: + if not tensorboard_dir.exists(): + return {} + accumulator = EventAccumulator(str(tensorboard_dir), size_guidance={"scalars": 0}) + accumulator.Reload() + + scalars = {} + for tag in accumulator.Tags()["scalars"]: + values_by_step = { + int(event.step): float(event.value) for event in accumulator.Scalars(tag) + } + scalars[tag] = sorted(values_by_step.items()) + return scalars + + +def load_all_scalars() -> dict[str, dict[str, ScalarSeries]]: + return { + run_name: load_scalars(run["tensorboard_dir"]) + for run_name, run in TRAIN_RUNS.items() + } + + +def latest_value(series: ScalarSeries) -> dict[str, float | int] | None: + if not series: + return None + step, value = series[-1] + return {"step": int(step), "value": float(value)} + + +def write_summary( + all_scalars: dict[str, dict[str, ScalarSeries]], + output_path: Path, +) -> None: + summary = {} + for run_name, scalars in sorted(all_scalars.items()): + run_summary = {} + for tag, series in sorted(scalars.items()): + value = latest_value(series) + if value is not None: + run_summary[tag] = value + summary[run_name] = run_summary + + output_path.parent.mkdir(parents=True, exist_ok=True) + output_path.write_text( + json.dumps(summary, indent=2, sort_keys=True, ensure_ascii=False) + "\n" + ) + + +def plot_metric( + *, + all_scalars: dict[str, dict[str, ScalarSeries]], + tag: str, + output_path: Path, + title: str, + ylabel: str, +) -> None: + plt.figure(figsize=(8.5, 4.8)) + for run_name, scalars in all_scalars.items(): + series = scalars.get(tag, []) + if not series: + continue + steps = [step for step, _ in series] + values = [value for _, value in series] + plt.plot( + steps, + values, + label=str(TRAIN_RUNS[run_name]["label"]), + linewidth=1.8, + ) + + plt.title(title) + plt.xlabel("Optimizer step") + plt.ylabel(ylabel) + plt.grid(True, alpha=0.25) + plt.legend(loc="best", fontsize=8) + plt.tight_layout() + output_path.parent.mkdir(parents=True, exist_ok=True) + plt.savefig(output_path, dpi=180) + plt.close() + + +def plot_accept_rates( + *, + all_scalars: dict[str, dict[str, ScalarSeries]], + output_path: Path, +) -> None: + tags = ["train/accept_rate@0", "train/accept_rate@3", "train/accept_rate@6"] + fig, axes = plt.subplots(1, len(tags), figsize=(13, 4.2), sharey=True) + for ax, tag in zip(axes, tags, strict=True): + for run_name, scalars in all_scalars.items(): + series = scalars.get(tag, []) + if not series: + continue + ax.plot( + [step for step, _ in series], + [value for _, value in series], + label=str(TRAIN_RUNS[run_name]["label"]), + linewidth=1.6, + ) + ax.set_title(tag.removeprefix("train/")) + ax.set_xlabel("Optimizer step") + ax.grid(True, alpha=0.25) + axes[0].set_ylabel("Acceptance rate") + axes[-1].legend(loc="best", fontsize=7) + fig.tight_layout() + output_path.parent.mkdir(parents=True, exist_ok=True) + fig.savefig(output_path, dpi=180) + plt.close(fig) + + +def load_eval_acceptance() -> dict[str, dict[str, float]]: + values = {} + for run_name, path in EVAL_JSONS.items(): + if not path.exists(): + continue + payload = json.loads(path.read_text()) + values[run_name] = { + str(row["dataset"]): float(row["acceptance_length"]) + for row in payload["rows"] + } + return values + + +def plot_eval_acceptance(output_path: Path) -> None: + eval_values = load_eval_acceptance() + if len(eval_values) < 2: + return + + datasets = sorted(set().union(*(values.keys() for values in eval_values.values()))) + x_positions = list(range(len(datasets))) + run_names = [run_name for run_name in TRAIN_RUNS if run_name in eval_values] + bar_width = min(0.8 / len(run_names), 0.25) + + plt.figure(figsize=(11, 5.2)) + for idx, run_name in enumerate(run_names): + offset = (idx - (len(run_names) - 1) / 2) * bar_width + values = [ + eval_values[run_name].get(dataset, 0.0) + for dataset in datasets + ] + plt.bar( + [position + offset for position in x_positions], + values, + width=bar_width, + label=str(TRAIN_RUNS[run_name]["label"]), + ) + + plt.xticks(x_positions, datasets, rotation=30, ha="right") + plt.ylabel("Accepted length") + plt.title("Final accepted length by benchmark") + plt.grid(True, axis="y", alpha=0.25) + plt.legend(loc="best", fontsize=8) + plt.tight_layout() + output_path.parent.mkdir(parents=True, exist_ok=True) + plt.savefig(output_path, dpi=180) + plt.close() + + +def main() -> None: + parser = argparse.ArgumentParser() + parser.add_argument( + "--output-dir", + type=Path, + default=Path("experiments/ministral3_3b_followup/report_assets"), + ) + args = parser.parse_args() + + all_scalars = load_all_scalars() + write_summary(all_scalars, args.output_dir / "train_metric_summary.json") + plot_metric( + all_scalars=all_scalars, + tag="train/loss", + output_path=args.output_dir / "train_loss.png", + title="Training Loss", + ylabel="Loss", + ) + plot_metric( + all_scalars=all_scalars, + tag="train/tau_probabilistic", + output_path=args.output_dir / "train_tau_probabilistic.png", + title="Train-Side Probabilistic Accepted Length Proxy", + ylabel="Tokens", + ) + plot_accept_rates( + all_scalars=all_scalars, + output_path=args.output_dir / "train_accept_rates.png", + ) + plot_eval_acceptance(args.output_dir / "eval_acceptance_comparison.png") + + +if __name__ == "__main__": + main() From b01ddc47704ff54b7b634c764d7794024a0c43d8 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 18:01:59 +0000 Subject: [PATCH 30/49] Add KL warm-start e2e TV variant --- .../eagle3_ministral3_3b_e2e_tv_from_kl.py | 26 +++++++++ deepspec/trainer/base_trainer.py | 25 +++++++- experiments/ministral3_3b_followup/README.md | 4 ++ ...val_eagle3_e2e_tv_from_kl_3000steps.sbatch | 47 +++++++++++++++ .../plot_followup_metrics.py | 11 ++++ ...gle3_e2e_tv_from_kl_3000steps_16gpu.sbatch | 58 +++++++++++++++++++ 6 files changed, 170 insertions(+), 1 deletion(-) create mode 100644 config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl.py create mode 100644 experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch diff --git a/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl.py b/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl.py new file mode 100644 index 00000000..95431bc0 --- /dev/null +++ b/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl.py @@ -0,0 +1,26 @@ +import os + +from config.eagle3.eagle3_ministral3_3b import * # noqa: F403 + +BASE_TB_DIR = "/mnt/vast/runs/andy/deepspec_tensorboard" +BASE_CKPT_DIR = "/mnt/vast/runs/andy/deepspec_checkpoints" +KL_DRAFT_CHECKPOINT = ( + "/mnt/vast/home/andy/checkpoints/deepspec/" + "eagle3_ttt7_ministral3_3b_10k_3000steps/step_latest" +) + +exp_name = "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl" +model = dict(model) # noqa: F405 +model["loss_type"] = "e2e_tv" +model["init_draft_model_name_or_path"] = KL_DRAFT_CHECKPOINT + + +def finalize_cfg(cfg): + logging_cfg = dict(cfg["logging"]) + project_name = str(cfg["project_name"]) + exp_name = str(cfg["exp_name"]) + logging_cfg["checkpoint_dir"] = os.path.join(BASE_CKPT_DIR, project_name, exp_name) + logging_cfg["tensorboard_dir"] = os.path.join(BASE_TB_DIR, project_name, exp_name) + cfg["logging"] = logging_cfg + + return cfg diff --git a/deepspec/trainer/base_trainer.py b/deepspec/trainer/base_trainer.py index cdb5a517..d4602e4f 100644 --- a/deepspec/trainer/base_trainer.py +++ b/deepspec/trainer/base_trainer.py @@ -160,7 +160,8 @@ def __init__(self, local_rank, args): self.suspend_controller = SuspendController(device=self.device) self.next_micro_step = 0 - if is_global_main_process(): ensure_dir(self.checkpoint_dir_root) + if is_global_main_process(): + ensure_dir(self.checkpoint_dir_root) training_logger.init( logging_steps=int(self.args.logging.logging_steps), tensorboard_dir=self.args.logging.tensorboard_dir, @@ -175,6 +176,28 @@ def __init__(self, local_rank, args): precision_dtype=self.precision_dtype, global_rank=self.global_rank, ) + else: + init_draft_model_name_or_path = getattr( + self.args.model, + "init_draft_model_name_or_path", + None, + ) + if init_draft_model_name_or_path is not None: + print_on_local_main( + f"Initializing draft model from {init_draft_model_name_or_path}." + ) + self.draft_model = type(self.draft_model).from_pretrained( + str(init_draft_model_name_or_path), + dtype=self.precision_dtype, + attn_implementation=str( + self.draft_model.config._attn_implementation + ), + ) + self.draft_model = self.draft_model.to( + device=self.device, + dtype=self.precision_dtype, + ) + self.draft_model.set_embedding_head_trainable(False) self.model = self.draft_model if self.args.train.torch_compile: print_on_local_main("Compiling training model with torch.compile...") diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index 5c585d37..0d0aaa57 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -6,6 +6,8 @@ These launchers compare: - Eagle3 with the end-to-end multi-step TV loss. - Eagle3 with the end-to-end multi-step TV loss at TTT length 5, matching the paper's main MTP-step setting more closely than the TTT-7 baseline. +- Eagle3 initialized from the completed KL baseline checkpoint, then adapted + with the end-to-end multi-step TV loss and a fresh optimizer schedule. - DSpark with a Ministral3-3B target. All generated heavy artifacts are directed under `/mnt/vast/runs/andy`. @@ -22,6 +24,7 @@ Full 3000-step jobs: ```bash sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch ``` @@ -37,6 +40,7 @@ Eval jobs: ```bash sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch diff --git a/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch new file mode 100644 index 00000000..110101d9 --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=05:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_from_kl/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29881} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_eagle3_e2e_tv_from_kl_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/plot_followup_metrics.py b/experiments/ministral3_3b_followup/plot_followup_metrics.py index e9250a2f..a209b13f 100644 --- a/experiments/ministral3_3b_followup/plot_followup_metrics.py +++ b/experiments/ministral3_3b_followup/plot_followup_metrics.py @@ -30,6 +30,13 @@ "eagle3_ttt5_ministral3_3b_e2e_tv" ), }, + "e2e_tv_from_kl": { + "label": "Eagle3 KL -> e2e-TV", + "tensorboard_dir": Path( + "/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/" + "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl" + ), + }, "dspark": { "label": "DSpark block-7", "tensorboard_dir": Path( @@ -52,6 +59,10 @@ "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" "eval_eagle3_e2e_tv_ttt5_step3000_metrics.json" ), + "e2e_tv_from_kl": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" + "eval_eagle3_e2e_tv_from_kl_step3000_metrics.json" + ), "dspark": Path( "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" "eval_dspark_8gpu_step3000_metrics.json" diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch new file mode 100644 index 00000000..d54a1ee6 --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl-3k +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --nodes=2 +#SBATCH --ntasks=2 +#SBATCH --ntasks-per-node=1 +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +export REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +export RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +export DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +export CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR +MASTER_ADDR=$(scontrol show hostnames "${SLURM_JOB_NODELIST}" | head -n 1) +export MASTER_PORT=${MASTER_PORT:-29861} +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +srun --ntasks="${SLURM_NNODES}" --ntasks-per-node=1 bash -lc ' +set -euo pipefail +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" +export RANK="${SLURM_PROCID}" +export WORLD_SIZE="${SLURM_NNODES}" + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" +' From 309d01a1c059662f12abb80acd638eb2a14afa64 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 18:28:19 +0000 Subject: [PATCH 31/49] Add lower LR KL warm-start TV variant --- ...gle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py | 5 ++ experiments/ministral3_3b_followup/README.md | 4 ++ ...gle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch | 47 +++++++++++++++ .../plot_followup_metrics.py | 11 ++++ ...2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch | 58 +++++++++++++++++++ 5 files changed, 125 insertions(+) create mode 100644 config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py create mode 100644 experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch diff --git a/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py b/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py new file mode 100644 index 00000000..3ebdbfe6 --- /dev/null +++ b/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py @@ -0,0 +1,5 @@ +from config.eagle3.eagle3_ministral3_3b_e2e_tv_from_kl import * # noqa: F403 + +exp_name = "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4" +train = dict(train) # noqa: F405 +train["lr"] = 1.0e-4 diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index 0d0aaa57..e5616b20 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -8,6 +8,8 @@ These launchers compare: paper's main MTP-step setting more closely than the TTT-7 baseline. - Eagle3 initialized from the completed KL baseline checkpoint, then adapted with the end-to-end multi-step TV loss and a fresh optimizer schedule. +- A lower-LR version of the KL-initialized TV adaptation, to test whether the + TV objective needs a gentler update schedule from an already strong draft. - DSpark with a Ministral3-3B target. All generated heavy artifacts are directed under `/mnt/vast/runs/andy`. @@ -25,6 +27,7 @@ Full 3000-step jobs: sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch ``` @@ -41,6 +44,7 @@ Eval jobs: sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch diff --git a/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch new file mode 100644 index 00000000..aafcffff --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl1e4-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=05:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29891} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_eagle3_e2e_tv_from_kl_lr1e4_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/plot_followup_metrics.py b/experiments/ministral3_3b_followup/plot_followup_metrics.py index a209b13f..23d0b3fb 100644 --- a/experiments/ministral3_3b_followup/plot_followup_metrics.py +++ b/experiments/ministral3_3b_followup/plot_followup_metrics.py @@ -37,6 +37,13 @@ "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl" ), }, + "e2e_tv_from_kl_lr1e4": { + "label": "Eagle3 KL -> e2e-TV lr=1e-4", + "tensorboard_dir": Path( + "/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/" + "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4" + ), + }, "dspark": { "label": "DSpark block-7", "tensorboard_dir": Path( @@ -63,6 +70,10 @@ "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" "eval_eagle3_e2e_tv_from_kl_step3000_metrics.json" ), + "e2e_tv_from_kl_lr1e4": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" + "eval_eagle3_e2e_tv_from_kl_lr1e4_step3000_metrics.json" + ), "dspark": Path( "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" "eval_dspark_8gpu_step3000_metrics.json" diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch new file mode 100644 index 00000000..bb0d84e3 --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl1e4 +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --nodes=2 +#SBATCH --ntasks=2 +#SBATCH --ntasks-per-node=1 +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +export REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +export RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +export DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +export CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR +MASTER_ADDR=$(scontrol show hostnames "${SLURM_JOB_NODELIST}" | head -n 1) +export MASTER_PORT=${MASTER_PORT:-29863} +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +srun --ntasks="${SLURM_NNODES}" --ntasks-per-node=1 bash -lc ' +set -euo pipefail +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" +export RANK="${SLURM_PROCID}" +export WORLD_SIZE="${SLURM_NNODES}" + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" +' From 66bf0107123cf15863a9a4ec4de532a073c54731 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 19:44:09 +0000 Subject: [PATCH 32/49] Add 8GPU continuation for low LR TV warm start --- experiments/ministral3_3b_followup/README.md | 1 + ...e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index e5616b20..0ddd6b3a 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -35,6 +35,7 @@ Single-node fallback jobs: ```bash sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch ``` diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch new file mode 100644 index 00000000..21e683cc --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl1e4-8g +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=04:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29864} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" From ecadc74439bed567e8b791b7437d1b44c298e499 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 20:07:42 +0000 Subject: [PATCH 33/49] Remove incompatible 8GPU TV continuation --- experiments/ministral3_3b_followup/README.md | 1 - ...e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch | 51 ------------------- 2 files changed, 52 deletions(-) delete mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index 0ddd6b3a..e5616b20 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -35,7 +35,6 @@ Single-node fallback jobs: ```bash sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch ``` diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch deleted file mode 100644 index 21e683cc..00000000 --- a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_8gpu.sbatch +++ /dev/null @@ -1,51 +0,0 @@ -#!/usr/bin/env bash -#SBATCH --job-name=dspec-min3-tvkl1e4-8g -#SBATCH --partition=h100 -#SBATCH --qos=research -#SBATCH --gres=gpu:h100:8 -#SBATCH --cpus-per-task=64 -#SBATCH --mem=512G -#SBATCH --time=04:00:00 -#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out -#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err - -set -euo pipefail - -REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 -RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup -DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 -CACHE_DIR=${DATA_ROOT}/target_cache_10k - -mkdir -p "${RUN_ROOT}/logs" -mkdir -p /mnt/vast/runs/andy/hf_home -mkdir -p /mnt/vast/runs/andy/torch_home -mkdir -p /mnt/vast/runs/andy/triton_cache -mkdir -p /mnt/vast/runs/andy/xdg_cache - -cd "${REPO_DIR}" -source .venv/bin/activate -export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" - -export HF_HOME=/mnt/vast/runs/andy/hf_home -export HF_DATASETS_CACHE=${HF_HOME}/datasets -export TRANSFORMERS_CACHE=${HF_HOME}/transformers -export TORCH_HOME=/mnt/vast/runs/andy/torch_home -export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} -export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache -export MASTER_ADDR=127.0.0.1 -export MASTER_PORT=${MASTER_PORT:-29864} -export RANK=0 -export WORLD_SIZE=1 -export TOKENIZERS_PARALLELISM=false -export USE_HUB_KERNELS=0 - -python train.py \ - --config config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4.py \ - --opts "data.target_cache_path=${CACHE_DIR}" \ - --opts "data.num_workers=2" \ - --opts "train.local_batch_size=1" \ - --opts "train.global_batch_size=512" \ - --opts "train.max_train_steps=3000" \ - --opts "logging.checkpointing_steps=3000" \ - --opts "logging.save_only_checkpointing_steps=25" \ - --opts "logging.keep_last_checkpoints=8" From e6f1dd950e3c3531f2592cf48c82ee0c4b48781b Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 20:30:31 +0000 Subject: [PATCH 34/49] Add fresh 8GPU low LR TV warm start --- ...ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu.py | 3 ++ experiments/ministral3_3b_followup/README.md | 2 + ...e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch | 47 +++++++++++++++++ .../plot_followup_metrics.py | 11 ++++ ...e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch | 51 +++++++++++++++++++ 5 files changed, 114 insertions(+) create mode 100644 config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu.py create mode 100644 experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch create mode 100644 experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch diff --git a/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu.py b/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu.py new file mode 100644 index 00000000..fb19c32b --- /dev/null +++ b/config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu.py @@ -0,0 +1,3 @@ +from config.eagle3.eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4 import * # noqa: F403 + +exp_name = "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu" diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index e5616b20..0ecf390a 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -35,6 +35,7 @@ Single-node fallback jobs: ```bash sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch +sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch ``` @@ -45,6 +46,7 @@ sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch diff --git a/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch new file mode 100644 index 00000000..ca36211e --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl1e4-8g-eval +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=256G +#SBATCH --time=05:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29892} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_step3000_metrics.json" \ + --step 3000 diff --git a/experiments/ministral3_3b_followup/plot_followup_metrics.py b/experiments/ministral3_3b_followup/plot_followup_metrics.py index 23d0b3fb..d6727f98 100644 --- a/experiments/ministral3_3b_followup/plot_followup_metrics.py +++ b/experiments/ministral3_3b_followup/plot_followup_metrics.py @@ -44,6 +44,13 @@ "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4" ), }, + "e2e_tv_from_kl_lr1e4_8gpu": { + "label": "Eagle3 KL -> e2e-TV lr=1e-4 8GPU", + "tensorboard_dir": Path( + "/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/" + "eagle3_ttt7_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu" + ), + }, "dspark": { "label": "DSpark block-7", "tensorboard_dir": Path( @@ -74,6 +81,10 @@ "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" "eval_eagle3_e2e_tv_from_kl_lr1e4_step3000_metrics.json" ), + "e2e_tv_from_kl_lr1e4_8gpu": Path( + "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" + "eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_step3000_metrics.json" + ), "dspark": Path( "/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/" "eval_dspark_8gpu_step3000_metrics.json" diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch new file mode 100644 index 00000000..cf879dfc --- /dev/null +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-tvkl1e4-8g +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=64 +#SBATCH --mem=512G +#SBATCH --time=04:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DATA_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_eagle3 +CACHE_DIR=${DATA_ROOT}/target_cache_10k + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29864} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python train.py \ + --config config/eagle3/eagle3_ministral3_3b_e2e_tv_from_kl_lr1e4_8gpu.py \ + --opts "data.target_cache_path=${CACHE_DIR}" \ + --opts "data.num_workers=2" \ + --opts "train.local_batch_size=1" \ + --opts "train.global_batch_size=512" \ + --opts "train.max_train_steps=3000" \ + --opts "logging.checkpointing_steps=3000" \ + --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.keep_last_checkpoints=8" From 9b40b46475e760bef79a8a8328f85d770384d905 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 20:41:43 +0000 Subject: [PATCH 35/49] Shorten 8GPU TV warm start slices --- .../train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch index cf879dfc..23079c1e 100644 --- a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=04:00:00 +#SBATCH --time=02:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From b5287f8572b9e4a94c2791bbedd648768ad94ab4 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 21:03:22 +0000 Subject: [PATCH 36/49] Use shorter 8GPU TV warm start slices --- .../train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch index 23079c1e..9478a1be 100644 --- a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=02:00:00 +#SBATCH --time=01:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From cb3776767ee2aa16198b5c6cea55988f07203135 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 21:37:54 +0000 Subject: [PATCH 37/49] Shorten 8GPU TV warm-start slices --- .../train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch index 9478a1be..25323e3d 100644 --- a/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch +++ b/experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=01:00:00 +#SBATCH --time=00:30:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From 7b53e77bce2ea922fe48a7bce359f7af7f71c037 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Mon, 6 Jul 2026 21:43:35 +0000 Subject: [PATCH 38/49] Shorten DSpark continuation slices --- .../ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch index 2399a1fb..52e4e4a6 100644 --- a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=04:00:00 +#SBATCH --time=00:30:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From f948c4987dcd720a2539862db1ee789a7d366eb8 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 12:55:12 +0000 Subject: [PATCH 39/49] Use shorter DSpark continuation slices --- .../ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch index 52e4e4a6..1aeaf04e 100644 --- a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=00:30:00 +#SBATCH --time=00:20:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From c5c0443fdacfef51be8f92540da84172c5e4fe80 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 13:14:17 +0000 Subject: [PATCH 40/49] Use backfill-friendly DSpark slices --- .../ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch index 1aeaf04e..aa0a10e9 100644 --- a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=64 #SBATCH --mem=512G -#SBATCH --time=00:20:00 +#SBATCH --time=00:10:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From f6f6b7876e2c9275848f1fe1c081d8313b83fa1f Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 13:38:06 +0000 Subject: [PATCH 41/49] Checkpoint DSpark more frequently --- .../ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch index aa0a10e9..c2e5a8c9 100644 --- a/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch +++ b/experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch @@ -48,5 +48,5 @@ python train.py \ --opts "train.global_batch_size=512" \ --opts "train.max_train_steps=3000" \ --opts "logging.checkpointing_steps=3000" \ - --opts "logging.save_only_checkpointing_steps=25" \ + --opts "logging.save_only_checkpointing_steps=10" \ --opts "logging.keep_last_checkpoints=8" From 6a1dcda387bebd886e004aed0572254a0f944c5b Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 20:08:20 +0000 Subject: [PATCH 42/49] Shorten DSpark eval walltime --- .../ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch b/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch index 8339b31a..ea7b2d70 100644 --- a/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch +++ b/experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=32 #SBATCH --mem=320G -#SBATCH --time=06:00:00 +#SBATCH --time=02:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From d35c26b286f2fc3291054d149d2743c60043bdbc Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 22:16:41 +0000 Subject: [PATCH 43/49] Add arena-only DSpark eval rescue --- .../eval_dspark_8gpu_arena_step3000.sbatch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch diff --git a/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch b/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch new file mode 100644 index 00000000..83a086d2 --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds8-arena +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:8 +#SBATCH --cpus-per-task=32 +#SBATCH --mem=320G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/dspark_block7_ministral3_3b_8gpu/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/dspark_block7_ministral3_3b_8gpu_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29793} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_dspark_8gpu_step3000_arena_metrics.json" \ + --step 3000 \ + --task arena-hard-v2:500 From bc2447bec7bc972ffc290f8ff66e95f2daf76288 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 22:17:29 +0000 Subject: [PATCH 44/49] Add DSpark eval merge helper --- .../ministral3_3b_followup/merge_eval_json.py | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 experiments/ministral3_3b_followup/merge_eval_json.py diff --git a/experiments/ministral3_3b_followup/merge_eval_json.py b/experiments/ministral3_3b_followup/merge_eval_json.py new file mode 100644 index 00000000..6a790408 --- /dev/null +++ b/experiments/ministral3_3b_followup/merge_eval_json.py @@ -0,0 +1,79 @@ +import argparse +import json +from pathlib import Path +from typing import Any + + +EXPECTED_DATASETS = [ + "gsm8k", + "math500", + "aime25", + "humaneval", + "mbpp", + "livecodebench", + "mt-bench", + "alpaca", + "arena-hard-v2", +] + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser() + parser.add_argument("--base-json", type=Path, required=True) + parser.add_argument("--extra-json", type=Path, required=True) + parser.add_argument("--output-json", type=Path, required=True) + return parser.parse_args() + + +def load_json(path: Path) -> dict[str, Any]: + with path.open() as f: + data = json.load(f) + assert isinstance(data, dict), f"Expected JSON object in {path}" + assert "rows" in data, f"Expected rows in {path}" + return data + + +def row_dataset(row: dict[str, Any]) -> str: + dataset = row["dataset"] + assert isinstance(dataset, str), f"Expected string dataset, got {dataset!r}" + return dataset + + +def merge_rows(*row_groups: list[dict[str, Any]]) -> list[dict[str, Any]]: + by_dataset: dict[str, dict[str, Any]] = {} + for rows in row_groups: + for row in rows: + dataset = row_dataset(row) + assert dataset not in by_dataset, f"Duplicate metrics for {dataset}" + by_dataset[dataset] = row + + missing = [dataset for dataset in EXPECTED_DATASETS if dataset not in by_dataset] + assert not missing, f"Missing datasets: {missing}" + return [by_dataset[dataset] for dataset in EXPECTED_DATASETS] + + +def main() -> None: + args = parse_args() + base = load_json(args.base_json) + extra = load_json(args.extra_json) + + for key in ["target_model", "draft_model", "step"]: + assert base[key] == extra[key], ( + f"Mismatched {key}: base={base[key]!r}, extra={extra[key]!r}" + ) + + base_rows = base["rows"] + extra_rows = extra["rows"] + assert isinstance(base_rows, list), f"Expected list rows in {args.base_json}" + assert isinstance(extra_rows, list), f"Expected list rows in {args.extra_json}" + + merged = dict(base) + merged["rows"] = merge_rows(base_rows, extra_rows) + merged["complete"] = True + + args.output_json.parent.mkdir(parents=True, exist_ok=True) + args.output_json.write_text(json.dumps(merged, indent=2) + "\n") + + +if __name__ == "__main__": + main() From 7a8b2ec591a71d369370896d4775cdf8807be63f Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 22:38:38 +0000 Subject: [PATCH 45/49] Shorten arena rescue eval walltime --- .../eval_dspark_8gpu_arena_step3000.sbatch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch b/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch index 83a086d2..6f1c2aae 100644 --- a/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch +++ b/experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch @@ -5,7 +5,7 @@ #SBATCH --gres=gpu:h100:8 #SBATCH --cpus-per-task=32 #SBATCH --mem=320G -#SBATCH --time=03:00:00 +#SBATCH --time=02:00:00 #SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out #SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err From d4a1c0c845bca5a27d12b05ea96200a082a1f991 Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 23:10:54 +0000 Subject: [PATCH 46/49] Add four-GPU arena eval fallback --- .../eval_dspark_4gpu_arena_step3000.sbatch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 experiments/ministral3_3b_followup/eval_dspark_4gpu_arena_step3000.sbatch diff --git a/experiments/ministral3_3b_followup/eval_dspark_4gpu_arena_step3000.sbatch b/experiments/ministral3_3b_followup/eval_dspark_4gpu_arena_step3000.sbatch new file mode 100644 index 00000000..ec728c2f --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_dspark_4gpu_arena_step3000.sbatch @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds4-arena +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:4 +#SBATCH --cpus-per-task=16 +#SBATCH --mem=240G +#SBATCH --time=03:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/dspark_block7_ministral3_3b_8gpu/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/dspark_block7_ministral3_3b_4gpu_arena_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29795} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_dspark_4gpu_step3000_arena_metrics.json" \ + --step 3000 \ + --task arena-hard-v2:500 From f66d102a3b020c8e3eb6264a739eba8685381a5a Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Wed, 8 Jul 2026 23:39:49 +0000 Subject: [PATCH 47/49] Add two-GPU arena eval fallback --- .../eval_dspark_2gpu_arena_step3000.sbatch | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 experiments/ministral3_3b_followup/eval_dspark_2gpu_arena_step3000.sbatch diff --git a/experiments/ministral3_3b_followup/eval_dspark_2gpu_arena_step3000.sbatch b/experiments/ministral3_3b_followup/eval_dspark_2gpu_arena_step3000.sbatch new file mode 100644 index 00000000..e53296e3 --- /dev/null +++ b/experiments/ministral3_3b_followup/eval_dspark_2gpu_arena_step3000.sbatch @@ -0,0 +1,48 @@ +#!/usr/bin/env bash +#SBATCH --job-name=dspec-min3-ds2-arena +#SBATCH --partition=h100 +#SBATCH --qos=research +#SBATCH --gres=gpu:h100:2 +#SBATCH --cpus-per-task=8 +#SBATCH --mem=160G +#SBATCH --time=06:00:00 +#SBATCH --output=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.out +#SBATCH --error=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/logs/%x-%j.err + +set -euo pipefail + +REPO_DIR=/mnt/vast/home/andy/code/DeepSpec-ministral-repro-20260702-151809 +RUN_ROOT=/mnt/vast/runs/andy/deepspec_ministral3_3b_followup +DRAFT_DIR=/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/dspark_block7_ministral3_3b_8gpu/step_latest +TB_DIR=/mnt/vast/runs/andy/deepspec_tensorboard/deepspec/dspark_block7_ministral3_3b_2gpu_arena_eval + +mkdir -p "${RUN_ROOT}/logs" +mkdir -p /mnt/vast/runs/andy/hf_home +mkdir -p /mnt/vast/runs/andy/torch_home +mkdir -p /mnt/vast/runs/andy/triton_cache +mkdir -p /mnt/vast/runs/andy/xdg_cache + +cd "${REPO_DIR}" +source .venv/bin/activate +export PYTHONPATH="${REPO_DIR}:${PYTHONPATH:-}" + +export HF_HOME=/mnt/vast/runs/andy/hf_home +export HF_DATASETS_CACHE=${HF_HOME}/datasets +export TRANSFORMERS_CACHE=${HF_HOME}/transformers +export TORCH_HOME=/mnt/vast/runs/andy/torch_home +export TRITON_CACHE_DIR=/mnt/vast/runs/andy/triton_cache/${SLURM_JOB_ID} +export XDG_CACHE_HOME=/mnt/vast/runs/andy/xdg_cache +export MASTER_ADDR=127.0.0.1 +export MASTER_PORT=${MASTER_PORT:-29797} +export RANK=0 +export WORLD_SIZE=1 +export TOKENIZERS_PARALLELISM=false +export USE_HUB_KERNELS=0 + +python eval.py \ + --target_name_or_path mistralai/Ministral-3-3B-Instruct-2512 \ + --draft_name_or_path "${DRAFT_DIR}" \ + --tensorboard-dir "${TB_DIR}" \ + --output-json "${RUN_ROOT}/eval_dspark_2gpu_step3000_arena_metrics.json" \ + --step 3000 \ + --task arena-hard-v2:500 From 34451ed19a6374a56ffcd58fc5e7536cdf78862d Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 9 Jul 2026 00:52:01 +0000 Subject: [PATCH 48/49] Report Ministral DSpark follow-up results --- experiments/ministral3_3b_followup/README.md | 105 ++- .../report_assets/train_metric_summary.json | 756 ++++++++++++++++++ 2 files changed, 823 insertions(+), 38 deletions(-) create mode 100644 experiments/ministral3_3b_followup/report_assets/train_metric_summary.json diff --git a/experiments/ministral3_3b_followup/README.md b/experiments/ministral3_3b_followup/README.md index 0ecf390a..f1e961e4 100644 --- a/experiments/ministral3_3b_followup/README.md +++ b/experiments/ministral3_3b_followup/README.md @@ -1,53 +1,82 @@ # Ministral3 Follow-Up Experiments -These launchers compare: +This follow-up tested whether the DeepSpec DSpark recipe transfers cleanly to +`mistralai/Ministral-3-3B-Instruct-2512`, and kept the Eagle3 KL baseline as the +main reference point. -- Eagle3 soft-CE/KL baseline from `experiments/ministral3_3b_eagle3`. -- Eagle3 with the end-to-end multi-step TV loss. -- Eagle3 with the end-to-end multi-step TV loss at TTT length 5, matching the - paper's main MTP-step setting more closely than the TTT-7 baseline. -- Eagle3 initialized from the completed KL baseline checkpoint, then adapted - with the end-to-end multi-step TV loss and a fresh optimizer schedule. -- A lower-LR version of the KL-initialized TV adaptation, to test whether the - TV objective needs a gentler update schedule from an already strong draft. -- DSpark with a Ministral3-3B target. +## Final Status -All generated heavy artifacts are directed under `/mnt/vast/runs/andy`. +The DSpark block-7 run reached `step_3000`, and the final eval artifact is now +complete with all nine benchmark rows: -Smoke jobs: +- Checkpoint: `/mnt/vast/runs/andy/deepspec_checkpoints/deepspec/dspark_block7_ministral3_3b_8gpu/step_3000` +- Final eval JSON: `/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/eval_dspark_8gpu_step3000_metrics.json` +- Preserved pre-merge 8/9 eval JSON: `/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/eval_dspark_8gpu_step3000_metrics_partial_8of9.json` +- Arena-only rescue JSON: `/mnt/vast/runs/andy/deepspec_ministral3_3b_followup/eval_dspark_8gpu_step3000_arena_metrics.json` -```bash -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_smoke.sbatch -sbatch experiments/ministral3_3b_followup/train_dspark_smoke.sbatch -``` +The result does **not** reproduce the expected DSpark improvement over the +Eagle3 KL baseline on Ministral3-3B. DSpark finished with stronger train-side +acceptance proxies, but its final eval accepted length is lower than the KL +baseline on every benchmark. -Full 3000-step jobs: +## Final Eval -```bash -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_16gpu.sbatch -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_ttt5_3000steps_16gpu.sbatch -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_3000steps_16gpu.sbatch -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_3000steps_16gpu.sbatch -sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_16gpu.sbatch -``` +| Dataset | KL accepted length | DSpark accepted length | Delta | DSpark verify rate | +|---|---:|---:|---:|---:| +| gsm8k | 2.844 | 2.593 | -0.251 | 0.325 | +| math500 | 3.097 | 2.962 | -0.135 | 0.371 | +| aime25 | 2.877 | 2.688 | -0.189 | 0.336 | +| humaneval | 2.600 | 2.435 | -0.165 | 0.305 | +| mbpp | 2.464 | 2.331 | -0.133 | 0.292 | +| livecodebench | 2.265 | 2.120 | -0.146 | 0.265 | +| mt-bench | 1.890 | 1.841 | -0.049 | 0.230 | +| alpaca | 1.830 | 1.775 | -0.055 | 0.222 | +| arena-hard-v2 | 1.694 | 1.581 | -0.113 | 0.198 | +| **Macro avg** | **2.396** | **2.258** | **-0.137** | **0.283** | -Single-node fallback jobs: +![Final accepted length by benchmark](report_assets/eval_acceptance_comparison.png) -```bash -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_3000steps_8gpu.sbatch -sbatch experiments/ministral3_3b_followup/train_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch -``` +## Training Metrics + +The DSpark training run ended with strong train-side speculative proxies: + +- `train/loss`: `0.4216` +- `train/tau_probabilistic`: `5.8782` +- `train/accept_rate@0`: `0.9089` +- `train/accept_rate@3`: `0.8717` +- `train/accept_rate@6`: `0.8207` + +That train/eval gap is the main remaining discrepancy: the training accept-rate +metrics look healthy, but the official eval accepted lengths remain low. -Eval jobs: +![Training loss](report_assets/train_loss.png) + +![Training tau probabilistic](report_assets/train_tau_probabilistic.png) + +![Training accept rates](report_assets/train_accept_rates.png) + +The scalar snapshot used for these plots is in +[report_assets/train_metric_summary.json](report_assets/train_metric_summary.json). + +## Reproduction Notes + +All heavy artifacts were written under `/mnt/vast/runs/andy`. The final +`arena-hard-v2` row came from a one-dataset rescue eval because the first full +eval hit its 2h walltime after writing 8/9 rows. The rescue completed in +`00:40:44`, then `merge_eval_json.py` validated and merged the one-row arena +JSON into the final complete aggregate. + +Useful commands: ```bash -sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_ttt5_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_from_kl_lr1e4_8gpu_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/eval_dspark_3000steps.sbatch -sbatch experiments/ministral3_3b_followup/eval_eagle3_e2e_tv_8gpu_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/train_dspark_3000steps_8gpu.sbatch sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_3000steps.sbatch +sbatch experiments/ministral3_3b_followup/eval_dspark_8gpu_arena_step3000.sbatch + +.venv/bin/python experiments/ministral3_3b_followup/merge_eval_json.py \ + --base-json /mnt/vast/runs/andy/deepspec_ministral3_3b_followup/eval_dspark_8gpu_step3000_metrics.json \ + --extra-json /mnt/vast/runs/andy/deepspec_ministral3_3b_followup/eval_dspark_8gpu_step3000_arena_metrics.json \ + --output-json /mnt/vast/runs/andy/deepspec_ministral3_3b_followup/eval_dspark_8gpu_step3000_metrics_complete.json + +.venv/bin/python experiments/ministral3_3b_followup/plot_followup_metrics.py ``` diff --git a/experiments/ministral3_3b_followup/report_assets/train_metric_summary.json b/experiments/ministral3_3b_followup/report_assets/train_metric_summary.json new file mode 100644 index 00000000..f7b273f1 --- /dev/null +++ b/experiments/ministral3_3b_followup/report_assets/train_metric_summary.json @@ -0,0 +1,756 @@ +{ + "dspark": { + "train/accept_rate@0": { + "step": 3000, + "value": 0.9088855385780334 + }, + "train/accept_rate@1": { + "step": 3000, + "value": 0.8897278308868408 + }, + "train/accept_rate@2": { + "step": 3000, + "value": 0.8809123039245605 + }, + "train/accept_rate@3": { + "step": 3000, + "value": 0.8716825246810913 + }, + "train/accept_rate@4": { + "step": 3000, + "value": 0.8612305521965027 + }, + "train/accept_rate@5": { + "step": 3000, + "value": 0.8470444679260254 + }, + "train/accept_rate@6": { + "step": 3000, + "value": 0.8207354545593262 + }, + "train/block_supervised_tokens_abs": { + "step": 3000, + "value": 6.933074951171875 + }, + "train/block_supervised_tokens_ratio": { + "step": 3000, + "value": 0.990439236164093 + }, + "train/ce_loss": { + "step": 3000, + "value": 0.48387807607650757 + }, + "train/confidence_abs_error": { + "step": 3000, + "value": 0.023252103477716446 + }, + "train/confidence_bias": { + "step": 3000, + "value": -5.7178334827767685e-05 + }, + "train/confidence_cumprod_bias": { + "step": 3000, + "value": -6.912671960890293e-05 + }, + "train/confidence_loss": { + "step": 3000, + "value": 0.20054055750370026 + }, + "train/grad_norm": { + "step": 3000, + "value": 0.032470703125 + }, + "train/l1_loss": { + "step": 3000, + "value": 0.23794984817504883 + }, + "train/loss": { + "step": 3000, + "value": 0.421601265668869 + }, + "train/lr": { + "step": 3000, + "value": 0.0 + }, + "train/sampled_anchors_abs": { + "step": 3000, + "value": 395.5830078125 + }, + "train/sampled_anchors_ratio": { + "step": 3000, + "value": 0.7726230621337891 + }, + "train/tau_probabilistic": { + "step": 3000, + "value": 5.878182888031006 + }, + "train/valid_anchors_abs": { + "step": 3000, + "value": 1081.6539306640625 + }, + "train/valid_anchors_ratio": { + "step": 3000, + "value": 0.4878362715244293 + } + }, + "e2e_tv_from_kl": { + "train/accept_rate@0": { + "step": 200, + "value": 0.7781164646148682 + }, + "train/accept_rate@1": { + "step": 200, + "value": 0.7581328749656677 + }, + "train/accept_rate@2": { + "step": 200, + "value": 0.7466332912445068 + }, + "train/accept_rate@3": { + "step": 200, + "value": 0.7343856692314148 + }, + "train/accept_rate@4": { + "step": 200, + "value": 0.7194052934646606 + }, + "train/accept_rate@5": { + "step": 200, + "value": 0.699884295463562 + }, + "train/accept_rate@6": { + "step": 200, + "value": 0.673882246017456 + }, + "train/accuracy@0": { + "step": 200, + "value": 0.8129783272743225 + }, + "train/accuracy@1": { + "step": 200, + "value": 0.7957897782325745 + }, + "train/accuracy@2": { + "step": 200, + "value": 0.7881194949150085 + }, + "train/accuracy@3": { + "step": 200, + "value": 0.7789853811264038 + }, + "train/accuracy@4": { + "step": 200, + "value": 0.7666359543800354 + }, + "train/accuracy@5": { + "step": 200, + "value": 0.7496271133422852 + }, + "train/accuracy@6": { + "step": 200, + "value": 0.7254096269607544 + }, + "train/e2e_tv_loss": { + "step": 200, + "value": 0.4276648163795471 + }, + "train/grad_norm": { + "step": 200, + "value": 0.169921875 + }, + "train/loss": { + "step": 200, + "value": 0.4276648163795471 + }, + "train/lr": { + "step": 200, + "value": 0.0005988585762679577 + }, + "train/tau_greedy": { + "step": 200, + "value": 4.651768207550049 + }, + "train/tau_probabilistic": { + "step": 200, + "value": 4.2134552001953125 + }, + "train/valid_tokens@0": { + "step": 200, + "value": 17565.32421875 + }, + "train/valid_tokens@1": { + "step": 200, + "value": 17565.32421875 + }, + "train/valid_tokens@2": { + "step": 200, + "value": 17565.32421875 + }, + "train/valid_tokens@3": { + "step": 200, + "value": 17565.32421875 + }, + "train/valid_tokens@4": { + "step": 200, + "value": 17565.32421875 + }, + "train/valid_tokens@5": { + "step": 200, + "value": 17565.32421875 + }, + "train/valid_tokens@6": { + "step": 200, + "value": 17565.32421875 + } + }, + "e2e_tv_from_kl_lr1e4": { + "train/accept_rate@0": { + "step": 100, + "value": 0.7892638444900513 + }, + "train/accept_rate@1": { + "step": 100, + "value": 0.7840483784675598 + }, + "train/accept_rate@2": { + "step": 100, + "value": 0.782526969909668 + }, + "train/accept_rate@3": { + "step": 100, + "value": 0.7784999012947083 + }, + "train/accept_rate@4": { + "step": 100, + "value": 0.7707067728042603 + }, + "train/accept_rate@5": { + "step": 100, + "value": 0.7571341395378113 + }, + "train/accept_rate@6": { + "step": 100, + "value": 0.7336140275001526 + }, + "train/accuracy@0": { + "step": 100, + "value": 0.8327452540397644 + }, + "train/accuracy@1": { + "step": 100, + "value": 0.8321753144264221 + }, + "train/accuracy@2": { + "step": 100, + "value": 0.8354985117912292 + }, + "train/accuracy@3": { + "step": 100, + "value": 0.8355039954185486 + }, + "train/accuracy@4": { + "step": 100, + "value": 0.8315221071243286 + }, + "train/accuracy@5": { + "step": 100, + "value": 0.8220247030258179 + }, + "train/accuracy@6": { + "step": 100, + "value": 0.8026746511459351 + }, + "train/e2e_tv_loss": { + "step": 100, + "value": 0.39172640442848206 + }, + "train/grad_norm": { + "step": 100, + "value": 0.2734375 + }, + "train/loss": { + "step": 100, + "value": 0.39172640442848206 + }, + "train/lr": { + "step": 100, + "value": 8.416666969424114e-05 + }, + "train/tau_greedy": { + "step": 100, + "value": 5.037959575653076 + }, + "train/tau_probabilistic": { + "step": 100, + "value": 4.44346809387207 + }, + "train/valid_tokens@0": { + "step": 100, + "value": 17705.19921875 + }, + "train/valid_tokens@1": { + "step": 100, + "value": 17705.19921875 + }, + "train/valid_tokens@2": { + "step": 100, + "value": 17705.19921875 + }, + "train/valid_tokens@3": { + "step": 100, + "value": 17705.19921875 + }, + "train/valid_tokens@4": { + "step": 100, + "value": 17705.19921875 + }, + "train/valid_tokens@5": { + "step": 100, + "value": 17705.19921875 + }, + "train/valid_tokens@6": { + "step": 100, + "value": 17705.19921875 + } + }, + "e2e_tv_from_kl_lr1e4_8gpu": { + "train/accept_rate@0": { + "step": 960, + "value": 0.8107576966285706 + }, + "train/accept_rate@1": { + "step": 960, + "value": 0.8032916188240051 + }, + "train/accept_rate@2": { + "step": 960, + "value": 0.799018919467926 + }, + "train/accept_rate@3": { + "step": 960, + "value": 0.7926272749900818 + }, + "train/accept_rate@4": { + "step": 960, + "value": 0.782906711101532 + }, + "train/accept_rate@5": { + "step": 960, + "value": 0.7681045532226562 + }, + "train/accept_rate@6": { + "step": 960, + "value": 0.7443888783454895 + }, + "train/accuracy@0": { + "step": 960, + "value": 0.8468327522277832 + }, + "train/accuracy@1": { + "step": 960, + "value": 0.8427723050117493 + }, + "train/accuracy@2": { + "step": 960, + "value": 0.841855525970459 + }, + "train/accuracy@3": { + "step": 960, + "value": 0.8381909728050232 + }, + "train/accuracy@4": { + "step": 960, + "value": 0.8310334086418152 + }, + "train/accuracy@5": { + "step": 960, + "value": 0.8190454840660095 + }, + "train/accuracy@6": { + "step": 960, + "value": 0.798031747341156 + }, + "train/e2e_tv_loss": { + "step": 960, + "value": 0.34104272723197937 + }, + "train/grad_norm": { + "step": 960, + "value": 0.2021484375 + }, + "train/loss": { + "step": 960, + "value": 0.34104272723197937 + }, + "train/lr": { + "step": 960, + "value": 8.043809793889523e-05 + }, + "train/tau_greedy": { + "step": 960, + "value": 5.260736465454102 + }, + "train/tau_probabilistic": { + "step": 960, + "value": 4.743100643157959 + }, + "train/valid_tokens@0": { + "step": 960, + "value": 8670.4453125 + }, + "train/valid_tokens@1": { + "step": 960, + "value": 8670.4453125 + }, + "train/valid_tokens@2": { + "step": 960, + "value": 8670.4453125 + }, + "train/valid_tokens@3": { + "step": 960, + "value": 8670.4453125 + }, + "train/valid_tokens@4": { + "step": 960, + "value": 8670.4453125 + }, + "train/valid_tokens@5": { + "step": 960, + "value": 8670.4453125 + }, + "train/valid_tokens@6": { + "step": 960, + "value": 8670.4453125 + } + }, + "e2e_tv_ttt5": { + "train/accept_rate@0": { + "step": 340, + "value": 0.3088866174221039 + }, + "train/accept_rate@1": { + "step": 340, + "value": 0.23770467936992645 + }, + "train/accept_rate@2": { + "step": 340, + "value": 0.19424673914909363 + }, + "train/accept_rate@3": { + "step": 340, + "value": 0.16263574361801147 + }, + "train/accept_rate@4": { + "step": 340, + "value": 0.13550451397895813 + }, + "train/accuracy@0": { + "step": 340, + "value": 0.309736967086792 + }, + "train/accuracy@1": { + "step": 340, + "value": 0.23738116025924683 + }, + "train/accuracy@2": { + "step": 340, + "value": 0.19608260691165924 + }, + "train/accuracy@3": { + "step": 340, + "value": 0.1679745316505432 + }, + "train/accuracy@4": { + "step": 340, + "value": 0.14486446976661682 + }, + "train/e2e_tv_loss": { + "step": 340, + "value": 0.8811959028244019 + }, + "train/grad_norm": { + "step": 340, + "value": 0.0191650390625 + }, + "train/loss": { + "step": 340, + "value": 0.8811959028244019 + }, + "train/lr": { + "step": 340, + "value": 0.0005914028151892126 + }, + "train/tau_greedy": { + "step": 340, + "value": 1.490090012550354 + }, + "train/tau_probabilistic": { + "step": 340, + "value": 1.483672022819519 + }, + "train/valid_tokens@0": { + "step": 340, + "value": 17375.681640625 + }, + "train/valid_tokens@1": { + "step": 340, + "value": 17375.681640625 + }, + "train/valid_tokens@2": { + "step": 340, + "value": 17375.681640625 + }, + "train/valid_tokens@3": { + "step": 340, + "value": 17375.681640625 + }, + "train/valid_tokens@4": { + "step": 340, + "value": 17375.681640625 + } + }, + "e2e_tv_ttt7": { + "train/accept_rate@0": { + "step": 860, + "value": 0.3942939341068268 + }, + "train/accept_rate@1": { + "step": 860, + "value": 0.3225947618484497 + }, + "train/accept_rate@2": { + "step": 860, + "value": 0.27505242824554443 + }, + "train/accept_rate@3": { + "step": 860, + "value": 0.2398243099451065 + }, + "train/accept_rate@4": { + "step": 860, + "value": 0.2107917219400406 + }, + "train/accept_rate@5": { + "step": 860, + "value": 0.18418195843696594 + }, + "train/accept_rate@6": { + "step": 860, + "value": 0.15908914804458618 + }, + "train/accuracy@0": { + "step": 860, + "value": 0.3965262472629547 + }, + "train/accuracy@1": { + "step": 860, + "value": 0.32414039969444275 + }, + "train/accuracy@2": { + "step": 860, + "value": 0.27784740924835205 + }, + "train/accuracy@3": { + "step": 860, + "value": 0.24515438079833984 + }, + "train/accuracy@4": { + "step": 860, + "value": 0.22068458795547485 + }, + "train/accuracy@5": { + "step": 860, + "value": 0.19971370697021484 + }, + "train/accuracy@6": { + "step": 860, + "value": 0.18134939670562744 + }, + "train/e2e_tv_loss": { + "step": 860, + "value": 0.8688939809799194 + }, + "train/grad_norm": { + "step": 860, + "value": 0.0220947265625 + }, + "train/loss": { + "step": 860, + "value": 0.8688939809799194 + }, + "train/lr": { + "step": 860, + "value": 0.0005074540385976434 + }, + "train/tau_greedy": { + "step": 860, + "value": 1.7387313842773438 + }, + "train/tau_probabilistic": { + "step": 860, + "value": 1.7238452434539795 + }, + "train/valid_tokens@0": { + "step": 860, + "value": 17503.728515625 + }, + "train/valid_tokens@1": { + "step": 860, + "value": 17503.728515625 + }, + "train/valid_tokens@2": { + "step": 860, + "value": 17503.728515625 + }, + "train/valid_tokens@3": { + "step": 860, + "value": 17503.728515625 + }, + "train/valid_tokens@4": { + "step": 860, + "value": 17503.728515625 + }, + "train/valid_tokens@5": { + "step": 860, + "value": 17503.728515625 + }, + "train/valid_tokens@6": { + "step": 860, + "value": 17503.728515625 + } + }, + "kl_baseline": { + "train/accept_rate@0": { + "step": 3000, + "value": 0.7828433513641357 + }, + "train/accept_rate@1": { + "step": 3000, + "value": 0.7800154685974121 + }, + "train/accept_rate@2": { + "step": 3000, + "value": 0.7808699011802673 + }, + "train/accept_rate@3": { + "step": 3000, + "value": 0.7791018486022949 + }, + "train/accept_rate@4": { + "step": 3000, + "value": 0.7734428644180298 + }, + "train/accept_rate@5": { + "step": 3000, + "value": 0.7620912194252014 + }, + "train/accept_rate@6": { + "step": 3000, + "value": 0.740893542766571 + }, + "train/accuracy@0": { + "step": 3000, + "value": 0.8395382761955261 + }, + "train/accuracy@1": { + "step": 3000, + "value": 0.8423240184783936 + }, + "train/accuracy@2": { + "step": 3000, + "value": 0.848247230052948 + }, + "train/accuracy@3": { + "step": 3000, + "value": 0.851127028465271 + }, + "train/accuracy@4": { + "step": 3000, + "value": 0.8497721552848816 + }, + "train/accuracy@5": { + "step": 3000, + "value": 0.8434146046638489 + }, + "train/accuracy@6": { + "step": 3000, + "value": 0.8280242085456848 + }, + "train/grad_norm": { + "step": 3000, + "value": 0.078125 + }, + "train/loss": { + "step": 3000, + "value": 2.1320221424102783 + }, + "train/lr": { + "step": 3000, + "value": 0.0 + }, + "train/ploss_0": { + "step": 3000, + "value": 0.5350198745727539 + }, + "train/ploss_1": { + "step": 3000, + "value": 0.535610020160675 + }, + "train/ploss_2": { + "step": 3000, + "value": 0.5331065654754639 + }, + "train/ploss_3": { + "step": 3000, + "value": 0.5346406698226929 + }, + "train/ploss_4": { + "step": 3000, + "value": 0.540634036064148 + }, + "train/ploss_5": { + "step": 3000, + "value": 0.552795946598053 + }, + "train/ploss_6": { + "step": 3000, + "value": 0.5760428309440613 + }, + "train/tau_greedy": { + "step": 3000, + "value": 5.192190647125244 + }, + "train/tau_probabilistic": { + "step": 3000, + "value": 4.4316630363464355 + }, + "train/valid_tokens@0": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@1": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@2": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@3": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@4": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@5": { + "step": 3000, + "value": 8655.0615234375 + }, + "train/valid_tokens@6": { + "step": 3000, + "value": 8655.0615234375 + } + } +} From ae8d73c223b11000b37fd8179ea34c0cf90fbaea Mon Sep 17 00:00:00 2001 From: Andy Lo Date: Thu, 9 Jul 2026 00:52:31 +0000 Subject: [PATCH 49/49] Add Ministral follow-up report plots --- .../eval_acceptance_comparison.png | Bin 0 -> 80989 bytes .../report_assets/train_accept_rates.png | Bin 0 -> 162972 bytes .../report_assets/train_loss.png | Bin 0 -> 95935 bytes .../report_assets/train_tau_probabilistic.png | Bin 0 -> 131178 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 experiments/ministral3_3b_followup/report_assets/eval_acceptance_comparison.png create mode 100644 experiments/ministral3_3b_followup/report_assets/train_accept_rates.png create mode 100644 experiments/ministral3_3b_followup/report_assets/train_loss.png create mode 100644 experiments/ministral3_3b_followup/report_assets/train_tau_probabilistic.png diff --git a/experiments/ministral3_3b_followup/report_assets/eval_acceptance_comparison.png b/experiments/ministral3_3b_followup/report_assets/eval_acceptance_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..f87b2b48bbd08711ce406edd00138fbeb70ec27f GIT binary patch literal 80989 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