首页/新闻资讯/正文详情

33B 只做 18 层:Agnes 3.0 Flash 靠「小身材」杀进轻量模型第一梯队?

发布时间:2026/11/3 2:26:23 来源:云帆数科 栏目:资讯中心
33B 只做 18 层:Agnes 3.0 Flash 靠「小身材」杀进轻量模型第一梯队?
33B 只做 18 层Agnes 3.0 Flash 靠「小身材」杀进轻量模型第一梯队2026 年 9 月Agnes AI 放出了Agnes-3.0-Flash Preview的开放权重 checkpoint33B 参数、dense 架构、262 144 token 上下文、文本/图像/视频三模态理解、可调推理强度、工具调用硬件门槛只写了一行——1 × H200 或 1 × H100。社区反响集中在两点一是 API 侧依旧免费、国内直连、一个 Key 全家桶都通的接入体验二是架构侧那句33B 开源只 18 层吃显存——为什么一个 33B 模型只需要 18 层 KV cache答案藏在 config.json 的layer_types里72 层解码器中只有 18 层是标准全局注意力其余 54 层是状态大小与序列长度无关的 delta-rule 循环层。这篇模型卡README.md、README_zh.md明确强调本仓库是Preview 开放权重与线上 production/API 模型社区实测称其支持 1M 上下文不是同一个 checkpoint——这个区分本身就值得先交代清楚。下面从源码和配置逐项拆开这套3:1 混合注意力到底省了什么、benchmark 能站住什么位置、单卡部署的真实账本怎么算以及它凭什么进入轻量模型的第一梯队讨论。一、72 层 ≠ 72 层 KV cache3:1 混合注意力的省法1.1 层计划写在配置里model.safetensors.index.json 显示 72 个 decoder layer其中 54 层带delta_attn.*权重、18 层带global_attn.*权重。config.json 的text_config.layer_types把这 72 层排成了严格的3 delta 1 global周期layer_types: [ agnes_delta_attention, agnes_delta_attention, agnes_delta_attention, agnes_global_attention, agnes_delta_attention, agnes_delta_attention, agnes_delta_attention, agnes_global_attention /* ... 共 72 项global_attention_interval 4 */ ], global_attention_interval: 4, num_hidden_layers: 72configuration_agnes.py 里还保留了自动生成层计划的逻辑只要不显式给出layer_types就按global_attention_interval默认 4逐层判定(i1) % 4 0的层升级为全局注意力if self.layer_types is None: period kwargs.pop(global_attention_interval, kwargs.pop(full_attention_interval, 4)) plan [] for i in range(self.num_hidden_layers): is_global (i 1) % period 0 plan.append(LAYER_GLOBAL if is_global else LAYER_DELTA) self.layer_types plan注意一个容易混淆的点18 层指的是持有 KV cache 的全局注意力层数不是模型的总层数。参数主体仍然摊在全部 72 层上——这是小身材省显存、但参数预算一点没缩水的关键。1.2 delta-rule 层状态是常数不是矩阵configuration_agnes.py 中 delta-rule 层的规格是16 key heads / 48 value headshead dim 128前置 kernel-4 因果卷积循环状态强制 fp32mamba_ssm_dtype: float32。modeling_agnes.py 里的AgnesDeltaAttention实现了门控 delta rule 的前向beta b.sigmoid() # fp32 keeps exp(A_log) finite under fp16 weights g -self.A_log.float().exp() * F.softplus(a.float() self.dt_bias) ... if resume and seq 1: mixed, rec_state self.recurrent_gated_delta_rule( query, key, value, gg, betabeta, initial_staterec_state, output_final_statecache_params is not None, use_qk_l2norm_in_kernelTrue, )它维护一个固定的循环状态矩阵16 head × 128 × 128 fp32 ≈ 1 MB/head共 16 MB/层与序列长度无关。prefill 走chunk_gated_delta_rulechunk_size64 的块并行路径decode 走fused_recurrent_gated_delta_rule单步递推没有 fused kernel 时回退纯 torch 实现代码注释里写明两条路径数值可互换。缓存侧通过AgnesDeltaCacheLayer(LinearAttentionLayer)注册进 transformers 的LAYER_TYPE_CACHE_MAPPING与AgnesGlobalCacheLayer(DynamicLayer)一一对应——也就是说框架层面对72 层里只有 18 层是 KV 层这件事是一等公民地支持的而不是外挂 hack。对比组是AgnesGlobalAttentionGQA 24 query heads / 4 KV heads6:1 压缩、head dim 256q/k 各带 per-head RMS-norm输出端还有一个随 query 一起投影出来的 sigmoid 门out out * torch.sigmoid(gate)。这两类层在AgnesDecoderLayer.forward里按config.layer_types[layer_idx]分发其余结构RMSNorm 残差完全一致。1.3 每层还并联了一路小 FFNconfiguration_agnes.py 把parallel_ffn_intermediate_size描述为每一层解码器里、与主 MLP 并行运行并加进同一残差的主路旁边的 dense SwiGLU 分支。modeling_agnes.py 的实现只有四行核心逻辑def forward(self, x): y self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) if self.parallel_ffn is not None: y y self.parallel_ffn(x) return y主 SwiGLU 中间维 17 408并联分支 2048两者都定义在 config.json 里。值得注意的是这个分支在权重文件里是独立存放的model.safetensors.index.json 把 72 层mlp.parallel_ffn.{gate,up,down}_proj全部指向单独的model-parallel-ffn.safetensors与主 MLP 分片物理隔离——部署侧怎么消费它后面第五节细说。二、参数账本与33B的成色按 config.json 的尺寸手工加总33B 的构成大致是部件规模近似embedding lm_head248 320 × 5 120不共享≈ 2.5 B18 层全局注意力q 双宽投影 k/v/o q/k RMS-norm≈ 4.4 B54 层 delta-rule 注意力qkv 20 480、z 6 144、b/a 各 48、out 6 144≈ 11.0 B72 × 主 SwiGLU17 408≈ 18.8 B72 × 并联 SwiGLU2 048≈ 1.8 B27 层视觉塔hidden 1 152、patch 16、2×2 空间合并、投影至 5 120≈ 0.3 B合计≈ 33 BREADME_zh.md 特意澄清了两点社区转述时容易踩坑它是 dense checkpoint不采用 MoE不存在3B active parameters的口径评测表里那些 active 数字只属于对比模型且 Preview 与 production/API 是两个不同 checkpoint后者上下文 1M其评测成绩不应安在 Preview 头上。generation_config.json 给出的官方采样默认值也很直白temperature 1.0 / top_p 0.95 / top_k 20配合 README.md Recommended Inference Settings 里的reasoning_effort: high/low与max_tokens ≥ 2000。chat_template.jinja 暴露了三个推理档位模板默认xhigh另有medium/low每档对应一段注入 system 的指令文本——比如low档会要求Keep your thinking brief and focused, moving directly to the conclusionenable_thinkingfalse则直接渲染空的 创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

