sapientinc/HRM-Text-1B

Hugging Face Models Trending 模型

摘要

Sapient Intelligence 发布了 HRM-Text-1B,这是一个拥有10亿参数的语言模型,采用新颖的双时间尺度循环架构(分层推理模型),以有限的参数数量提供无限的计算深度。预对齐检查点已在 Hugging Face 上开放获取。

任务: 文本生成 标签: transformers, safetensors, hrm_text, 文本生成, hrm, 分层推理, prefix-lm, 预对齐, 非聊天, 非指令微调, 自定义代码, 英语, 许可证: Apache-2.0, 端点兼容, 地区: 美国
查看原文
查看缓存全文

缓存时间: 2026/05/19 12:33

sapientinc/HRM-Text-1B · Hugging Face

来源: https://huggingface.co/sapientinc/HRM-Text-1B HRM-Text 横幅 (https://huggingface.co/sapientinc/HRM-Text-1B/blob/main/banner.jpg)

基准测试散点图: HRM-Text-1B 与可比模型的 FLOPs 和 tokens 对比基准平均值 (https://huggingface.co/sapientinc/HRM-Text-1B/blob/main/benchmark_scatter.png)

GitHub (https://github.com/sapientinc/HRM-Text)

一个基于**层次推理模型(HRM)**架构构建的 1B 参数语言模型检查点,由 Sapient Intelligence 在结构化公开数据集上从头训练。

HRM 是一种双时间尺度循环架构:两个 Transformer 模块(H = 高层/慢速,L = 底层/快速)在相同输入嵌入上迭代 H_cycles × (L_cycles + 1) 步,并带有加性状态注入(z_L + z_H)。这在有限参数数量下提供了几乎无限的计算深度。

https://huggingface.co/sapientinc/HRM-Text-1B#disclaimer 免责声明

这是一个预对齐模型检查点,并非聊天或指令遵循助手。它是在 PrefixLM 目标上使用条件前缀令牌预训练的,并且尚未经过多轮对话调优、长上下文适配、指令微调、RLHF 训练或以其他方式对齐以用于助手式用途。如果您想将 HRM-Text 用作聊天模型,您需要针对特定任务数据进行进一步对齐,例如 SFT 和/或 RL。此检查点旨在作为起点,而非成品助手。

使用原始检查点的实用提示指南:

  • NLP 任务(分类、抽取、结构化输出、简短问答):使用 direct 条件,配合 2-8 个少样本上下文示例。direct + 少样本是我们测量到的最强的零额外训练设置;纯零样本效果明显较弱。
  • 推理/数学/开放式生成:使用复合条件 synth,cot。这是一个单一复合前缀,而非两个选项——在分词时,逗号分隔的标签被映射到它们的前缀令牌并按顺序拼接成一个单一前缀块。因此 synth,cot 产生两个令牌的前缀 <|quad_end|><|object_ref_end|>(synth 在前,cot 在后),包裹在通常的 <|im_start|><|im_end|> 封套内。在此复合条件下,模型表现出一些思维链/类指令行为——足以以逐步方式回答许多零样本数学和推理提示——但质量参差不齐,低于同等规模的指令微调模型。请将此“指令”能力视为预训练混合的副作用,而非保证的能力。

四个单一条件标签及其分配的分词器特殊令牌(令牌名称是遗留实现细节;您可以组合任何子集,用逗号分隔,按您希望它们输出的顺序):

  • direct<|object_ref_start|> — 直接回答,无思维链
  • cot<|object_ref_end|> — 思维链
  • noisy<|quad_start|> — 嘈杂/网络爬取风格
  • synth<|quad_end|> — 合成/精选风格

https://huggingface.co/sapientinc/HRM-Text-1B#requirements 要求

使用包含 hrm_text 模型类的 Transformers 版本。如果当前安装的版本尚未包含它,请直接从上游 main 分支安装 Transformers:

pip install --upgrade "git+https://github.com/huggingface/transformers.git@main"

https://huggingface.co/sapientinc/HRM-Text-1B#model-details 模型详情

字段
参数~1 B
隐藏层大小1536
层数(每个 H / L 堆栈)16
注意力头数12(MHA,head_dim 128)
H_cycles × L_cycles2 × 3
最大序列长度4096
词汇表65,536
嵌入缩放(lecun_normal)
位置编码RoPE(theta 10000)
激活函数SwiGLU
归一化无参数 Pre-RMSNorm
注意力门控(sigmoid 输出门)
训练唯一 tokens40 B
优化器AdamATan2(beta 0.9 / 0.95, wd 0.1, EMA 0.9999)
学习率2.2e-4(预热 2000 步)
全局批次196,608 tokens
数据类型bfloat16

https://huggingface.co/sapientinc/HRM-Text-1B#usage 用法

`` from transformers import AutoModelForCausalLM, AutoTokenizer import torch

model_id = “sapientinc/HRM-Text-1B” tokenizer = AutoTokenizer.from_pretrained(model_id) model = AutoModelForCausalLM.from_pretrained( model_id, dtype=torch.bfloat16, trust_remote_code=True, ).cuda().eval()

synth,cot 复合 — 推理/思维链风格(其他模式请参见免责声明)

condition = “<|quad_end|><|object_ref_end|>” prompt = f“<|im_start|>{condition}Explain why the sky is blue.<|im_end|>“

inputs = tokenizer(prompt, return_tensors=“pt”).to(model.device)

将提示标记为单个双向前缀块 — 见下方“PrefixLM 掩码“

inputs[“token_type_ids”] = torch.ones_like(inputs[“input_ids”])

with torch.no_grad(): out = model.generate(**inputs, max_new_tokens=256, do_sample=False) print(tokenizer.decode(out[0], skip_special_tokens=False)) ``

https://huggingface.co/sapientinc/HRM-Text-1B#prefixlm-mask–pass-token_type_ids PrefixLM 掩码 — 传入 token_type_ids

HRM-Text 使用 PrefixLM 掩码进行预训练:提示令牌彼此双向关注,响应令牌因果关注。为了在推理时匹配训练时的前向传播,您必须告诉模型哪些位置是前缀。

在当前 Transformers 端口中,掩码由 token_type_ids 控制:

  • token_type_ids[i] == 1 → 位置 i 是前缀块的一部分(块内双向)。
  • 否则 → 因果。

如果省略 token_type_ids,注意力将回退到纯因果模式,这匹配预训练分布,会产生明显较差的 logits。最简单正确的调用方式是传递 token_type_ids = torch.ones_like(input_ids),将整个输入提示标记为一个双向前缀块——这正是训练时预填充的运行方式。

https://huggingface.co/sapientinc/HRM-Text-1B#architecture 架构

循环核心(推理模式下每次前向传播):

`` z_H = embed(input_ids) * embedding_scale z_L = z_L_init.expand_as(z_H)

for _ in range(H_cycles): for _ in range(L_cycles): z_L = L_module(z_L + z_H) z_H = H_module(z_H + z_L) return z_H ``

两个堆栈共享相同的 Transformer 块设计(门控注意力、RoPE、SwiGLU、Pre-RMSNorm);形状参见上方模型详情。

https://huggingface.co/sapientinc/HRM-Text-1B#training-data 训练数据

在公开可用文本语料库的采样混合集上预训练。完整的数据集组成、采样权重和预处理流程已开源:

data_io (https://github.com/sapientinc/data_io)

https://huggingface.co/sapientinc/HRM-Text-1B#limitations 局限性

  • 仅限英语(训练语料主要为英语)。
  • HRM-Text-1B 未在代码数据集上进行训练,因此其在编码任务上的表现较弱符合预期。早期的第三方代码 SFT 实验(约 1B tokens 代码数据)将编码基准得分从低个位数提高到约 40-50,显示出有希望的适应潜力,但这些结果不属于此检查点。
  • 输出可能因不同环境而异,并且可能包含不准确、偏见或不安全的内容。

https://huggingface.co/sapientinc/HRM-Text-1B#license 许可

Apache License 2.0 (https://huggingface.co/sapientinc/HRM-Text-1B/blob/main/LICENSE)。

https://huggingface.co/sapientinc/HRM-Text-1B#citation 引用

引用信息将随附论文一起添加。

相似文章

HRM Seems To Be Going Off Right Now

Reddit r/LocalLLaMA

Sapient Intelligence发布了HRM-Text,一个1B参数的文本生成模型,仅用0.04万亿token训练(成本约1000美元),在多个推理基准上超越训练数据多100-1000倍的更大模型,标志着AI训练新范式的开始。

New SOTA 1B model? HRM-text

Reddit r/LocalLLaMA

HRM-text 是 Sapient Intelligence 提出的 1B 参数分层推理语言模型,通过内部潜在空间高效思考,以极低训练成本实现超越多数同尺寸模型的性能。

HRM-Text: 超越规模的高效预训练

arXiv cs.CL

HRM-Text 引入了一种分层循环模型,将计算解耦为慢速和快速层级,使得仅使用400亿个token和1500美元预算即可从头开始高效预训练,实现了与更大模型竞争的性能。