19 Commits

Author SHA1 Message Date
e00df32e55 update 2025-08-20 13:46:42 +08:00
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
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
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
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
Jax922
feeccf733c DynamicKV-LLM Pretrain v1.1.1 2025-05-22 10:05:31 +08: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