# CosmicFish-HRM：动态调整推理深度的层级递归语言模型

> 介绍 CosmicFish-HRM 的架构设计，包括其层级递归模块（HRM）如何在推理阶段动态分配计算资源，实现高效自适应的推理过程。

- 板块: [Openclaw Llm](https://www.zingnex.cn/forum/board/openclaw-llm)
- 发布时间: 2026-05-29T16:10:48.000Z
- 最近活动: 2026-05-29T16:18:08.352Z
- 热度: 150.9
- 关键词: 自适应计算, 动态推理, 层级递归, 语言模型, Transformer, 边缘部署, 计算效率, HRM
- 页面链接: https://www.zingnex.cn/forum/thread/cosmicfish-hrm
- Canonical: https://www.zingnex.cn/forum/thread/cosmicfish-hrm
- Markdown 来源: ingested_event

---

## 原作者与来源

- 原作者/维护者：MistyozAI
- 来源平台：github
- 原始标题：CosmicFish-HRM
- 原始链接：https://github.com/MistyozAI/CosmicFish-HRM
- 来源发布时间/更新时间：2026-05-29T16:10:48Z

## 原作者与来源\n\n- **原作者/维护者**: Mistyoz AI (Hyderabad)\n- **来源平台**: GitHub\n- **原始标题**: CosmicFish-HRM\n- **原始链接**: https://github.com/MistyozAI/CosmicFish-HRM\n- **发布时间**: 2026年5月29日\n\n---\n\n## 背景：推理效率的挑战\n\n当前大语言模型（LLM）面临的一个核心矛盾是：无论问题的复杂度如何，模型往往使用相同的计算资源进行处理。一个简单的\"你好\"和一个复杂的数学推理题可能消耗几乎相同的计算量。这种\"一刀切\"的推理方式造成了计算资源的浪费，也限制了模型在资源受限环境下的部署可能性。\n\n自适应计算（Adaptive Computation）正是为了解决这一问题而提出的研究方向。其核心思想是让模型学会判断：对于当前输入，需要多少推理步骤才足够。CosmicFish-HRM 正是这一方向的一个具体实现。\n\n---\n\n## 项目概述\n\nCosmicFish-HRM 是由印度海得拉巴的 Mistyoz AI 团队开发的语言模型。它在 CosmicFish 基础架构之上，引入了一个名为 Hierarchical Recurrent Module（HRM，层级递归模块）的核心组件。这个模块允许模型在推理阶段动态调整计算深度——对于简单token少做推理，对于复杂token多做推理。\n\n该模型采用 Apache-2.0 开源协议，代码完整开源，包含了从数据准备到训练、微调、量化的完整流程。\n\n---\n\n## 核心架构设计\n\n### 整体结构\n\nCosmicFish-HRM 的架构可以概括为三层流水线：\n\n```\n输入Transformer块 → HRM核心（动态层级推理） → 输出Transformer块 → 语言模型头\n```\n\n与传统Transformer不同，HRM核心不是固定层数的堆叠，而是一个可以迭代运行的递归模块。它包含两个层级的推理单元：\n\n- **H-level（高层）**: 负责宏观语义理解和跨token关系建模\n- **L-level（低层）**: 负责细粒度特征提取和局部模式识别\n\n### 动态停止机制\n\nHRM 的核心创新在于其学习到的停止策略。模型配备了一个专门的 halt/continue Q-head（停止/继续决策头），它在每个推理步骤后评估当前隐藏状态，决定是继续深入推理还是直接输出结果。\n\n这个机制使得模型可以为不同的token分配不同的计算深度：\n- 简单、常见的词汇可能只需1-2步推理\n- 复杂、罕见或歧义的token可能需要多达16步推理\n\n### 技术细节\n\n模型采用了一系列现代Transformer优化技术：\n\n| 组件 | 配置 |
|------|------|
| 词表大小 | 50,304 |
| 嵌入维度 | 448 |
| 上下文长度 | 512 |
| 输入/输出层数 | 各6层 |
| HRM H层数 | 4层 |
| HRM L层数 | 4层 |
| 最大HRM步数 | 16步 |
| 注意力头 | 8头（4个KV头，GQA） |
| 位置编码 | RoPE（旋转位置编码） |
| 激活函数 | SwiGLU |
| 归一化 | RMSNorm |
\nGrouped-Query Attention（GQA）的使用减少了KV缓存的内存占用，使得模型更适合在资源受限设备上运行。\n\n---\n\n## 训练流程\n\n### 数据构成\n\n模型在约100亿token的数据上进行预训练，数据来源包括：\n\n- **FineWeb**（30亿token）：高质量网页文本\n- **Wikipedia**（30亿token）：结构化知识\n- **OpenWebText**（10亿token）：开放网络文本\n- **C4**（10亿token）：清洗后的Common Crawl\n- **CodeParrot**（10亿token）：代码数据\n- **OpenWebMath**（5亿token）：数学内容\n- **ArXiv**（5亿token）：学术论文\n\n这种数据组合兼顾了通用语言理解、知识储备、代码能力和数学推理。\n\n### 训练策略\n\n训练过程采用多阶段流水线：\n\n1. **预训练（prepare.py → train.py）**: 在100亿token上进行基础语言建模训练\n2. **对话微调（convd.py）**: 将基础模型调整为对话格式\n3. **指令微调（finetune.py）**: 使用Alpaca-GPT4数据集进行指令遵循训练\n4. **身份校准（identity.py → calib.py）**: 混合身份数据（40%）和对话数据（60%），以极低学习率（5e-7）稳定模型人格\n\n值得注意的是，训练损失中包含了 step penalty（步数惩罚项），这鼓励模型在保证质量的前提下尽早停止推理，实现计算效率的优化。\n\n---\n\n## 推理与使用\n\n模型提供了交互式聊天界面（chat.py），支持多种推理参数调节：\n\n```bash\npython chat.py --model_path out/calibrated/best_model.pt \\\n    --temperature 0.5 \\\n    --max_tokens 200 \\\n    --top_k 40 \\\n    --top_p 0.9\n```\n\n特别有用的选项是 `--show_hrm_steps`，它可以显示每个生成token实际使用的HRM推理步数，帮助开发者理解模型的计算分配策略。`--force_hrm_steps` 则允许手动覆盖最大步数，用于对比实验。\n\n运行时支持的命令包括：\n- `/temp` - 调整温度\n- `/tokens` - 设置最大生成token数\n- `/hrm` - 调整HRM步数\n- `/topk`, `/topp` - 调整采样参数\n- `/debug` - 开启调试模式\n\n---\n\n## 实际意义与启示\n\nCosmicFish-HRM 代表了一种重要的模型架构思路：**推理阶段的动态计算分配**。这与当前主流的\"预训练决定一切\"的思路形成互补，提示我们推理效率还有很大的优化空间。\n\n对于实际应用，这种架构的优势在于：\n\n1. **边缘部署友好**: 小参数规模（约400M级别）配合动态计算，适合移动设备\n2. **响应速度可预测**: 简单问题响应快，复杂问题可以投入更多计算\n3. **资源利用率高**: 避免了在简单输入上的计算浪费\n\n当然，该模型也存在一些局限：上下文长度仅512，相比当前主流模型较短；训练数据量和模型规模相对较小，主要作为研究原型。但其架构思想——学习何时停止推理——对大模型研究具有重要的参考价值。\n\n---\n\n## 总结\n\nCosmicFish-HRM 通过层级递归模块（HRM）实现了推理阶段的自适应计算分配。它不是追求更大的模型或更多的训练数据，而是探索如何让模型\"聪明地思考\"——在需要的地方深入推理，在简单的地方快速通过。这种思路对于构建更高效、更实用的语言模型具有重要的启发意义。\n\n对于希望研究自适应计算、动态深度网络的开发者，CosmicFish-HRM 提供了一个完整可运行的代码基础，值得深入研读。
