35 Commits

Author SHA1 Message Date
44fe6259ec Experiment 1.4.7: Memory Bank文本初始化 + 部分冻结机制
## 主要改进
- 🔥 Memory Bank文本初始化:使用sentence_trex_data.json真实文本数据
- 🔥 部分冻结机制:新增freeze_ratio=0.2,保护20%重要记忆条目
- 📊 性能提升:推理Loss改善5.5% (2.4699 vs 2.6142)

## 核心变更
### model/LMConfig.py
- 新增freeze_ratio参数,支持Memory Bank条目冻结控制

### model/model_memory.py
- 实现freeze_mask机制,随机冻结20%记忆条目
- EMA更新过滤:只更新未冻结条目,保护重要知识
- 统计信息增强:新增冻结条目数量和比例监控

### train_pretrain_accelerate.py
- model_memory完整初始化支持:文本数据处理、缓存机制
- sentence_trex_data.json文本tokenization和长度处理
- memory_bank_init缓存优化,提升重复实验效率

### 实验文档
- experiment/EXPERIMENT_1_4_7.md:完整实验记录和结果分析
- run_file/experiment_1_4_7.sh:实验执行脚本
- CLAUDE.md:架构设计防护规则和模型版本管理规范

## 实验结果
 文本初始化效果验证:Loss性能改善5.5%
 冻结机制技术实现:209,715/1,048,576条目成功冻结
 生成连贯性仍需改进:架构级问题待解决

## 下一步优化
- EOS token控制修复
- Cross-attention权重优化
- 生成参数调优(temperature/top_p)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:32:52 +08:00
cf9acb2064 Experiment 1.4.6: Token-based Memory架构实现
完成实验1.4.6的Token-based Memory架构,实现以下改进:
- 记忆库从连续特征向量存储改为离散token ID存储
- 实现双向编解码机制(embedding→特征→output→token)
- 优化EMA更新参数:ema_decay=0.9, ema_update_freq=5
- 显著降低GPU显存使用:从23GB降至13GB(-43%)
- 推理Loss从2.6382降至2.6142(改善0.9%)

技术亮点:
- 有效表示维度从128提升至4096(32x增强)
- 稀疏缓存机制避免内存爆炸
- 立即压缩策略平衡显存和性能
- 人类可解释的记忆内容

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-14 23:04:52 +08:00
d07c2aa2e6 Experiment 1.4.6: Token-based Memory架构实现
完成实验1.4.6的Token-based Memory架构,实现以下改进:
- 记忆库从连续特征向量存储改为离散token ID存储
- 实现双向编解码机制(embedding→特征→output→token)
- 优化EMA更新参数:ema_decay=0.9, ema_update_freq=5
- 显著降低GPU显存使用:从23GB降至13GB(-43%)
- 推理Loss从2.6382降至2.6142(改善0.9%)

技术亮点:
- 有效表示维度从128提升至4096(32x增强)
- 稀疏缓存机制避免内存爆炸
- 立即压缩策略平衡显存和性能
- 人类可解释的记忆内容

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-12 11:07:23 +08:00
a7fe947a35 Experiment 1.4.5:使用VQ-VAE的EMA来更新数据库 2025-08-09 10:47:35 +08:00
9244d47c39 Experiment 1.4.4:负载平衡有效 2025-08-07 11:51:55 +08:00
e61d92c4bc Experiment 1.4.4:负载平衡有效 2025-08-07 11:43:23 +08:00
fcdbd220a8 Experiment 1.4.3:极度过拟合 2025-08-06 11:55:36 +08:00
57d6d768e1 Experiment 1.4.2: 门控MLP融合串型连接验证连接方式对记忆库性能的影响
## 实验目标
验证连接方式是否是导致实验1.4.1性能下降的主要原因,通过将跳接(交叉注意力)
改为串型连接(门控MLP融合)来测试记忆库机制的有效性。

## 核心改进
- 保留Product Key Memory记忆选择机制
- 使用串型连接替代跳接连接
- 门控MLP融合替代交叉注意力
- 拼接h_attn和选中记忆进行处理

