Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Lukas-Xue/nanoLLaDA
/ functions
Functions
85 in github.com/Lukas-Xue/nanoLLaDA
⨍
Functions
85
◇
Types & classes
8
↓ 60 callers
Function
print0
(s="", **kwargs)
nanollada/common.py:35
↓ 12 callers
Method
encode
(self, text, prepend=None, append=None, num_threads=8)
nanollada/tokenizer.py:67
↓ 9 callers
Function
get_base_dir
()
nanollada/common.py:27
↓ 7 callers
Method
decode
(self, ids)
nanollada/tokenizer.py:89
↓ 7 callers
Method
get_bos_token_id
(self)
nanollada/tokenizer.py:58
↓ 6 callers
Function
norm
(x)
nanollada/model.py:26
↓ 5 callers
Method
encode_special
(self, text)
nanollada/tokenizer.py:55
↓ 5 callers
Method
get_mask_token_id
(self)
nanollada/tokenizer.py:61
↓ 5 callers
Method
log
(self, *a, **kw)
nanollada/common.py:77
↓ 4 callers
Function
generate
Generate text via iterative unmasking. Args: model: DiffusionTransformer prompt: tensor of shape (B, L) — the prompt token i
nanollada/generate.py:36
↓ 4 callers
Function
get_tokenizer
()
nanollada/tokenizer.py:101
↓ 4 callers
Function
is_ddp_initialized
()
nanollada/common.py:42
↓ 4 callers
Method
save
(self, tokenizer_dir)
nanollada/tokenizer.py:92
↓ 3 callers
Method
__init__
(self, config)
nanollada/model.py:77
↓ 3 callers
Function
_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 callers
Function
add_conversation
(messages)
scripts/sft.py:171
↓ 3 callers
Function
autodetect_device_type
()
nanollada/common.py:50
↓ 3 callers
Function
compute_cleanup
()
nanollada/common.py:72
↓ 3 callers
Function
compute_init
(device_type="cuda")
nanollada/common.py:55
↓ 3 callers
Function
distributed_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 callers
Function
forward_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 callers
Function
get_num_transfer_tokens
Precompute how many tokens to unmask at each step (uniform schedule).
nanollada/generate.py:21
↓ 2 callers
Method
_precompute_rotary
(self, seq_len, head_dim, base=10000, device=None)
nanollada/model.py:117
↓ 2 callers
Function
add_gumbel_noise
Gumbel-max sampling for categorical distributions.
nanollada/generate.py:11
↓ 2 callers
Function
apply_rotary_emb
(x, cos, sin)
nanollada/model.py:36
↓ 2 callers
Function
compute_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 callers
Method
estimate_flops
(self)
nanollada/model.py:151
↓ 2 callers
Method
finish
(self)
nanollada/common.py:78
↓ 2 callers
Method
get_device
(self)
nanollada/model.py:148
↓ 2 callers
Function
get_dist_info
()
nanollada/common.py:45
↓ 2 callers
Function
get_peak_flops
(device_name)
nanollada/common.py:80
↓ 2 callers
Method
get_vocab_size
(self)
nanollada/tokenizer.py:45
↓ 2 callers
Function
list_parquet_files
(data_dir=None)
nanollada/dataset.py:17
↓ 2 callers
Function
load_checkpoint
(checkpoint_dir, step, device, load_optimizer=True, rank=0)
nanollada/checkpoint.py:42
↓ 2 callers
Function
mc_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 callers
Function
save_checkpoint
(checkpoint_dir, step, model_data, optimizer_data, meta_data, rank=0, keep_last=3)
nanollada/checkpoint.py:13
↓ 2 callers
Function
sft_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 callers
Function
_build_fewshot_prefix
Build a few-shot prefix string from examples, excluding the current item.
nanollada/eval.py:128
↓ 1 callers
Function
_cleanup_old_checkpoints
Delete all but the most recent `keep_last` checkpoints.
nanollada/checkpoint.py:30
↓ 1 callers
Function
_detect_compute_dtype
()
nanollada/common.py:12
↓ 1 callers
Function
_document_batches
(split, resume_state_dict, tokenizer_batch_size)
nanollada/dataloader.py:9
↓ 1 callers
Function
_eval_lm
Language modeling: check if greedy unmasking produces the exact continuation.
nanollada/eval.py:226
↓ 1 callers
Function
_eval_mc
Multiple choice: vary the answer, pick lowest ELBO.
nanollada/eval.py:187
↓ 1 callers
Function
_eval_schema
Schema: vary the context, same continuation, pick lowest ELBO.
nanollada/eval.py:206
↓ 1 callers
Function
build_val_loader
()
scripts/train.py:191
↓ 1 callers
Function
compute_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 callers
Function
download_eval_bundle
Download and extract the CORE eval bundle.
scripts/eval.py:44
↓ 1 callers
Function
evaluate_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 callers
Function
evaluate_example
Evaluate a single example. Dispatches to the right logic based on task_type. Returns True if correct.
nanollada/eval.py:163
↓ 1 callers
Function
evaluate_sft_loss
Quick SFT loss on a subset of data.
scripts/sft.py:281
↓ 1 callers
Function
evaluate_task
Evaluate a task across all examples, distributed across ranks. Returns mean accuracy.
nanollada/eval.py:246
↓ 1 callers
Function
evaluate_val_loss
(model, val_loader, steps, mask_id)
scripts/train.py:197
↓ 1 callers
Function
evaluate_val_loss
Compute average diffusion loss on validation data.
nanollada/eval.py:88
↓ 1 callers
Function
find_checkpoint_dir
Auto-detect the first checkpoint directory.
scripts/eval.py:85
↓ 1 callers
Method
from_directory
(cls, tokenizer_dir)
nanollada/tokenizer.py:40
↓ 1 callers
Method
get_eos_token_id
(self)
nanollada/tokenizer.py:64
↓ 1 callers
Function
get_lr_multiplier
(it)
scripts/train.py:173
↓ 1 callers
Function
get_lr_multiplier
(it)
scripts/sft.py:269
↓ 1 callers
Function
get_param_groups
(model)
scripts/train.py:149
↓ 1 callers
Method
get_special_tokens
(self)
nanollada/tokenizer.py:48
↓ 1 callers
Function
greedy_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 callers
Method
init_weights
(self)
nanollada/model.py:128
↓ 1 callers
Function
is_ddp_requested
()
nanollada/common.py:39
↓ 1 callers
Function
load_model_from_checkpoint
Load model + config from a checkpoint directory.
scripts/eval.py:65
↓ 1 callers
Function
load_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 callers
Function
main
()
scripts/eval.py:170
↓ 1 callers
Function
parquets_iter_batched
(split, start=0, step=1)
nanollada/dataset.py:24
↓ 1 callers
Function
refill_buffer
()
nanollada/dataloader.py:60
↓ 1 callers
Function
render_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 callers
Function
text_iterator
()
scripts/tok_train.py:18
↓ 1 callers
Method
train_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
Function
download_single_file
(index)
nanollada/dataset.py:35
Method
forward
(self, x)
nanollada/model.py:32
Method
forward
(self, x, cos_sin)
nanollada/model.py:56
Method
forward
(self, x)
nanollada/model.py:82
Method
forward
(self, x, cos_sin)
nanollada/model.py:92
Method
forward
Forward pass. Returns logits of shape (B, T, vocab_size). idx: (B, T) token ids (may contain mask tokens)
nanollada/model.py:159
Function
generate_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
Function
get_token_bytes
(device="cpu")
nanollada/tokenizer.py:105
Method
id_to_token
(self, id)
nanollada/tokenizer.py:51