news 2026/7/9 13:01:52

腾讯混元Hy3正式版深度解析:295B MoE快慢思考融合架构,Apache 2.0开源,Agent任务解决率90%

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
腾讯混元Hy3正式版深度解析:295B MoE快慢思考融合架构,Apache 2.0开源,Agent任务解决率90%

摘要:2026年7月6日,腾讯混元正式发布Hy3大模型。本文从架构设计、训练策略、推理优化、Agent能力、幻觉治理、多产品协同等维度,系统拆解这一295B参数MoE快慢思考融合模型的全部技术细节,并附完整Go/Python代码实现。


一、模型概览:从底层重构到产品反哺的半年冲刺

2026年1月底,腾讯混元团队启动了基础设施重建。4月23日发布Hy3 preview,7月6日正式版Hy3上线。不到半年时间,腾讯跑通了从底层重构到产品反哺的完整模型研发链路。

核心参数一览:

参数项
总参数量295B
激活参数量21B
架构MoE(混合专家)
上下文长度256K tokens
多令牌预测层3.8B
开源协议Apache 2.0
输入价格1元/百万tokens
输出价格4元/百万tokens
缓存命中价格0.25元/百万tokens

Hy3在12项横向对比中完成全面跃升,其中SkillsBench从29.1提升至55.3(+90%),MathArena Apex从12.8提升至38.7(+202%),Agent和代码核心能力提升20%-30%,幻觉率下降一半。


二、MoE架构:295B总参数、21B激活的稀疏专家设计

2.1 核心架构

Hy3采用标准的Sparse MoE(稀疏混合专家)架构,这是当前超大模型的主流选择。与Dense模型不同,MoE模型的总参数远大于每次推理实际激活的参数,从而在保持推理效率的同时获得更大的模型容量。

┌─────────────────────────────────────────────────────┐ │ Hy3 MoE 总体架构 │ ├─────────────────────────────────────────────────────┤ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ Tokenizer│→ │ Embedding│→ │ Router │ │ │ └──────────┘ └──────────┘ └────┬─────┘ │ │ │ │ │ ┌────────────────────────┼──────────┐ │ │ │ Top-2 Routing │ │ │ │ ▼ ▼ │ │ │ ┌─────────────────────────────────────────┐ │ │ │ │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐│ │ │ │ │ │Expert│ │Expert│ │Expert│ │Expert││ │ │ │ │ │ 1 │ │ 2 │ │ ... │ │ N ││ │ │ │ │ └──────┘ └──────┘ └──────┘ └──────┘│ │ │ │ │ N=32 Experts, Top-2 Active │ │ │ │ └─────────────────────────────────────────┘ │ │ │ │ │ │ │ ┌─────────────────┼─────────────────────┐ │ │ │ │ 3.8B Multi-Token Prediction (MTP) │ │ │ │ │ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │Head 1 │ │Head 2 │ │Head 3 │ │ │ │ │ │ └───┬────┘ └───┬────┘ └───┬────┘ │ │ │ │ │ └───────────┼───────────┘ │ │ │ │ │ ▼ │ │ │ │ │ Next 3 Tokens │ │ │ │ └─────────────────────────────────────────┘ │ │ │ │ │ │ ┌──────────────────────────────────────────┐ │ │ │ │ 快慢思考融合模块 │ │ │ │ │ ┌─────────────┐ ┌─────────────────┐ │ │ │ │ │ │ Fast Path │ │ Slow Path │ │ │ │ │ │ │ (系统1) │ │ (系统2) │ │ │ │ │ │ │ 1-2步推理 │ │ Chain-of-Thought│ │ │ │ │ │ └─────────────┘ └─────────────────┘ │ │ │ │ └──────────────────────────────────────────┘ │ │ └─────────────────────────────────────────────────────┘

2.2 MoE路由机制实现