## 实验结果
- 训练Loss: 2.75 (vs 1.4.1的2.84, 1.4.0的2.43)
- 评估Loss: 2.33 (vs 1.4.1的7.68, 1.4.0的1.99)
- 生成质量: 6.2/10 (vs 1.4.1的2.0/10, 1.4.0的7.5/10)
- 训练时间: 15.4小时,GPU内存: ~22GB

## 关键发现
 连接方式确实是性能差异的关键因素
 门控MLP融合显著优于交叉注意力
 记忆库机制本身可行,但需要优化记忆质量

## 技术实现
- 实现GatedMemoryFusion类替代CrossAttentionMemory
- 使用类SwiGLU的门控MLP结构
- 拼接输入维度: dim + num_selected * knowledge_dim
- 门控激活函数: SiLU + 元素级乘法

## 文件变更
- model/model_memory.py: 实现门控MLP融合机制
- run_file/experiment_1_4_2.sh: 实验执行脚本
- experiment/EXPERIMENT_1_4_2.md: 完整实验记录和分析

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-04 20:12:00 +08:00
bba325ef7e Experiment 1_4_1 2025-08-03 14:25:26 +08:00
c0424644f5 Experiment_1_4_0 2025-08-01 15:54:21 +08:00
d9d281967e 修复了一些bug 2025-07-17 12:06:28 +08:00
d701003f8a pretrain过程中会打印10个token以方便观察 2025-07-17 00:05:34 +08:00
2797b76939 experiment_1.3.0-1.3.2 2025-07-13 21:28:46 +08:00
5e464bbd3f 添加了对于多种模型的支持 2025-07-12 18:00:53 +08:00
75265f6652 使用分类来获取谓词 2025-07-05 22:18:32 +08:00
fcab661af9 更新了配置文件 2025-06-30 19:51:07 +08:00
31eff0e3de 更新了两个模型 2025-06-30 18:54:42 +08:00
74e9293c9a DynamicKV-LLM Extra v1.0.0 2025-06-29 16:01:36 +08:00
d6617702a5 DynamicKV-LLM Pretrain v1.2.2:新数据集;使用uv;消除内存泄漏 2025-06-25 20:27:28 +08:00
770c34f0e3 DynamicKV-LLM Pretrain v1.2.1 2025-06-08 02:20:36 +00:00
1678e739b6 DynamicKV-LLM Pretrain v1.2.0 2025-06-07 02:41:45 +00:00
000e17a93f 修正了key分解、负载均衡等错误 2025-06-06 11:25:59 +08:00
64e92473c3 数据初始化使用了缓存 2025-05-29 20:29:45 +08:00
6932e5fa8e 使用TREx数据集生成数据库初始化问题 2025-05-29 19:30:19 +08:00
c5d0a3aba3 更新了忽视列表 2025-05-29 19:28:39 +08:00
67c632d010 update 2025-05-27 11:46:18 +08:00
c96a9c35d5 对数据库进行了初始化 2025-05-26 23:09:03 +08:00
c09cd63794 基于trex数据集构建知识库单初始值预处理 2025-05-23 15:47:17 +08:00
Jax922
45da3b383b DynamicKV-LLM Pretrain v1.1.2 2025-05-23 01:18:08 +08:00
00d3c24e03 构建了数据库解码模型 2025-05-22 11:32:15 +08:00
Jax922
feeccf733c DynamicKV-LLM Pretrain v1.1.1 2025-05-22 10:05:31 +08:00
Jax922
42e3d38a3f 使用变量代替固定值 2025-05-21 08:14:36 +00:00
Gary
d7fe504e1e update 2025-05-16 08:38:59 +00:00
Jax922
5841f8b4e5 DynamicKV-LLM Pretrain v1.1.0 2025-05-14 00:42:50 +08:00
089afd6728 DynamicKV-LLM Pretrain v1.1.0 2025-05-14 00:01:40 +08:00