AuK 官宣当天:腾讯混元把 16 种语音任务塞进一句话指令,语音 AI 的 ChatGPT 时刻提前到了?
AuK 官宣当天:腾讯混元把 16 种语音任务塞进一句话指令,语音 AI 的 ChatGPT 时刻提前到了?

AuK 官宣当天:腾讯混元把 16 种语音任务塞进一句话指令,语音 AI 的 ChatGPT 时刻提前到了? 2026 年 9 月 9 日,腾讯混元官方宣布开源 AuK——一个 1.5B 参数的语音基础模型。代码与权重同日放出,arXiv 技术报告&#… · 2026/11/3 2:26:23

5 分钟在本地跑通全链路追踪:Pinpoint + Bigtable 模拟器
5 分钟在本地跑通全链路追踪:Pinpoint + Bigtable 模拟器

5 分钟在本地跑通全链路追踪:Pinpoint Bigtable 模拟器 【免费下载链接】pinpoint APM, (Application Performance Management) tool for large-scale distributed systems. 项目地址: https://gitcode.com/gh_mirrors/pi/pinpoint 想在本地开发环境跑通全… · 2026/11/3 2:26:23

自托管健身平台 Workout.cool:训练计划、进度追踪、动作库一站搞定(附部署实测)
自托管健身平台 Workout.cool:训练计划、进度追踪、动作库一站搞定(附部署实测)

