拆开 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/10/16 14:19:24 阅读更多 →
C#自动化测试实战:将回归测试时间砍掉一半

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

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

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

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

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

2026/10/16 14:19:23 阅读更多 →

最新新闻

企业级LLM大模型落地实战:从微调对齐到生产安全

企业级LLM大模型落地实战:从微调对齐到生产安全

简介:这是一份面向AI工程师、机器学习工程师、数据科学家及科研人员的《企业级生成式人工智能LLM大模型技术、算法及案例实战》PDF电子书。内容以2024年7月线上高级实训班为骨架,系统覆盖Generative AI原理本质、工业级Prompting、Llama 2/3模型深度解密…

2026/10/16 15:30:50 阅读更多 →
飞机性能计算Matlab代码:从飞行数据反解气动系数实现

飞机性能计算Matlab代码:从飞行数据反解气动系数实现

简介:这是一份由Jon Borman在长期学术与职业实践中整理的开源编码样本合集,内容涵盖飞机性能计算、空气动力学、数据处理等方向,适合航空工程学习者、CFD初学者以及Matlab、Fortran、Python开发者参考。压缩包共包含59个文件,整体…

2026/10/16 15:30:50 阅读更多 →
高光谱图像Matlab读取:从ENVI头文件到BSQ/BIL/BIP正确解析

高光谱图像Matlab读取:从ENVI头文件到BSQ/BIL/BIP正确解析

简介:面向高光谱图像学习与研究者的MATLAB读取与处理工具包,适合刚接触遥感影像、需要将TIFF格式多波段数据导入MATLAB进行分析的初学者,也可作为高校遥感、农业、地质与环境科学相关课程的上手素材。压缩包共6个文件,包含MATLAB脚…

2026/10/16 15:30:50 阅读更多 →
强化学习入门实战:GridWorld与Q-learning可替换实例

强化学习入门实战:GridWorld与Q-learning可替换实例

简介:这份强化学习实例面向零基础或初学强化学习的开发者,提供可直接运行的乒乓球对战模拟环境,帮助理解智能体如何通过与环境交互不断优化击球策略。压缩包共10个文件,以6个pth模型权重、3个py脚本和1个pyc缓存文件为主&#xff…

2026/10/16 15:30:50 阅读更多 →
语音合成 Mod 实战:拆包、接入、调参与避坑

语音合成 Mod 实战:拆包、接入、调参与避坑

简介:面向 FreeSWITCH 语音业务开发者和运维人员,这是一份基于阿里云 TTS 的扩展放音模块,可在拨号方案的播放动作中直接引用合成语音,替代传统音频文件,满足 IVR 欢迎语、通知播报等场景的动态播报需求。模块内置两种…

2026/10/16 15:30:50 阅读更多 →
Iris-3B图像修复与4倍超分教程:一步生成式修复模糊退化老照片

Iris-3B图像修复与4倍超分教程:一步生成式修复模糊退化老照片

人工智能大模型基础模型媒体生成计算机视觉 【免费下载链接】iris-3b 项目地址: https://ai.gitcode.com/hf_mirrors/speridlabs/iris-3b 点击查看 免费下载 Iris-3B 是一款 30 亿参数的像素空间生成模型,它的超分辨支模型支持一步图像修复与 4 倍超分&…

2026/10/16 15:29:49 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →