MCPcopy Create free account

hub / github.com/Lukas-Xue/nanoLLaDA / functions

Functions85 in github.com/Lukas-Xue/nanoLLaDA

↓ 60 callersFunctionprint0
(s="", **kwargs)
nanollada/common.py:35
↓ 12 callersMethodencode
(self, text, prepend=None, append=None, num_threads=8)
nanollada/tokenizer.py:67
↓ 9 callersFunctionget_base_dir
()
nanollada/common.py:27
↓ 7 callersMethoddecode
(self, ids)
nanollada/tokenizer.py:89
↓ 7 callersMethodget_bos_token_id
(self)
nanollada/tokenizer.py:58
↓ 6 callersFunctionnorm
(x)
nanollada/model.py:26
↓ 5 callersMethodencode_special
(self, text)
nanollada/tokenizer.py:55
↓ 5 callersMethodget_mask_token_id
(self)
nanollada/tokenizer.py:61
↓ 5 callersMethodlog
(self, *a, **kw)
nanollada/common.py:77
↓ 4 callersFunctiongenerate
Generate text via iterative unmasking. Args: model: DiffusionTransformer prompt: tensor of shape (B, L) — the prompt token i
nanollada/generate.py:36
↓ 4 callersFunctionget_tokenizer
()
nanollada/tokenizer.py:101
↓ 4 callersFunctionis_ddp_initialized
()
nanollada/common.py:42
↓ 4 callersMethodsave
(self, tokenizer_dir)
nanollada/tokenizer.py:92
↓ 3 callersMethod__init__
(self, config)
nanollada/model.py:77
↓ 3 callersFunction_tokenize_and_split
Tokenize full_text, find the split point using prompt_text, handle tokenizer boundary issues and context window truncation. Returns (toke
nanollada/eval.py:110
↓ 3 callersFunctionadd_conversation
(messages)
scripts/sft.py:171
↓ 3 callersFunctionautodetect_device_type
()
nanollada/common.py:50
↓ 3 callersFunctioncompute_cleanup
()
nanollada/common.py:72
↓ 3 callersFunctioncompute_init
(device_type="cuda")
nanollada/common.py:55
↓ 3 callersFunctiondistributed_data_loader
Dataloader for masked diffusion pretraining. Unlike autoregressive training, we don't need (x, y) pairs with offset. We just need packed
nanollada/dataloader.py:47
↓ 3 callersFunctionforward_process
Randomly mask tokens in a batch. Each sequence gets a random mask ratio. Position 0 (BOS) is never masked. Returns: (noisy_batch, masked
nanollada/diffusion.py:7
↓ 3 callersFunctionget_num_transfer_tokens
Precompute how many tokens to unmask at each step (uniform schedule).
nanollada/generate.py:21
↓ 2 callersMethod_precompute_rotary
(self, seq_len, head_dim, base=10000, device=None)
nanollada/model.py:117
↓ 2 callersFunctionadd_gumbel_noise
Gumbel-max sampling for categorical distributions.
nanollada/generate.py:11
↓ 2 callersFunctionapply_rotary_emb
(x, cos, sin)
nanollada/model.py:36
↓ 2 callersFunctioncompute_sft_loss
Compute SFT diffusion loss. Same as pretraining loss but: 1. Only actual response tokens are masked (prompt and padding stay visible) 2.
nanollada/sft.py:13
↓ 2 callersMethodestimate_flops
(self)
nanollada/model.py:151
↓ 2 callersMethodfinish
(self)
nanollada/common.py:78
↓ 2 callersMethodget_device
(self)
nanollada/model.py:148
↓ 2 callersFunctionget_dist_info
()
nanollada/common.py:45
↓ 2 callersFunctionget_peak_flops
(device_name)
nanollada/common.py:80
↓ 2 callersMethodget_vocab_size
(self)
nanollada/tokenizer.py:45
↓ 2 callersFunctionlist_parquet_files
(data_dir=None)
nanollada/dataset.py:17
↓ 2 callersFunctionload_checkpoint
(checkpoint_dir, step, device, load_optimizer=True, rank=0)
nanollada/checkpoint.py:42
↓ 2 callersFunctionmc_loglikelihood
Estimate negative log-likelihood of the continuation (tokens after prompt_len) via Monte Carlo sampling of the ELBO, following LLaDA eval_lla
nanollada/eval.py:29
↓ 2 callersFunctionsave_checkpoint
(checkpoint_dir, step, model_data, optimizer_data, meta_data, rank=0, keep_last=3)
nanollada/checkpoint.py:13
↓ 2 callersFunctionsft_data_loader
Yields (input_ids [B, T], prompt_lengths [B]) batches. Pads shorter sequences with BOS tokens (which are in the prompt region, so never maske
scripts/sft.py:230
↓ 1 callersFunction_build_fewshot_prefix
Build a few-shot prefix string from examples, excluding the current item.
nanollada/eval.py:128
↓ 1 callersFunction_cleanup_old_checkpoints
Delete all but the most recent `keep_last` checkpoints.
nanollada/checkpoint.py:30
↓ 1 callersFunction_detect_compute_dtype
()
nanollada/common.py:12
↓ 1 callersFunction_document_batches
(split, resume_state_dict, tokenizer_batch_size)
nanollada/dataloader.py:9
↓ 1 callersFunction_eval_lm
Language modeling: check if greedy unmasking produces the exact continuation.
nanollada/eval.py:226
↓ 1 callersFunction_eval_mc
Multiple choice: vary the answer, pick lowest ELBO.
nanollada/eval.py:187
↓ 1 callersFunction_eval_schema
Schema: vary the context, same continuation, pick lowest ELBO.
nanollada/eval.py:206
↓ 1 callersFunctionbuild_val_loader
()
scripts/train.py:191
↓ 1 callersFunctioncompute_diffusion_loss
Compute the masked diffusion training loss (ELBO). 1% of the time, randomly truncates the sequence (LLaDA paper guideline).
nanollada/diffusion.py:24
↓ 1 callersFunctiondownload_eval_bundle
Download and extract the CORE eval bundle.
scripts/eval.py:44
↓ 1 callersFunctionevaluate_core
Evaluate on the CORE benchmark using ELBO-based multiple-choice scoring. Same task data as nanochat, but scored via diffusion likelihood inst
scripts/eval.py:96
↓ 1 callersFunctionevaluate_example
Evaluate a single example. Dispatches to the right logic based on task_type. Returns True if correct.
nanollada/eval.py:163
↓ 1 callersFunctionevaluate_sft_loss
Quick SFT loss on a subset of data.
scripts/sft.py:281
↓ 1 callersFunctionevaluate_task
Evaluate a task across all examples, distributed across ranks. Returns mean accuracy.
nanollada/eval.py:246
↓ 1 callersFunctionevaluate_val_loss
(model, val_loader, steps, mask_id)
scripts/train.py:197
↓ 1 callersFunctionevaluate_val_loss
Compute average diffusion loss on validation data.
nanollada/eval.py:88
↓ 1 callersFunctionfind_checkpoint_dir
Auto-detect the first checkpoint directory.
scripts/eval.py:85
↓ 1 callersMethodfrom_directory
(cls, tokenizer_dir)
nanollada/tokenizer.py:40
↓ 1 callersMethodget_eos_token_id
(self)
nanollada/tokenizer.py:64
↓ 1 callersFunctionget_lr_multiplier
(it)
scripts/train.py:173
↓ 1 callersFunctionget_lr_multiplier
(it)
scripts/sft.py:269
↓ 1 callersFunctionget_param_groups
(model)
scripts/train.py:149
↓ 1 callersMethodget_special_tokens
(self)
nanollada/tokenizer.py:48
↓ 1 callersFunctiongreedy_unmask_matches
Check if greedy one-step unmasking of the continuation matches the target. Masks all continuation tokens, runs one forward pass, checks if ar
nanollada/eval.py:69
↓ 1 callersMethodinit_weights
(self)
nanollada/model.py:128
↓ 1 callersFunctionis_ddp_requested
()
nanollada/common.py:39
↓ 1 callersFunctionload_model_from_checkpoint
Load model + config from a checkpoint directory.
scripts/eval.py:65
↓ 1 callersFunctionload_sft_mix
Load SFT data mix following nanochat's recipe: - SmolTalk (general conversations) - MMLU x3 (teaches multiple choice answering) - GSM
scripts/sft.py:157
↓ 1 callersFunctionmain
()
scripts/eval.py:170
↓ 1 callersFunctionparquets_iter_batched
(split, start=0, step=1)
nanollada/dataset.py:24
↓ 1 callersFunctionrefill_buffer
()
nanollada/dataloader.py:60
↓ 1 callersFunctionrender_conversation
Render a conversation to token ids and compute prompt length. Format: <|bos|> User: {msg}\nAssistant: {response}<|eos|> Only the last ass
scripts/sft.py:122
↓ 1 callersFunctiontext_iterator
()
scripts/tok_train.py:18
↓ 1 callersMethodtrain_from_iterator
(cls, text_iterator, vocab_size)
nanollada/tokenizer.py:24
Method__call__
(self, *a, **kw)
nanollada/tokenizer.py:86
Method__init__
(self, enc, bos_token)
nanollada/tokenizer.py:19
Method__init__
(self, config)
nanollada/model.py:45
Method__init__
(self, config)
nanollada/model.py:87
Method__init__
(self, config, pad_vocab_size_to=64)
nanollada/model.py:99
Functiondownload_single_file
(index)
nanollada/dataset.py:35
Methodforward
(self, x)
nanollada/model.py:32
Methodforward
(self, x, cos_sin)
nanollada/model.py:56
Methodforward
(self, x)
nanollada/model.py:82
Methodforward
(self, x, cos_sin)
nanollada/model.py:92
Methodforward
Forward pass. Returns logits of shape (B, T, vocab_size). idx: (B, T) token ids (may contain mask tokens)
nanollada/model.py:159
Functiongenerate_visual
Same as generate(), but yields (step, total_steps, x) at each unmasking step for visualization. Use with torch.no_grad() externally. Yie
nanollada/generate.py:121
Functionget_token_bytes
(device="cpu")
nanollada/tokenizer.py:105
Methodid_to_token
(self, id)
nanollada/tokenizer.py:51