想找一个能自己部署、数据自己能掌控的健身管理工具,结果翻到了这个项目。我最近在找一个能自己跑的健身管理平台。需求其实挺朴素的:能写训练计划,能记录每次练了什么,最好还能直接看动作视频。但一圈看下来,要么是商… · 2026/11/3 2:25:23

深入理解内存对齐:原理、优化与实践
深入理解内存对齐:原理、优化与实践

1. 内存对齐的概念与必要性内存对齐是计算机系统中一个基础但极其重要的概念。简单来说,它指的是数据在内存中的存储位置必须满足特定边界要求。比如一个4字节的int型变量,在32位系统上通常需要从4的倍数地址开始存放。为什么需要内存对齐?这… · 2026/11/3 3:30:34

Delphi Web前端开发入门:用Pascal与TMS WEB Core做网页
Delphi Web前端开发入门:用Pascal与TMS WEB Core做网页

简介:Delphi Web前端开发教程以TMS WEB Core框架为主线,面向希望用Delphi或Lazarus快速进入Web应用开发的初学者与进阶开发者,也适合传统Delphi程序员补齐前端与跨平台发布知识。教程从Delphi/Object Pascal的历史与现状讲起,梳理… · 2026/11/3 3:30:34

程序员转型大模型开发的系统化学习路径
程序员转型大模型开发的系统化学习路径

1. 为什么程序员转型大模型需要系统化学习路径去年我在团队内部推动AI大模型落地时,发现一个有趣现象:有五年经验的Java工程师花两周速成Transformer原理后,在微调任务上的表现反而不如按部就班学习的新人。这个观察印证了标题强调的观点——… · 2026/11/3 3:30:34

基于Spark与深度学习的智能地铁客流预测系统
基于Spark与深度学习的智能地铁客流预测系统

1. 项目背景与核心价值地铁客流量预测是智慧城市建设中的关键环节。作为一线城市交通管理的痛点,早晚高峰期的客流压力常常导致站台拥挤、列车延误等问题。传统基于人工经验或简单统计模型的预测方法,在面对突发天气、节假日、大型活动等复杂场景时往往表… · 2026/11/3 3:30:34

SpringBoot农产品管理APP开发实战与架构设计
SpringBoot农产品管理APP开发实战与架构设计

1. 项目概述:农产品管理与销售APP的设计初衷去年帮农科院做数字化改造时,发现许多合作社还在用纸质台账管理进出货,农户的优质产品经常因信息不对称滞销。这个基于SpringBoot的农产品管理APP正是为解决这类痛点而生——通过移动端实现农产品从… · 2026/11/3 3:30:34

StatusServer:分布式系统健康监控的核心架构与实践
StatusServer:分布式系统健康监控的核心架构与实践

1. StatusServer:现代分布式系统的健康监控中枢在分布式架构成为主流的今天,服务健康监控已从"可有可无"变成了"生死攸关"的基础设施。三年前我们某个核心服务的一次雪崩事故让我深刻认识到:当30个微服务节点中有3个出现… · 2026/11/3 3:29:34

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

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

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

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

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

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

STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战
STM32F411RE与MAX14431实现SPI隔离:工业现场抗共模干扰实战

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

ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题
ESP32+大模型AI硬件开发:从Demo到产品的8个工程问题

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

基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践
基于MAX14431BAEE+与PIC18F85J10的SPI隔离方案设计与实践

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

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

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

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

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

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

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

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码