Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ConceptForge · 潜空间语言模型训练与推理平台

Python License CI Docker arXiv

让语言模型在「潜空间」预测概念,而不只是预测 token。


这是什么

ConceptForge 是一个「Next Concept Prediction(下一概念预测)」语言模型训练与推理平台, 受上海人工智能实验室与上海交通大学 LUMIA Lab 开源的 NCP-ArchPreview(arXiv 2609.10715) 启发而构建。

传统语言模型只预测「下一个 token」。NCP-ArchPreview 的洞见是:在预测下一个 token 之前, 先在潜空间预测下一个「概念」(一个跨 4 个 token 的语义单元)。这个看似简单的改动带来三个 硬指标收益:

指标 数值 含义
Token 效率 只需 51.3% 训练 token 达到 OLMo-3-7B 的最终预训练 loss
下游均分 +2.45 点 全量预训练后领先 7B 基线
GSM8K 数学 +5.99 点 概念级目标显著提升推理
投机解码 接受长度 +4.17% 概念注入 DFlash2 drafter
领域自适应 只更新 ~17M 参数 轻量 VQ 模块即可换领域

本仓库提供一套纯 numpy + 标准库、可直接运行的同构实现,覆盖从数据、训练、推理到 服务化的完整链路,让你可以离线验证 NCP 的核心机制。


核心架构

                    ┌─────────────────────────────────────────┐
   token ids  ───► │  Encoder (16 层因果 Transformer)          │
                    │   token ──► 隐状态序列 (hidden 4096)      │
                    └──────────────┬──────────────────────────┘
                                   │ 抽取概念(每 4 token 聚合)
                                   ▼
                    ┌─────────────────────────────────────────┐
                    │  Concept Module (8 层)                    │
                    │   预测「下一个概念」 ──► 反馈给 Decoder    │
                    │   Product Quantization (32 x 128 码本)    │
                    └──────────────┬──────────────────────────┘
                                   │ 概念反馈
                                   ▼
                    ┌─────────────────────────────────────────┐
                    │  Decoder (16 层因果 Transformer)          │
                    │   概念条件 ──► token logits ──► 文本       │
                    └─────────────────────────────────────────┘

   联合损失 = token 交叉熵 + λ · concept 交叉熵
  • Encoder / Concept / Decoder = 16 / 8 / 16 层,隐层 4096,32 头,与论文一致
  • Product Quantization:概念向量切 32 段,每段 128 码字,K-Means 构建码本
  • 两阶段课程:Stage 1 长程预训练(token 目标)→ Stage 2 概念引导精调(引入概念目标)
  • 投机解码:概念向量注入 drafter,提升平均接受长度

快速开始

1. 安装

git clone https://github.com/huzjie/conceptforge.git
cd conceptforge
pip install -e .          # 或 pip install -r requirements.txt

核心逻辑(concept / model / train / data)零外部依赖即可运行; numpy 可选,未安装时自动降级为纯 Python 回退(部分功能受限)。

2. 自检(doctor)

python -m conceptforge doctor

输出环境检查、架构常量、模型前向、量化器、tokenizer、NCP 效率指标全链路报告。

3. 训练

python -m conceptforge train --steps 50 --num-sentences 128 --max-len 64

4. 文本生成

python -m conceptforge generate --prompt "The latent space model" --max-new-tokens 64

5. 启动服务

python -m conceptforge serve          # http://localhost:8000
curl http://localhost:8000/health
curl -X POST http://localhost:8000/generate -H "Content-Type: application/json" \
     -d '{"prompt":"The latent space model","max_new_tokens":32}'

6. Docker

docker build -t conceptforge .
docker run -p 8000:8000 conceptforge

命令行

命令 说明
python -m conceptforge doctor 全链路自检
python -m conceptforge train 两阶段课程训练
python -m conceptforge generate 概念条件文本生成
python -m conceptforge predict 下一 token 概率预测
python -m conceptforge eval 损失 + 效率评测
python -m conceptforge serve 启动 FastAPI 服务

所有命令支持 --config config.yaml 指定配置。


目录结构

conceptforge/
├── concept/          # 概念表示 + PQ 量化 + 概念模块
├── model/            # 注意力 / Transformer / NCP 主模型 / drafter
├── train/            # 联合损失 / 优化器 / 课程 / 训练循环 / checkpoint
├── data/             # 语料合成 / 数据集 / 加载器 / 课程采样
├── serve/            # 推理引擎 / 投机解码 / FastAPI
├── eval/             # 损失 / 困惑度 / 效率评测
├── adapt/            # 轻量 VQ 领域自适应
├── cli/              # 命令行入口
├── models/           # 模型卡(model cards)
├── config.py         # 配置加载
├── tokenizer.py      # BPE 分词器
└── constants.py      # NCP 架构常量

文档

文档 内容
docs/architecture.md 系统架构设计
docs/concepts.md 概念表示与 Next Concept Prediction
docs/pq.md Product Quantization 详解
docs/training.md 两阶段课程与联合损失
docs/draft.md 概念注入投机解码
docs/adapt.md 轻量领域自适应
docs/eval.md 评测体系与效率指标
docs/api.md REST API 说明
docs/getting-started.md 快速上手指南
docs/model-cards.md 模型卡索引

许可

Apache License 2.0。本仓库是 NCP-ArchPreview(arXiv 2609.10715)的独立同构实现, 不包含原论文的模型权重;论文与权重请见原始出处。

致谢

感谢上海人工智能实验室与上海交通大学 LUMIA Lab 开源 NCP-ArchPreview 及其技术报告。

About

Next Concept Prediction (NCP) latent-space language model training & inference platform — inspired by NCP-ArchPreview (arXiv 2609.10715)

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages