# ai llm **Repository Path**: YYFDFS/ai-llm ## Basic Information - **Project Name**: ai llm - **Description**: 介绍 因为没有任何原因,或许吧 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-18 - **Last Updated**: 2026-07-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ai-llm — 现代 LLM 训练框架(PyTorch 实现) > 24 + 8 = 32 个 SOTA LLM 训练/推理技术的完整 PyTorch 教学实现,CPU 友好,可端到端训练 16.95M 参数模型。 > 本分支(master)是 Python 主线,配套 C++ libtorch 实现于 [cpp/](cpp/) 目录。 [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Python](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/) [![PyTorch](https://img.shields.io/badge/PyTorch-2.4+-red.svg)](https://pytorch.org/) [![Platform](https://img.shields.io/badge/platform-Linux%20CPU-lightgrey.svg)](#) --- ## 目录 - [项目定位](#项目定位) - [技术栈一览(32 项)](#技术栈一览32-项) - [目录结构](#目录结构) - [快速开始](#快速开始) - [命令手册](#命令手册) - [核心模块详解](#核心模块详解) - [配置参考](#配置参考) - [数据集与训练管线](#数据集与训练管线) - [与 Rust 分支对应关系](#与-rust-分支对应关系) - [开发与扩展](#开发与扩展) - [常见问题](#常见问题) --- ## 项目定位 **完整可训练**:不是模型加载器,是从数据下载到生成评测的完整 pipeline,16.95M 参数模型可在 2 核 CPU 上训完。 **技术栈最全**:覆盖 32 个 SOTA 技术(5 大类:稳定化 / 架构 / 优化器 / 注意力变体 / 量化加速),每个都有论文出处。 **CPU 优先**:所有计算在 CPU 上完成(BF16 autocast 原生支持),无需 GPU 即可复现。 **模块化**:每个技术都是独立配置开关,`--muon --qk-clip --situ --swa-attn` 可自由组合。 **自动化**:训练完成自动 push 到 Gitee,数据集定时上传,CI 友好。 --- ## 技术栈一览(32 项) ### Tier 1 — 稳定化技巧(5 项) | # | 技术 | 来源论文 | 文件 | |---|------|---------|------| | 1 | Z-Loss | [PaLM arXiv 2204.02311](https://arxiv.org/abs/2204.02311) | [train.py](train.py) | | 2 | Value Residual Learning | [arXiv 2410.17897](https://arxiv.org/abs/2410.17897) | [model.py](model.py) | | 3 | Per-Head Gated Attention | IMU-1 TR | [model.py](model.py) | | 4 | EMA 权重平均 | StableVicuna / Qwen | [train.py](train.py) | | 5 | WSD LR Schedule | [MiniCPM arXiv 2404.06395](https://arxiv.org/abs/2404.06395) | [train.py](train.py) | ### Tier 2 — 架构扩展(6 项) | # | 技术 | 来源 | 文件 | |---|------|------|------| | 6 | MoE FFN (top-k 路由) | Mixtral / LFM2 | [model.py](model.py) | | 7 | Muon 优化器 | [arXiv 2502.19882](https://arxiv.org/abs/2502.19882) | [optimizer.py](optimizer.py) | | 8 | Q/K LR Scale | [arXiv 2511.21377](https://arxiv.org/abs/2511.21377) | [train.py](train.py) | | 9 | Parallel Attn+FFN | GPT-J | [model.py](model.py) | | 10 | DropPath / Stochastic Depth | Stochastic Depth ICCV 2016 | [model.py](model.py) | | 11 | Sandwich Norm | Mistral / Gemma | [model.py](model.py) | ### Tier 3 — 注意力变体(2 项,互斥) | # | 技术 | 来源 | 文件 | |---|------|------|------| | 12 | GTA (Group Tied Attention) | COLM 2025 | [model.py](model.py) | | 13 | MLA (Multi-head Latent Attention) | DeepSeek-V2 | [model.py](model.py) | ### Tier 4 — 论文移植(10 项) | # | 技术 | 来源 | 文件 | |---|------|------|------| | 14 | QK-Clip (MuonClip) | Kimi K2 | [optimizer.py](optimizer.py) | | 15 | Layer-wise LR Decay | BERT / GPT-2 | [train.py](train.py) | | 16 | Label Smoothing | Szegedy 2016 | [train.py](train.py) | | 17 | Attention Sink | [StreamingLLM arXiv 2309.17453](https://arxiv.org/abs/2309.17453) | [generate.py](generate.py) | | 18 | SWA (Sliding Window Attention) 5:1 | Gemini 3 | [model.py](model.py) | | 19 | SOAP 优化器 | ICLR 2025 | [optimizer.py](optimizer.py) | | 20 | COSMOS 优化器 | [arXiv 2502.17410](https://arxiv.org/abs/2502.17410) | [optimizer.py](optimizer.py) | | 21 | MARS 优化器 | ICML 2025 | [optimizer.py](optimizer.py) | | 22 | MTP (Multi-Token Prediction) | DeepSeek-V3 | [spec_decode.py](spec_decode.py) | | 23 | INT8 量化 | 通用 | [quant.py](quant.py) | ### Tier 4.5 — 推理加速(1 项) | # | 技术 | 来源 | 文件 | |---|------|------|------| | 24 | 投机解码(5 种变体) | — | [spec_decode.py](spec_decode.py) | 5 种投机解码变体: - **Prompt Lookup**:n-gram 草稿匹配 - **Lookahead**:多分支并行解码 - **D3**:层数衰减解码 - **Medusa**:多头并行预测 - **MTP**:DeepSeek-V3 风格多 token 预测 ### K3 / DSV4 / Phi-4 — 最新技术(8 项) | # | 技术 | 来源 | 文件 | |---|------|------|------| | 25 | SiTU GLU FFN | K3 Kimi | [model.py](model.py) | | 26 | QK-Clip Scheduler | Kimi K2 MuonClip | [optimizer.py](optimizer.py) | | 27 | Per-Head Muon | K3 | [optimizer.py](optimizer.py) | | 28 | Quantile Balancing MoE 路由 | K3 | [pts_dpo.py](pts_dpo.py) | | 29 | MXFP4 QAT 量化 | K3 / OCP | [qat_mxfp4.py](qat_mxfp4.py) | | 30 | PTS-DPO Pivotal Token Search | Phi-4 | [pts_dpo.py](pts_dpo.py) | | 31 | CoT TPT 思维轨迹 | Phi-4 | [cot_data.py](cot_data.py) | | 32 | Attention Residuals | K3 | [model.py](model.py) | --- ## 目录结构 ``` ai-llm/ ├── README.md ← 本文件 ├── config.py ← ModelConfig / TrainConfig(171 行,全部配置项) ├── model.py ← RMSNorm + RoPE + Attention + SwiGLU/SiTU + MoE + Block + LanguageModel (627 行) ├── optimizer.py ← Muon + Per-Head Muon + QK-Clip + SOAP + COSMOS + MARS (274 行) ├── train.py ← 训练循环(BF16 / 梯度累积 / EMA / Z-Loss / 自动上传)(849 行) ├── generate.py ← KV cache 推理 + Top-K/P 采样 + 投机解码 + Attention Sink (600 行) ├── spec_decode.py ← 5 种投机解码 + Medusa 训练 (419 行) ├── quant.py ← INT8 per-channel 量化 (80 行) ├── mtp.py (in spec_decode) ← Multi-Token Prediction │ ├── qat_mxfp4.py ← K3 MXFP4 量化感知训练(E2M1 网格,group=32)(155 行) ├── pts_dpo.py ← K3 Quantile Balancing + Phi-4 PTS-DPO (196 行) ├── cot_data.py ← Phi-4 TPT 思维轨迹数据增强 (239 行) ├── longcat_synth.py ← LongCat API 蒸馏数据合成器 (682 行) ├── datasets_loader.py ← 多数据集加载(wikitext/openwebtext/fineweb/alpaca)(430 行) ├── upload_dataset.py ← 数据集定时上传到 Gitee (129 行) │ ├── data.py ← HuggingFace 数据管线 + GPT-2 BPE tokenizer (427 行) ├── compile.py ← torch.compile 配置 (74 行) ├── export_weights_cpp.py ← 导出权重给 C++ 版本 (62 行) │ ├── bench.py ← 单步训练 benchmark (33 行) ├── bench_all.py ← 全推理技术端到端基准 (132 行) ├── bench_infer.py ← 推理组合对比 (129 行) ├── bench_k3_combos.py ← K3 技术组合收敛对比 (432 行) │ ├── test_all_tech.py ← 全技术自检 (254 行) ├── test_k3_tech.py ← K3 技术自检 (244 行) ├── test_cot_e2e.py ← CoT 端到端测试 (107 行) ├── test_cot_quick.py ← CoT 快速测试 (126 行) │ ├── datasets/ ← 合成数据集存储 │ ├── longcat_cot.json ← LongCat 合成的 CoT 数据(599 KB) │ └── longcat_cot_tokens.npy ← tokenizer 编码后的 token(633 KB) │ └── cpp/ ← C++ libtorch 实现(与 Python 1:1 对应) ├── CMakeLists.txt ├── export_weights_cpp.py └── src/ ├── model.{h,cpp} ← 完整模型 ├── train.cpp ← 训练 ├── generate.cpp ← 推理 ├── spec_decode.{h,cpp}← 投机解码 ├── quant.h ← INT8 量化 ├── bench.cpp ← 基准 ├── config.h └── data_loader.h ``` **Python 源码统计**:25 个 `.py` 文件,共 **6933 行**。 --- ## 快速开始 ### 依赖 ```bash # Python 3.10+ pip install torch numpy tiktoken datasets transformers tqdm ``` 无需 CUDA,所有计算在 CPU 上完成。 ### 训练(默认配置) ```bash # 4000 步训练(约 2 小时在 2 核 CPU 上) python train.py --iters 4000 # 短训练快速验证(100 步) python train.py --iters 100 --log-interval 10 ``` ### 生成 ```bash # 贪心解码 python generate.py --prompt "The future of AI is" # Top-K=40 + Top-P=0.9 采样 python generate.py --prompt "The future of AI is" --temp 0.8 --topk 40 --topp 0.9 # 用投机解码 python generate.py --prompt "..." --spec prompt-lookup python generate.py --prompt "..." --spec lookahead python generate.py --prompt "..." --spec d3 python generate.py --prompt "..." --spec medusa python generate.py --prompt "..." --spec mtp # CoT 思维链生成(先思考再总结) python generate.py --prompt "..." --think 200 ``` ### Benchmark ```bash python bench.py # 单步训练基准 python bench_all.py # 全推理技术对比 python bench_infer.py # 推理组合对比 python bench_k3_combos.py # K3 技术组合收敛对比 ``` ### 自检 ```bash python test_all_tech.py # 全技术自检 python test_k3_tech.py # K3 技术自检 python test_cot_quick.py # CoT 快速测试 python test_cot_e2e.py # CoT 端到端测试 ``` --- ## 命令手册 ### `train.py` 训练参数 ``` 核心参数: --iters 训练步数(覆盖 max_iters) --dataset 数据集(wikitext-2 / openwebtext / fineweb-edu / alpaca) --no-resume 不加载已有 checkpoint --no-bf16 关闭 BF16 混合精度 --fp32 强制 FP32(覆盖 BF16) --log-interval 日志打印间隔 --eval-interval 评测间隔 --no-upload 训练完成不自动上传到 Gitee 模型开关: --muon 启用 Muon 优化器(替代 AdamW) --muon-lr Muon 学习率 --qk-clip 启用 QK-Clip(与 Muon 配套,K2 MuonClip) --qk-clip-thresh QK-Clip 阈值(默认 100.0) --situ 用 SiTU 激活函数替代 SwiGLU(K3) --attnres 启用 Attention Residuals(K3) --v-residual 启用 Value Residual Learning(DSV4) LR 调度: --wsd 启用 WSD 调度(替代 cosine) --no-lldr 关闭 Layer-wise LR Decay 正则化: --no-label-smoothing 关闭 label smoothing --no-z-loss 关闭 Z-Loss --no-ema 关闭 EMA --no-swa 关闭 SWA 权重平均 架构开关: --no-parallel 关闭 Parallel Attn+FFN(用串行) --no-droppath 关闭 DropPath --no-sandwich-norm 关闭 Sandwich Norm --swa-attn 启用 SWA 5:1 交替注意力(Gemini 3) --swa-window SWA 窗口大小 数据: --no-pack-sequences 关闭序列打包 --no-ngram-filter 关闭 n-gram overlap filter --tpt 启用 TPT 思维轨迹数据增强 --use-compile 启用 torch.compile ``` ### `generate.py` 生成参数 ``` 基础: --prompt 提示词(默认 "The future of AI is") --prompts ... 多 prompt 批处理 --tokens 生成 token 数(默认 80) --temp 温度(默认 0.8) --topk Top-K(默认 40) --topp Top-P(默认 1.0) 加速: --no-cache 禁用 KV cache --int8 INT8 量化推理 --compile torch.compile 模式(reduce-overhead / max-autotune / default) --spec 投机解码(prompt-lookup / lookahead / d3 / medusa / mtp) 投机解码参数: --d3-alpha D3 衰减系数(默认 0.95) --medusa-heads Medusa head 数(默认 4) --medusa-train-iters Medusa 训练步数 CoT: --think 思维链长度(生成 think_start..think_end..summary) 其他: --ckpt checkpoint 路径(默认 checkpoints/model.pt) ``` --- ## 核心模块详解 ### model.py(627 行)— 模型架构 ``` LanguageModel (16.95M 参数) ├── token_emb: Embedding(50257, 256) ← GPT-2 BPE 词表 ├── pos_emb: 无(用 RoPE) ├── blocks: ModuleList[TransformerBlock × 6] │ └── TransformerBlock │ ├── attn_norm: RMSNorm ← Pre/Sandwich/Hybrid 多种 norm │ ├── attn: Attention │ │ ├── q_proj (256 → 256, 8 头) │ │ ├── k_proj / v_proj (256 → 64, 2 头 GQA 4:1) │ │ ├── o_proj (256 → 256) │ │ ├── q_norm / k_norm ← QK-Norm │ │ └── 可选: kv_proj (GTA) / kv_down+up (MLA) │ ├── ffn_norm: RMSNorm │ └── ffn: SwiGLU 或 SiTUGLU ← 按 cfg.ffn_type │ ├── w_gate (256 → 672) │ ├── w_up (256 → 672) │ └── w_down (672 → 256) ├── out_norm: RMSNorm └── lm_head: Linear(256 → 50257) ← tie_embeddings=true 时与 emb 共享 ``` **关键设计**: - **GQA 4:1**:n_heads=8, n_kv_heads=2,减少 KV cache 75% - **RoPE base=500000**:Llama-3 风格长序列外推 - **SwiGLU FFN**:d_ff=672 = 8/3 × 256,32 对齐 - **Sandwich Norm**:embedding 后加 RMSNorm,tied embedding 数值稳定 ### optimizer.py(274 行)— 优化器矩阵 | 优化器 | 关键算法 | 用途 | |--------|---------|------| | AdamW | 标准二阶矩 | 默认 | | Muon | Newton-Schulz 5 步正交化 | 2D 权重 | | Per-Head Muon | q/k/v_proj 按 head 拆开 NS | K3 | | SOAP | Shampoo + AdamW | ICLR 2025 | | COSMOS | AdamW + Newton-Schulz | 2502.17410 | | MARS | 修正 Adam | ICML 2025 | | QK-Clip Scheduler | max_logit 监控 + 自适应缩放 | Kimi K2 | **Newton-Schulz 系数**:`(3.4445, -4.7750, 2.0315)`,5 步收敛。 ### train.py(849 行)— 训练管线 涵盖: - **权重初始化**:残差缩放初始化(深层必须),tied embedding std=0.02 - **BF16 混合精度**:autocast,CPU 原生支持,无需 GradScaler - **梯度累积**:模拟大 batch(默认 batch=8 × accum=4 = 32) - **梯度裁剪**:max_norm=1.0 - **激活重计算**:`model.use_checkpoint` 节省内存 - **断点续训**:保存 model + optimizer + iter + rng state - **周期性评测**:每 eval_interval 步测 ppl + 采样监控 - **自动上传**:训练完成自动 push checkpoint 到 Gitee ### spec_decode.py(419 行)— 5 种投机解码 | 算法 | 类/函数 | 训练成本 | 加速比 | |------|--------|---------|--------| | Prompt Lookup | `prompt_lookup_generate` | 无需训练 | 1.5-2x | | Lookahead | `lookahead_generate` | 无需训练 | 1.3-1.8x | | D3 | `d3_generate` | 无需训练 | 1.2-1.5x | | Medusa | `MedusaModel` + `medusa_generate` | 训练 Medusa head | 2-3x | | MTP | MTP head(DeepSeek-V3) | 训练 MTP head | 2-3x | ### qat_mxfp4.py(155 行)— K3 MXFP4 量化 - **QATMXFP4Linear**:4-bit 浮点权重,E2M1 网格(8 个非零值) - **group_size=32**:每 32 个元素共享 scale - **STE**:直通估计器,量化误差反传 - **QATMXFP4Embedding**:embedding 也量化 ### pts_dpo.py(196 行)— Phi-4 PTS-DPO - `quantile_balance`:K3 无超参 MoE 路由均衡 - `quantile_balance_loss`:分位数均衡 loss - `find_pivotal_tokens`:找高熵位置作为 pivotal tokens - `pts_dpo_loss`:Pivotal Token Search DPO loss ### cot_data.py(239 行)— Phi-4 TPT 思维轨迹 把普通文本包装成: ``` [THINK_START] 推理过程 [THINK_END] [SUMMARY_START] 结论 [SUMMARY_END] ``` - `extend_vocab_for_cot`:扩展词表 4 个特殊 token - `augment_batch_with_tpt`:训练时按比例 aug - `cot_token_ids`:返回 4 个特殊 token id ### longcat_synth.py(682 行)— LongCat 数据合成 用美团 LongCat-2.0(1.6T MoE)作教师模型合成训练数据: - 调用 LongCat API 生成 CoT 推理样本 - 蒸馏到 16.95M 学生模型 - 输出 `longcat_cot.json` + `longcat_cot_tokens.npy` ### datasets_loader.py(430 行)— 多数据集加载 支持 4 种数据源: - **wikitext-103**:默认预训练 - **openwebtext-10k**:更大规模 - **fineweb-edu-tiny**:高质量教育数据 - **alpaca**:SFT 指令调优 支持按权重混合采样。 --- ## 配置参考 ### ModelConfig 默认值 ```python ModelConfig( vocab_size=50257, # GPT-2 BPE d_model=256, n_layers=6, n_heads=8, # query 头 n_kv_heads=2, # GQA 4:1 d_ff=672, # 8/3 × 256 max_seq_len=256, rope_base=500000.0, # Llama-3 风格 rope_scale=1.0, dropout=0.0, # 小模型关闭 tie_embeddings=True, qk_norm=True, bias=False, parallel_attn_ffn=True, # GPT-J 风格 droppath_rate=0.05, sandwich_norm=True, ffn_type="swiglu", # 或 "situ"(K3) use_attnres=False, # K3 use_v_residual=False, # DSV4 swa_pattern="none", # 或 "5to1"(Gemini 3) swa_window=128, ) ``` 参数量预算: - token emb (tied):50257 × 256 = 12.9M - 6 层 transformer:~3.0M - **合计约 16.95M**(embedding 占大头,符合现代 LLM 实际) ### TrainConfig 默认值 ```python TrainConfig( dataset="wikitext-2-raw-v1", seq_len=256, batch_size=8, grad_accum_steps=4, # 有效 batch 32 max_iters=4000, eval_iters=20, eval_interval=200, log_interval=10, lr=3e-4, min_lr=3e-5, warmup_iters=100, weight_decay=0.1, grad_clip=1.0, qk_lr_scale=1.0, # Q/K 学习率缩放 lr_schedule="cosine", # 或 "wsd" decay_frac=0.1, use_ema=True, ema_decay=0.999, optimizer="adamw", # adamw / muon / soap / cosmos / mars muon_lr=0.02, soap_lr=0.01, mars_lr=3e-4, use_bf16=True, grad_checkpoint=False, label_smoothing=0.1, use_layer_lr_decay=True, layer_lr_decay=0.8, out_dir="checkpoints", resume=True, seed=1337, ) ``` --- ## 数据集与训练管线 ### 数据流 ``` HuggingFace datasets → GPT-2 BPE → 质量过滤 → 打包 → batch 采样 ↓ ↓ ↓ ↓ ↓ wikitext-103 tiktoken 去空行/短行 pack grad_accum 50257 vocab 256 8 × 4 = 32 ``` ### 支持数据集 | 数据集 | 类型 | 大小 | 用途 | |--------|------|------|------| | wikitext-2-raw-v1 | 预训练 | 2 MB | 默认 | | wikitext-103 | 预训练 | 500 MB | 更大训练 | | openwebtext-10k | 预训练 | 50 MB | 高质量网页 | | fineweb-edu-tiny | 预训练 | 20 MB | 教育数据 | | alpaca | SFT | 50 MB | 指令调优 | | longcat_cot.json | 合成 | 600 KB | LongCat CoT 蒸馏 | ### 自动上传 `train.py` 训练完成自动 push 到 Gitee: - checkpoint → Gitee LFS 或 release - 训练日志 → `training_log.md` `upload_dataset.py` 定时上传合成数据集到 `datasets/`。 --- ## 与 Rust 分支对应关系 | 维度 | Python(master,本分支) | Rust(feat/modern-llm-techs) | |------|--------------------------|-------------------------------| | 代码量 | 6933 行(25 个 .py) | 2285 行(12 个 .rs) | | 张量库 | PyTorch 2.4+ | candle 0.9 | | 后端 | CPU(BF16 autocast) | CPU(F32 only) | | 数据加载 | HuggingFace + tiktoken | char-level tokenizer | | 数据合成 | LongCat API + CoT | 模板骨架 | | SOAP/COSMOS | 完整实现 | AdamW 替代(无 eigh) | | MoE 路由 | 完整 top-k | top-1 简化 | | torch.compile | 支持 | N/A | | 自动上传 | 支持 | N/A | | 测试 | 4 个 test 脚本 | smoke + cargo test | | 训练数据 | 真实 wikitext | 随机数据 | 详细对应见 [Rust 分支 README](https://gitee.com/YYFDFS/ai-llm/blob/feat/modern-llm-techs/README.md)。 --- ## 开发与扩展 ### 添加新技术 1. 在 `config.py` 的 `ModelConfig` / `TrainConfig` 添加字段 2. 在 `model.py` / `optimizer.py` / `train.py` 中实现逻辑 3. 在 `train.py` 添加 argparse 开关 4. 在 `test_all_tech.py` 添加自检 5. 运行 `python test_all_tech.py` 验证 ### 添加新数据集 1. 在 `datasets_loader.py` 添加加载逻辑 2. 在 `config.py` 的 `TrainConfig.dataset` 加选项 3. 在 `train.py` 的 `--dataset` 参数加分支 ### 添加新投机解码 1. 在 `spec_decode.py` 添加函数 2. 在 `generate.py` 的 `--spec` 参数加选项 3. 在 `bench_all.py` 加 benchmark 组合 ### 提交到 Gitee ```bash git add . git commit -m "feat: 新增 XXX 技术" git push origin master ``` --- ## 常见问题 ### Q: CPU 训练能跑动吗? A: 能。默认配置在 2 核 CPU 上约 2 小时训完 4000 步,最终 ppl 约 5.5。BF16 autocast 让 PyTorch 在 CPU 上原生加速 1.5-2x。 ### Q: 如何切换优化器? A: `python train.py --muon` 切到 Muon,`--qk-clip` 配套启用 MuonClip。SOAP/COSMOS/MARS 需改 `TrainConfig.optimizer`。 ### Q: 投机解码怎么用? A: `python generate.py --spec prompt-lookup --prompt "..."`。Medusa/MTP 需先训练辅助 head。 ### Q: 如何用 CoT 数据? A: `python train.py --tpt` 启用 TPT 增强。或用 `longcat_synth.py` 合成新数据。 ### Q: 与 Rust 分支怎么选? A: 想要完整训练管线 + 真实数据 → master(Python);想要单 binary + 零依赖 → feat 分支(Rust)。 ### Q: C++ 版本怎么用? A: 见 [cpp/README.md](cpp/) 或 `python export_weights_cpp.py` 导出权重后用 `cmake` 编译。 --- ## License MIT ## 相关仓库 - **Rust 分支**:`feat/modern-llm-techs`(candle 0.9,2285 行) - **C++ 实现**:`cpp/` 目录(libtorch,~1500 行) - **Gitee 镜像**:[ai-llm-v2](https://gitee.com/YYFDFS/ai-llm-v2) ## 论文与参考 所有 32 个技术均标注 arXiv 编号,详见各模块顶部注释。关键论文: - [PaLM (Z-Loss)](https://arxiv.org/abs/2204.02311) - [Value Residual Learning](https://arxiv.org/abs/2410.17897) - [MiniCPM (WSD)](https://arxiv.org/abs/2404.06395) - [Muon](https://arxiv.org/abs/2502.19882) - [COSMOS](https://arxiv.org/abs/2502.17410) - [StreamingLLM](https://arxiv.org/abs/2309.17453) - [Pangu Ultra (Depth-Scaled)](https://arxiv.org/abs/2504.07866) - [LS-Attention](https://arxiv.org/abs/2505.15548) - [Q/K LR Scale](https://arxiv.org/abs/2511.21377)