ljsysfurry commited on
Commit
16a2e7e
·
verified ·
1 Parent(s): 5bd1c1b

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +79 -2
README.md CHANGED
@@ -1,3 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
- license: gpl-3.0
3
- ---
 
1
+ # 🚀 KV Cache Compression — 实现代码库
2
+
3
+ **大模型 KV 缓存压缩完整实现** | 基于 DeepSeek-V2-Lite MLA 实测
4
+
5
+ ## 🎯 核心成果 (L40S 实测)
6
+
7
+ | 方案 | KV/token | 压缩率 | 误差 |
8
+ |------|----------|--------|------|
9
+ | 标准 MHA | 270 KB | 1x | — |
10
+ | 吸收式 MLA | 30.4 KB | 8.9x | 0 |
11
+ | + per-channel INT8 | 15.2 KB | 17.8x | 0.011 |
12
+ | + 非对称 INT4 | **7.6 KB** | **35.6x** | 0.079 |
13
+
14
+ **单卡 L40S → 138 万 token 上下文,真实推理质量无损**
15
+
16
+ ## 📦 模块
17
+
18
+ | 文件 | 功能 |
19
+ |------|------|
20
+ | `kv_cache_core.py` | 核心算法: 吸收式MLA + per-channel量化 + 分层量化 + 容量估算 |
21
+ | `agentframe_core.py` | 前缀感知缓存池 (PrefixPool + 多会话共享) |
22
+ | `agentframe_orchestrator.py` | Agent 编排层 (脑/手/记忆/循环) |
23
+ | `agentframe_hands.py` | OpenClaw 工具集 (exec/browser/文件) |
24
+
25
+ ## 🔑 核心算法
26
+
27
+ ### 1. 吸收式 MLA 缓存
28
+ 标准 transformers 缓存展开后的 K/V (270KB, 浪费 MLA 架构优势)。
29
+ 本实现直接缓存 576 维潜在向量 (kv_lora_rank 512 + k_pe 64)。
30
+
31
+ ```python
32
+ # 缓存潜在向量, 计算时 kv_b_proj 展开
33
+ compressed_kv = kv_a_proj_with_mqa(hidden) # [seq, 512+64]
34
+ latent, k_pe = torch.split(compressed_kv, [512, 64], dim=-1)
35
+ # → 只缓存 latent + k_pe = 30.4KB/token
36
+ ```
37
+
38
+ ### 2. per-channel 量化
39
+ 潜在向量 outlier 按 channel 局部存在, per-tensor 被拖累 (误差 0.298),
40
+ per-channel 各自归一化后误差降 27 倍 (0.011)。
41
+
42
+ ```python
43
+ # 512维分32块, 每块独立 scale
44
+ tc = tensor.view(-1, 32, 16)
45
+ scale = tc.abs().amax(dim=-1, keepdim=True) / 127
46
+ q = (tc/scale).round().clamp(-127, 127)
47
+ ```
48
+
49
+ ### 3. 分层量化 (Agent 专用)
50
+ 按信息价值分配精度: 思考链 INT8 / 工具结果 INT4。
51
+
52
+ ### 4. 前缀感知缓存池
53
+ 多个 Agent 共享 System Prompt 的 KV 缓存 (只存 1 份)。
54
+
55
+ ## 📊 验证数据
56
+
57
+ ```
58
+ 吸收式缓存 INT8 误差: 0.0050
59
+ 思考链 INT8 误差: 0.0037
60
+ 工具结果 INT4 误差: 0.0640
61
+ L40S 10GB → 138 万 token
62
+ ```
63
+
64
+ ## 🚀 快速开始
65
+
66
+ ```bash
67
+ # 核心算法 (无需 GPU)
68
+ python3 kv_cache_core.py
69
+
70
+ # Agent 框架
71
+ python3 agentframe_orchestrator.py
72
+ ```
73
+
74
+ ## 📄 许可证
75
+
76
+ GPL-3.0 License
77
+
78
  ---
79
+
80
+ *Cloud LTE Studio · 2026-08-09*