$ the-wire · showcase
Fused cross-entropy lands on Ascend NPUs and Megatron, checkpoint offload stops assuming CUDA
By RepoJournal · Filed · About Alignment & Post-training · Composed from the cited sources · methodology
verl opened two new fused linear cross-entropy paths and unblocked non-CUDA checkpointing, while open-instruct made SFT row packing and IFEvalG scoring predictable.
[hardware, model, cfg, tests] feat: Ascend CANN fused linear cross-entropy verl-project/verl
verl now runs fused linear_cross_entropy on Ascend NPUs through CANN and torch_npu vocab-parallel fused CE, so use_fused_kernels=True keeps a real fused path on 910B instead of falling back to materializing full logits or tripping the CUDA Triton path, which the PR notes overflows UB there. The backward pass is hybrid: decisions branch on whether dentropy is zero.
[megatron] feat: add Liger TP fused cross entropy backend (#7945) verl-project/verl
The Megatron engine gains an opt-in Liger TP fused linear scaled cross-entropy output head, with Verl's existing Triton implementation still the default, so nothing changes unless you turn it on. This version keeps the integration out of liger_kernel.ops.cute and adds no YAML chunk, tile, or capacity knobs.
[ckpt, hardware] fix: make checkpoint CPU offload device-agnostic (#8232) verl-project/verl
FSDPCheckpointManager no longer gates sharded-state-dict CPU offload on is_cuda_available, which is torch.cuda.is_available() evaluated once at import in verl/utils/device.py. If you checkpoint on non-CUDA hardware, offload behavior now follows the device rather than the import-time CUDA check.
Opt-in row-aligned caches and explicit document boundaries for olmo-core SFT allenai/open-instruct
Two opt-in flags separate OLMo-core SFT row layout from the document-boundary source, addressing EOS-scan breakage in the existing packer: multi-turn rows split at each non-final assistant EOS (1.30% of Dolci-Think rows, 0.39% of trainable tokens), rows ending in a tool call (19.55% of nemotron rows) or truncated at max_seq_length merge into the next row, and 1 GiB file cuts land mid-row.
Fix IFEvalG word-counting checkers to ignore punctuation allenai/open-instruct
The count:counting_composition and count:count_unique checkers no longer score correct answers as zero: nltk.word_tokenize emitted punctuation as standalone tokens, so a sentence's terminal period counted against the word total. The fix also matches the instructed spaced * * * divider on its own line (spaces, tabs, CRLF allowed) and rejects inline dividers and the contiguous *** form.
Add MILES GRPO integration with OLMo-core allenai/open-instruct
open-instruct merged an opt-in MILES GRPO integration using OLMo-core for training and SGLang for generation, with the explicit caveat that it is not a release announcement. Existing scripts run unchanged and existing dependency pins remain; RL behavior requires opting in through configuration or the new APIs.