HazyResearch/ncm

NCM: Next Concept Modeling

Next‑Concept Modeling (NCM)

概要 – NCM 是一个研究级的 并行 文本生成框架。它分两个阶段工作:

  1. 多尺度残差 VQ 分词器 – 将序列转换为离散代码的层次结构(粗 → 细)。
  2. Next‑concept transformer – 并行预测层次结构的每一层,因此每层只需一次前向传播。

重要性 – 通过一次生成一个层次的整个块,NCM 可以比强扩散基线快 9‑31 倍地生成高质量文本,同时在摘要(XSum)、机器翻译(WMT‑14)、语言建模(LM1B、TinyStories、OpenWebText)甚至结构化生成(数独)等任务上匹配或超越其得分。


亮点

  • 从粗到细生成 – 模型首先输出粗略草图,然后在几个层次上细化。
  • 速度‑质量权衡 – 基准测试显示,在墙钟时间的一小部分内,ROUGE、BLEU、chrF 和数独求解率相当。
  • 发布的检查点 – 许多数据集的预训练分词器和生成器托管在 Hugging Face 上。

快速开始

# 克隆并安装
git clone https://github.com/HazyResearch/ncm.git
cd ncm
pip install -r requirements.txt   # Python ≥3.10,推荐启用 CUDA 的 PyTorch

运行评估(以 XSum 为例)

# 下载模型和数据
hf download hazyresearch/ncm-checkpoints --local-dir artifacts
hf download hazyresearch/ncm-datasets --repo-type dataset --local-dir data

# 生成并评分
python evaluate.py \
  --config config/eval/xsum.yaml \
  --checkpoint-dir artifacts/xsum \
  --data-dir data/xsum

添加 --cfg <scale> 以进行无分类器引导(例如,在 WMT‑14 上使用 --cfg 1.0)。


仓库布局

  • evaluate.py – 生成和指标计算的入口点。
  • scripts/ – 每个 GPU 的生成分片和合并脚本。
  • config/eval/ – 评估配置,镜像每个检查点附带的 config.yaml。
  • models/, tokenization/ – next‑concept 生成器和多尺度 VQ 分词器的实现。

可用模型(Hugging Face 集合)

任务 模型变体 分词器 生成器 配置
XSum – tokenizer.pt generator.pt config.yaml
WMT14 De‑En – tokenizer.pt generator.pt config.yaml
Sudoku easy / medium / hard tokenizer.pt generator.pt config.yaml
LM1B small / medium / large tokenizer.pt generator.pt config.yaml
TinyStories, OpenWebText – tokenizer.pt generator.pt config.yaml

引用

如果您在研究中使用 NCM,请引用:

@misc{kumbong2026nextconcept,
  title={Next-Concept Modeling: Fast, Parallel Coarse-to-Fine Text Generation},
  author={Hermann Kumbong and Ishan S. Khare and Iddah Mlauzi and Andrew Woen and Charles Ding and E. Kelly Buchanan and Simran Arora and Azalia Mirhoseini and Christopher Ré},
  year={2026},
  eprint={2610.14162},
  archivePrefix={arXiv},
  primaryClass={cs.CL},
  url={https://arxiv.org/abs/2610.14162}
}

许可证

MIT – 参见 LICENSE。


底线 – NCM 提供了一种新颖、快速、并行的文本生成方法,可扩展到许多任务。该仓库提供代码、预训练检查点和评估脚本,以复现报告的结果。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト