拆开 Hemmingway-1 的“嘴“:3:1 混合注意力如何让 27B 模型说人话
拆开 Hemmingway-1 的嘴3:1 混合注意力如何让 27B 模型说人话【免费下载链接】Hemmingway-1项目地址: https://ai.gitcode.com/hf_mirrors/Altworld/Hemmingway-12026 年开源写作模型赛道里27B 参数的 Hemmingway-1 是个异类它不追求堆算力而是专攻说人话。问它要一封给房东的邮件它不给你三个选项加一段前情提要而是直接给正文。社区盲测中它在 CommunicationBench 拿第一、Human-Likeness 领先第二名 26 分。这些结果的背后是一套刻意设计的 3:1 混合注意力架构——64 层网络里每 4 层只放 1 层全注意力。本文直接从仓库源码出发拆解这套嘴的结构看它如何用 75% 的线性注意力支撑 262K 上下文又如何在表达连贯性与长程检索能力之间做出取舍。从 config.json 读出它的骨架模型配置是最诚实的解剖图。打开仓库根目录的 config.jsonlayer_types字段把 64 层的注意力类型列得清清楚楚layer_types: [ linear_attention, linear_attention, linear_attention, full_attention, linear_attention, linear_attention, linear_attention, full_attention, ... ], full_attention_interval: 4, num_hidden_layers: 64逐层数一遍48 层是linear_attention16 层是full_attention全注意力层落在 3、7、11、15……63 号层位上严格以 4 层为周期、每个周期插入一层即 3:1 的混合配比。full_attention_interval: 4这个超参把每 4 层打一个精确锚点写死进了架构。参数总量 26,895,998,464约 26.9B对外称 27Bmax_position_embeddings: 262144声明了 26 万 token 的上下文能力基座为 Qwen3.8-27Bmodel_type记为qwen3_5_text。从权重清单 model.safetensors.index.json 还能交叉验证每个 linear 层都带有A_log、conv1d、dt_bias、in_proj_a、in_proj_b、in_proj_qkv、in_proj_z、norm、out_proj九类权重这是典型的 Mamba 系状态空间线性注意力结构而每个 full 层则带q_proj、k_proj、v_proj、o_proj与q_norm、k_norm是标准的 GQA 全注意力。线性层与全注意力层各自在干什么先看数量占 75% 的线性层。它的关键超参在 config 里单独成组linear_conv_kernel_dim: 4, linear_num_key_heads: 16, linear_key_head_dim: 128, linear_num_value_heads: 48, linear_value_head_dim: 128, mamba_ssm_dtype: float3216 个 key 头、48 个 value 头配合A_log/dt_bias这种 SSM 参数说明它做的是带门控的递归压缩每步只维护一个固定大小的状态向量把历史信息压进去卷积核kernel dim 4处理局部窗口in_proj_z提供门控。代价是距离越远的 token 被压缩得越模糊——这是递归类结构的先天特性。再看不多的全注意力层24 个 attention 头、4 个 KV 头GQAhead_dim: 256、partial_rotary_factor: 0.25、rope_theta: 10^7。全注意力不做压缩query 可以直接点名历史上任何一个精确的 token包括某个措辞、某个名字、某个语气参照。但它贵KV cache 随上下文线性增长。3:1 的含义因此很清晰递归层负责低成本的常态信息流与压缩记忆每隔 4 层插入的全注意力负责高保真的精确检索锚点。前者管读过的都会记得个大概后者管关键处一个字都不能错。长上下文下如何保持连贯写日常消息和邮件场景和全注意力模型的长篇小说生成有本质差异上下文往往很长一个完整对话历史、多封往来邮件但对精确回溯的要求集中在少数关键信息上。这正是 3:1 混合的甜区。线性层的固定状态意味着 KV 开销与上下文长度解耦。按 bf16、逐 token 粗算单个全注意力层每 token 的 KV cache 约为 4KV 头× 256head_dim× 2KV× 2 字节 ≈ 4KB16 层全注意力共 64KB/token塞满 262,144 token 时约 16GiB而 48 层线性注意力的状态合计恒定在 MB 量级。若是 64 层纯全注意力同上下文下 KV 开销要再翻 4 倍、到 60GiB 以上单卡推理基本无望。社区流传单卡 A100/H100 80G 即可跑 256K靠的就是这套结构。连贯性则来自周期性锚定线性层负责把对话里绵长的铺垫、情绪走向、已确认的结论递进式地传递下去而每隔 4 层出现的全注意力层让网络有机会把当前输出与上下文里某个确切的位置重新对齐——比如房东邮件里反复出现的日期、给对方姓名、上一轮承诺的措辞。这种每 4 层刷新一次精确记忆的设计恰好压住了递归压缩带来的长程漂移topic drift也解释了 Human-Likeness 盲测里它像人写的评价人类写长消息时本来就是整体顺流而下 关键处回头核对。解码侧还有配套仓库中的 model-mtp.safetensors 携带mtp.layers.0.self_attn、mtp.fc、mtp.pre_fc_norm_embedding等权重config.json 中mtp_num_hidden_layers: 1——MTP 多 token 预测模块以一层全注意力做单步投机让长上下文解码更快。配合 chat_template.jinja 内置的三档思考模式xhigh/medium/low可以按写作场景调节推理深度轻量消息用low直接出稿正式场合用xhigh斟酌措辞。与纯全注意力架构的取舍任何混合结构都不是免费的。全注意力层数量减到 1/4换来的是显存、算力与部署门槛的大幅下降代价是全局精确检索能力的折损——如果一个信息只在 2 万 token 之前出现过一次而它恰好落在两个全注意力锚点之间递归层可能只给它一个模糊的残留。仓库 README 对此毫不讳言在 categories-heatmap.png该图在本仓库快照中为 LFS 指针、未能随包检出对应的分类测评里它在金钱与行政职场沟通难开口的请求说服别人等日常消息场景大比分获胜难开口请求场景 GPT-6 Astra 仅 9% 被判定为人写Hemmingway-1 为 72%却在敌意叙事和长篇故事转折上输给专门的 story 模型。这正是架构取舍的直接印证长故事需要跨越整个篇章反复回溯前文伏笔属于全注意力密度越高越好的场景而日常消息是短程精确 长程氛围3:1 混合恰好踩在甜点上。基准数据同样写在 README 的图表里。CommunicationBench 的 80 组真实请求、双向乱序盲测中它登顶同一批对局换一个问题——这两段哪个是人写的它领先第二名 26 分它还测了一个非官方指标你到底给没给我正文Fable 5、GLM-5.3、Kimi K3 在十次回复里有九次以上把正文埋在选项和备注里Hemmingway-1 几乎每次直接给文本情感智能方面官方公开的 EQ-Bench 4 上它排第三压在 GPT-5.5、Opus 4.7/4.8 之上距榜首 12 分以内StoryBench 上与 Kimi K3 持平比基座模型 Qwen3.8-Max 与 DeepSeek V4 Pro 高出 504 分一个 27B 模型用 1/4 的全注意力层在写日常人话这件事上压过一批百亿到千亿级的头部模型——这本身就是混合注意力最有说服力的产品化注脚。README 也坦承 CommunicationBench、Human-Likeness、StoryBench 是自建基准双向乱序盲测、评审模型与被评模型分离EQ-Bench 4 则不是它的。从源码到部署结构决定行为行为落在运行时。要复现这套嘴一行命令即可README.mdvllm serve Altworld/Hemmingway-1 --max-model-len 262144Transformers 侧同样开箱即用模板处理由仓库自带的 chat_template.jinja 接管from transformers import AutoModelForCausalLM, AutoTokenizer model_id Altworld/Hemmingway-1 tok AutoTokenizer.from_pretrained(model_id) model AutoModelForCausalLM.from_pretrained(model_id, device_mapauto, dtypeauto) messages [{role: user, content: Write the text I send my landlord about the broken boiler.}] ids tok.apply_chat_template(messages, add_generation_promptTrue, return_tensorspt).to(model.device) out model.generate(ids, max_new_tokens512) print(tok.decode(out[0][ids.shape[-1]:], skip_special_tokensTrue))generation_config.json 的默认采样参数do_sample: true、temperature: 1.0、top_k: 20、top_p: 0.95偏宽松与像人一样有语气起伏的目标一致——太贪心的解码只会让输出更僵。3:1 混合注意力给出的启示很直白长上下文能力未必只能靠堆全注意力买来。先想清楚任务里精确检索和氛围记忆各占多少再用全注意力当锚、用递归结构做骨同样能把说人话做成 27B 模型就能登顶的生意。Hemmingway-1 的开源版本以 CC BY-NC 4.0 发布个人与研究用途免费这也让这套架构成了可复盘的公开样本。【免费下载链接】Hemmingway-1项目地址: https://ai.gitcode.com/hf_mirrors/Altworld/Hemmingway-1创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Android vitamio jar包接入与避坑指南:从so加载到播放封装

Android vitamio jar包接入与避坑指南:从so加载到播放封装

简介:Vitamio jar 包是面向 Android 开发者的视频播放框架核心组件,适合需要在应用中集成多格式播放、网络流媒体与直播点播能力的开发者。它内置硬解码与软解码自动切换机制,支持 HTTP、RTSP、RTMP 等协议,并提供播放控制、断点续…

2026/11/12 22:59:39 阅读更多 →
C#自动化测试实战:将回归测试时间砍掉一半

C#自动化测试实战:将回归测试时间砍掉一半

在聊“C# 自动化测试”之前,我得先说实话:你现在手动点的那些测试用例,如果没有任何脚本辅助,项目越大,浪费的时间就越不是“一半”的问题,而是数量级的问题。我做了十来年的 .NET 开发,见过太多…

2026/11/12 18:07:48 阅读更多 →
玩转 Java 权限体系 第五篇(实战·完):把授权判断搬出应用——Casbin、OpenFGA、Cerbos 的 Java 集成现状与灰度办法

玩转 Java 权限体系 第五篇(实战·完):把授权判断搬出应用——Casbin、OpenFGA、Cerbos 的 Java 集成现状与灰度办法

💡 这一篇是系列的收尾,也是笔者思考最纠结的一篇。前三篇的结论基本都是"框架够用,别乱折腾",但有一类系统例外:当权限点从几百个涨到几万个、当一条策略变更要同时发六个服务、当审计方开始问"这个人…

2026/11/11 9:21:55 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/13 5:13:25 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/13 5:13:25 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/13 5:13:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/13 22:08:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/12 18:22:25 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/13 5:13:25 阅读更多 →

日新闻

周新闻

月新闻