importtorchimporttorch.nnasnnimporttorch.nn.functionalasFfromtypingimportList,Tuple,OptionalclassSparseMoERouter(nn.Module):""" Hy3 Sparse MoE Router with Top-2 routing and load balancing. 实现思路: 1. 对每个输入token,计算与所有N个专家的匹配分数 2. 选择Top-2分数最高的专家进行激活 3. 使用辅助损失确保专家负载均衡,避免"死专家" """def__init__(self,hidden_dim:int=7168,# Hy3 hidden dimensionnum_experts:int=32,# 总专家数top_k:int=2,# 每次激活的专家数capacity_factor:float=1.25,# 容量因子,允许一定超额):super().__init__()self.num_experts=num_experts self.top_k=top_k self.capacity_factor=capacity_factor# 路由网络:将hidden_dim映射到num_experts个分数self.gate=nn.Linear(hidden_dim,num_experts,bias=False)# 负载均衡的计数器(训练时维护)self.register_buffer("expert_counts",torch.zeros(num_experts))self.register_buffer("total_tokens",torch.tensor(0.0))defforward(self,x:torch.Tensor,# [batch, seq_len, hidden_dim]training:bool=True)->Tuple[torch.Tensor,torch.Tensor,torch.Tensor]:""" Returns: - routing_weights: [batch, seq_len, top_k] 各专家的权重 - expert_indices: [batch, seq_len, top_k] 选择的专家索引 - aux_loss: 负载均衡辅助损失 """batch,seq_len,_=x.shape x_flat=x.view(-1,x.size(-1))# [batch*seq_len, hidden_dim]n_tokens=x_flat.size(0)# 路由分数计算logits=self.gate(x_flat)# [batch*seq_len, num_experts]# Softmax归一化routing_scores=F.softmax(logits,dim=-1)# [batch*seq_len, num_experts]# Top-2选择top_k_scores,top_k_indices=torch.topk(routing_scores,k=self.top_k,dim=-1)# 各 [batch*seq_len, top_k]# 权重归一化(确保sum=1)routing_weights=top_k_scores/(top_k_scores.sum(dim=-1,keepdim=True)+1e-8)# 负载均衡辅助损失aux_loss=self._compute_load_balancing_loss(routing_scores,top_k_indices,training)# 更新统计(仅训练时)iftraining:withtorch.no_grad():counts=torch.zeros(self.num_experts,device=x.device)foriinrange(self.top_k):indices=top_k_indices[:,i]counts.scatter_add_(0,indices,torch.ones_like(indices,dtype=torch.float))self.expert_counts=self.expert_counts*0.9+counts*0.1self.total_tokens=self.total_tokens*0.9+n_tokens*0.1# 重塑输出routing_weights=routing_weights.view(batch,seq_len,self.top_k)expert_indices=top_k_indices.view(batch,seq_len,self.top_k)returnrouting_weights,expert_indices,aux_lossdef_compute_load_balancing_loss(self,scores:torch.Tensor,# [batch*seq_len, num_experts]indices:torch.Tensor,# [batch*seq_len, top_k]training:bool)->torch.Tensor:""" 负载均衡辅助损失(Z-loss variant) 核心思想:鼓励每个专家被选中的概率接近均匀分布 loss = alpha * num_experts * sum(P_i * f_i) 其中P_i是路由概率的平均,f_i是实际被选中的频率 """ifnottraining:returntorch.tensor(0.0,device=scores.device)num_experts=self.num_experts n_tokens=scores.size(0)# P_i: 路由概率的平均P=scores.mean(dim=0)# [num_experts]# f_i: 实际被选中频率f=torch.zeros(num_experts,device=scores.device)foriinrange(self.top_k):f.scatter_add_(0,indices[:,i],torch.ones(n_tokens,device=scores.device))f=f/(n_tokens*self.top_k)# Z-loss: sum(P_i * f_i)aux_loss=torch.sum(P*f)*num_expertsreturnaux_lossclassMoEFeedForward(nn.Module):""" MoE专家前馈网络(每个专家独立) Hy3专家结构:SwiGLU激活的FFN """def__init__(self,hidden_dim:int=7168,intermediate_dim:int=20480,# 约2.86x hidden_dim):super().__init__()self.gate_proj=nn.Linear(hidden_dim,intermediate_dim,bias=False)self.up_proj=nn.Linear(hidden_dim,intermediate_dim,bias=False)self.down_proj=nn.Linear(intermediate_dim,hidden_dim,bias=False)defforward(self,x:torch.Tensor)->torch.Tensor:# SwiGLU激活gate=F
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/9 13:01:04

PyTorch Dataset 实战:3种自定义数据集方法对比与代码实现

PyTorch Dataset 实战:3种自定义数据集方法对比与代码实现在深度学习项目中,数据处理往往是最容易被忽视却至关重要的环节。PyTorch作为当前最流行的深度学习框架之一,其Dataset和DataLoader机制为数据加载提供了优雅的解决方案。本文将深入探…

作者头像 李华
网站建设 2026/7/9 12:58:26

手机号查QQ号终极指南:3分钟快速找回账号的完整方案

手机号查QQ号终极指南:3分钟快速找回账号的完整方案 【免费下载链接】phone2qq 项目地址: https://gitcode.com/gh_mirrors/ph/phone2qq 你是否曾经因为忘记QQ账号而无法登录?手机号查QQ号工具为你提供了一个快速解决方案。这款基于Python的开源…

作者头像 李华
网站建设 2026/7/9 12:57:36

第二章Netty,如何处理ChannelFuture中的连接失败

上一篇我们分析了连接失败问题,处理不当会带来哪些问题,这篇我们就针对连接失败讲解一下具体的解决方案; 处理 ChannelFuture 中的连接失败,核心在于理解 Netty 的‌异步非阻塞‌特性。connect() 方法调用后会立即返回一个 ChannelFuture 对象,此时连接尚未建立。如果连接…

作者头像 李华
网站建设 2026/7/9 12:54:28

终极指南:3步快速解决腾讯游戏ACE-Guard卡顿问题

终极指南:3步快速解决腾讯游戏ACE-Guard卡顿问题 【免费下载链接】sguard_limit 限制ACE-Guard Client EXE占用系统资源,支持各种腾讯游戏 项目地址: https://gitcode.com/gh_mirrors/sg/sguard_limit 你是否在玩《英雄联盟》、《地下城与勇士》等…

作者头像 李华
网站建设 2026/7/9 12:52:11

钢结构深化设计进度及质量管理办法

钢结构深化设计进度及质量管理办法 钢结构深化设计进度及质量管理办法 一、进度计划 本工程钢结构深化图纸量较大,确保深化设计工期是保证整个工程顺利进展的重要一环,它直接影响钢结构材料的采购、制作、安装及后续各个环节。因此,深化设计工期是保证整个工程工期的前提…

作者头像 李华
网站建设 2026/7/9 12:50:47

【信息科学与工程学】【控制科学】第十四篇 网络控制01

编号 类型 领域 子领域 问题 问题的数学分析及数值分析 参数列表及边界范围及数值及各类常数及误差/偏差/公差 加工装备及机床及零件及工具列表 关联知识 1 控制工程 网络化控制系统 通信约束 网络传输丢包对闭环系统性能的影响 丢包建模为伯努利随机过程;利用马…

作者头像 李华