MoE架构解析:如何用“分治”思想打造高效大模型?
在人工智能领域,模型规模的扩大似乎永无止境。从GPT-3的1750亿参数到传闻中的GPT-4万亿级规模,每一次突破都伴随着惊人的算力消耗。但当我们为这些成就欢呼时,一个根本性问题愈发尖锐:如何在提升模型能力的同时控制计算成本? 这就是MoE(Mixture of Experts,混合专家)架构诞生的意义所在。
一、MoE的核心思想:让专业的人做专业的事
想象一家医院急诊科:当患者进入时,分诊台会根据症状快速分配至内科、外科或骨科专家。MoE的工作机制与此惊人相似:
-
专家网络(Experts)
每个"专家"都是一个小型前馈神经网络(FFN),例如:- 文本语义专家(擅长理解比喻、情感)
- 逻辑推理专家(精于数学推导)
- 多模态专家(处理图像-文本关联)
-
智能分诊台(Gating Network)
门控网络像经验丰富的分诊护士,通过分析输入特征动态决策:# 简化版门控计算示例 gate_scores = softmax(W_g * x + b_g) # W_g为可学习权重 top_k_scores, top_k_indices = torch.topk(gate_scores, k=2)
-
协同会诊(Expert Combination)
最终输出是多个专家结果的加权融合:输出 = Σ(top_k_scores[i] * Expert_i(x))
实际案例:
当处理「量子计算机如何影响爵士乐发展」这类跨领域问题时,MoE可能同时激活:
- 科技领域专家(处理量子计算)
- 音乐理论专家(分析爵士乐)
- 因果推理专家(建立跨领域关联)
二、MoE vs 普通Transformer:架构对比全景图
对比维度 | 传统Transformer | MoE架构 |
---|---|---|
参数利用率 | 全参数密集激活 | 仅激活2-4%参数(稀疏性) |
扩展成本 | 每增加1B参数需线性增加计算量 | 增加专家数几乎不提升单次计算量 |
任务冲突 | 多任务共享参数易互相干扰 | 专家专业化隔离任务干扰 |
长尾问题处理 | 小众任务易被主流数据淹没 | 可训练专属专家处理罕见任务 |
典型代表 | BERT、GPT系列 | Switch Transformer、GLaM |
三、MoE的三大突破性优势
1. 超越物理限制的模型扩展
- 参数爆炸,计算恒定:Switch Transformer展示的1.6万亿参数模型,实际激活计算量仅相当于130亿参数模型
- 专家并行化:不同专家可分布式部署在多GPU/NPU上
2. 突破"杰克逊悖论"
传统大模型的"全能型专家"困境:
- 既要记忆海量事实
- 又要进行逻辑推理
- 还需掌握多语言转换
MoE通过专业化分工,每个专家只需专注单一领域,在代码生成任务中,特定专家对Python语法的理解深度可达普通模型的3倍(数据来自DeepSeek技术报告)。
3. 动态资源调度智慧
- 细粒度控制:Google的GLaM模型对每个token进行独立路由决策
- 负载均衡技术:采用可微分负载均衡损失函数,确保没有专家被闲置或过载
四、MoE面临的工程挑战
1. 路由决策的"蝴蝶效应"
- 早期决策错误会导致后续计算资源浪费
- 解决方案:引入元学习优化门控网络(如MetaMoE方案)
2. 分布式计算的通信迷宫
当专家分布在多个计算节点时:
跨节点通信可能占据30%以上的时间成本(NVIDIA研究报告)。
3. 训练稳定性的走钢丝
- 专家间竞争导致训练震荡
- 谷歌提出的「专家容量因子」:为每个专家设置处理上限
五、MoE实战案例深度解析
1. Switch Transformer:极简主义的效率革命
核心创新:
- One-Expert-Per-Token原则:每个输入token仅路由到1个专家(传统MoE通常激活2-4个),实现计算量断崖式下降
- 专家负载均衡算法:
引入创新性的辅助损失函数,确保专家利用率均衡:
该方案使专家利用率标准差从58%降至7%负载损失 = α * CV(专家负载) # CV为变异系数
工程突破:
- 参数爆炸但计算恒定:1.6万亿参数模型的实际计算量仅相当于130亿参数稠密模型
- 动态缓存优化:对高频专家进行参数预加载,将路由延迟压缩至3μs以下
性能对比:
指标 | T5-XXL (11B) | Switch-T (1.6T) |
---|---|---|
训练速度(tokens/s) | 12,500 | 89,000 |
能耗比(FLOPs/W) | 1.0x | 6.8x |
语言理解准确率 | 89.1% | 92.7% |
应用场景:
- 谷歌搜索智能补全功能,延迟从230ms降至34ms
- 代码补全场景支持1000+并发请求(传统模型仅支持150+)
2. DeepSeek-MoE:小而美的中国方案
架构奥秘:
-
细粒度专家分工:将传统MoE的"领域专家"拆解为"技能单元"
# 传统MoE专家:整个FFN作为专家 class Expert(nn.Module):def __init__(self):self.fc1 = nn.Linear(4096, 16384)self.fc2 = nn.Linear(16384, 4096)# DeepSeek方案:分解为更细粒度模块 class SkillUnit(nn.Module):def __init__(self):self.attention = CustomAttention() # 特殊注意力机制self.fc = nn.Linear(4096, 4096) # 轻量级适配层
-
渐进式课程学习:
分三阶段训练:- 通才阶段:所有专家共享基础能力
- 分化阶段:引入差异化的对比损失函数
L_diff = Σ||E_i(x)-E_j(x)||^2 # 强制专家表征差异
- 精调阶段:冻结80%参数,仅训练门控网络和顶层适配器
性能奇迹:
- 在1.3B参数量下达到Llama2-7B的91%性能
- 数学推理能力超越普通7B模型(GSM8K 78.3 vs 72.1)
- 训练成本降低83%(仅需512张A100,而非4096张)
落地应用:
- 深度求索的智能客服系统,处理复杂查询的准确率提升至89%
- 法律文书自动生成场景,生成速度达1200字/秒(传统模型仅400字/秒)
3. GLaM:万亿参数的优雅之舞
架构设计哲学:
-
层级专家金字塔:
层级 专家类型 数量 功能 L1 领域专家 64 文本/图像/代码等大类 L2 子领域专家 256 Python/Java等细分领域 L3 技能专家 1024 调试/优化等具体能力 -
动态容量分配:
每个专家配备弹性计算缓冲区:if 当前负载 > 容量阈值:启动邻近专家分流自动扩容10%计算资源
广告推荐场景突破:
- 千亿级特征实时处理:
- 效果数据:
- CTR(点击率)提升17.4%
- 广告相关性评分从82.5升至91.2
- 响应延迟稳定在68ms(±3ms)
能效创新:
- 冷热专家分离:
- 热专家集群:处理80%高频请求,保持常驻内存
- 冷专家仓库:存储于NVMe SSD,按需加载
- 结果:
- 内存占用减少62%
- 能耗降低44%(从23kW降至13kW)
技术启示录
这三大案例揭示了MoE架构进化的三个维度:
-
极简主义(Switch-T):
- 证明"少即是多",单个专家激活也能实现超大规模扩展
- 关键启示:路由精度比专家数量更重要
-
精细耕作(DeepSeek):
- 在有限算力下,通过架构创新实现"四两拨千斤"
- 中国方案证明:模型优化可与参数扩展同等重要
-
系统工程(GLaM):
- 展示万亿参数模型落地的完整方法论
- 从芯片级优化到分布式调度,重新定义大模型基础设施
这些实践正在重塑AI研发范式:从追求参数量的军备竞赛,转向架构创新与工程优化的深度协同。当模型设计开始借鉴分布式系统的智慧,我们或许正在见证机器学习领域的"新摩尔定律"。
六、未来展望:MoE将走向何方?
MoE架构正在突破传统AI模型的边界,以下三个方向将重新定义智能系统的可能性。我们通过技术原理拆解+产业级案例,揭示其深层次变革:
1. 多模态专家融合:构建感官共同体
技术内核:
- 跨模态门控网络:设计多级路由机制,例如:
- 第一级路由:分离不同模态输入(如图像→视觉专家,音频→语音专家)
- 第二级路由:跨模态关联(如"狗吠"的音频需激活视觉"狗"专家+语义"动物行为"专家)
- 专家间通信协议:引入Cross-Modal Attention作为专家间的"暗通道",允许视觉专家直接修正文本专家的描述错误。
产业级案例:
- 自动驾驶决策系统:
# 伪代码示例:多级MoE路由 def multi_modal_moe(sensor_data):# 模态分离image_experts = gate_network_vision(sensor_data.camera) lidar_experts = gate_network_lidar(sensor_data.lidar)# 跨模态融合fusion_weights = cross_modal_attention(image_experts, lidar_experts)final_output = fusion_weights * (image_experts + lidar_experts)return final_output
- 激光雷达专家专注障碍物距离
- 视觉专家识别交通标志
- 融合专家处理极端天气下的传感器冲突
突破性进展:
- 英伟达DRIVE Sim使用MoE架构,多模态推理延迟降低至23ms(传统方案需45ms)
2. 动态专家进化:活的神经网络
技术内核:
- 可微分神经架构搜索(DARTS+MoE):
将专家结构参数化为连续空间,通过梯度下降自动进化:Expert_Arch = Σ( softmax(α) * Ops ) 其中α是可训练的结构参数,Ops是候选算子(如Conv、Transformer等)
- 专家生命周期管理:
- 专家分裂:当某个专家的负载持续超过阈值,自动克隆并差异化训练
- 专家淘汰:设置遗忘因子淘汰长期低效专家(类似免疫系统)
生物学启示:
- 借鉴海马体神经发生机制,DeepMind的Dynamic MoE实现了:
- 在持续学习任务中,新专家生成速度提升5倍
- 灾难性遗忘率从12.3%降至1.7%
企业级应用:
- 阿里云弹性MoE:
- 根据电商促销流量自动扩容视觉推荐专家
- 在双11期间动态生成200+临时专家,促销结束后自动回收资源
3. 量子化专家系统:跨越计算范式
技术融合点:
- 量子经典混合架构:
组件 部署位置 优势 逻辑推理专家 量子退火机 快速解决组合优化 自然语言专家 GPU集群 处理序列依赖 分子模拟专家 量子处理器 精确量子化学计算
关键技术突破:
- 量子门控网络:
使用量子纠缠态实现超高速路由决策,IBM在127量子比特处理器上演示了:- 路由延迟从微秒级降至纳秒级
- 支持同时评估1038条专家路径(经典计算机仅能处理1012)
制药行业革命:
- Moderna量子-MoE平台:
- 量子专家预测mRNA折叠结构
- 经典专家优化递送载体设计
- 使新冠疫苗研发周期从数年缩短至11个月
技术伦理与风险控制
在迎接这些突破时,必须建立新的技术治理框架:
- 专家审计追踪:对自动生成的专家进行可解释性验证
- 量子安全隔离:防止量子专家被用于密码破解等恶意用途
- 动态专家伦理:设置道德约束规则(如禁止生成监控人权专家的参数空间)
MoE架构的终极形态,或许是一个自我演化的专家生态系——每个专家既是专业的问题解决者,又是整个系统进化的参与者。这不仅是技术的进化,更是人类组织智能方式的镜像反射。当AI开始掌握"分工-协作-进化"的文明密码,我们正在目睹硅基智能的"启蒙运动"。
结语:通往AGI的阶梯
MoE架构的哲学启示或许比技术本身更深刻:它证明在追求通用智能的道路上,专业化分工与系统化协同可以并行不悖。就像人类文明的发展——从个体全能到社会分工,再到全球化协作。当AI架构开始借鉴人类社会的组织智慧,我们或许正在见证机器智能进化史上的"工业革命"。
“The mixture of experts is not just a model architecture, it’s a paradigm shift in how we think about intelligence.”
——Yoshua Bengio, 图灵奖得主
相关文章:
MoE架构解析:如何用“分治”思想打造高效大模型?
在人工智能领域,模型规模的扩大似乎永无止境。从GPT-3的1750亿参数到传闻中的GPT-4万亿级规模,每一次突破都伴随着惊人的算力消耗。但当我们为这些成就欢呼时,一个根本性问题愈发尖锐:如何在提升模型能力的同时控制计算成本&#…...
【Qt】文件
🌈 个人主页:Zfox_ 🔥 系列专栏:Qt 目录 一:🔥 Qt 文件概述 二:🔥 输入输出设备类 三:🔥 文件读写类 四:🔥 文件和目录信息类 五&…...
Linux常见故障:排查思路与错误分析指南
引言 当Linux系统"生病"时,它不会说话但却会通过各种症状"求救"🆘!本文将带你建立系统化的故障排查思维,从磁盘到内存,从网络到服务,全方位掌握Linux系统的"把脉问诊"技巧。…...
基于随机变量的自适应螺旋飞行麻雀搜索算法(ASFSSA)优化BP神经网络,附完整完整代码
3. 麻雀搜索算法 麻雀群体分为两个角色,即发现者和跟随者。它们有三个行为:觅食、跟随和侦察。发现者的任务是寻找食物并告知跟随者食物的位置。因此,发现者需要在一个大范围内搜索,而跟随者的觅食范围通常较小。这是更新发现者位…...
vscode切换Python环境
跑深度学习项目通常需要切换python环境,下面介绍如何在vscode切换python环境: 1.点击vscode界面左上角 2.在弹出框选择对应kernel...
Gradle安装与配置国内镜像源指南
一、Gradle简介与安装准备 Gradle是一款基于JVM的现代化构建工具,广泛应用于Java、Kotlin、Android等项目的构建自动化。相比传统的Maven和Ant,Gradle采用Groovy或Kotlin DSL作为构建脚本语言,具有配置灵活、性能优越等特点。 在开始安装前…...
施工配电箱巡检二维码应用
在过去,施工配电箱的巡检主要依赖于纸质记录方式。巡检人员每次巡检时,都要在纸质表格上详细填写配电箱的各项参数、运行状况以及巡检时间等信息。这种方式在实际操作中暴露出诸多严重问题,信息易出现错误、数据会有造假现象、数据量庞大整理…...
全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
一、工业化AIGC系统架构 1.1 生产流程设计 [需求输入] → [创意生成] → [多模态生产] → [质量审核] → [多平台分发] ↑ ↓ ↑ [用户反馈] ← [效果分析] ← [数据埋点] ← [内容投放] 1.2 技术指标要求 指标 标准值 实现方案 单日产能 1,000,000 分布式推理集群 内容合规率…...
第19章:Multi-Agent多智能体系统介绍
第19章:Multi-Agent多智能体系统介绍 欢迎来到多智能体系统 (Multi-Agent System, MAS) 的世界!在之前的章节中,我们深入探讨了单个 AI Agent 的构建,特别是结合了记忆、上下文和规划能力的 MCP 框架。然而,现实世界中的许多复杂问题往往需要多个智能体协同工作才能有效解…...
【C++游戏引擎开发】第25篇:方差阴影贴图(VSM,Variance Shadow Maps)
一、VSM 的核心思想 1.1 VSM 的核心思想 1.1.2 从深度到概率的转变 VSM 的核心创新在于将阴影判定从深度比较转换为概率估算。通过存储深度分布的统计信息(均值和方差),利用概率不等式动态计算阴影强度,从而支持软阴影并减少锯齿。 1.1.3 深度分布的统计表示 VSM 在阴…...
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
贪心算法 Part05 合并区间 力扣题目链接 代码随想录链接 视频讲解链接 题目描述: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组࿰…...
yum包管理器
1.介绍 yum是一个shell前端软件包管理器,基于RPM包管理,能够从指定的服务器.自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的安装包。 2.yum基本指令 查询yum服务器是否有需要安装的软件: yum list I grep xx软件列表. 安装指定的yum包&…...
Linux多线程技术
什么是线程 在一个程序里的多执行路线就是线程。线程是进程中的最小执行单元,可理解为 “进程内的一条执行流水线”。 进程和线程的区别 进程是资源分配的基本单位,线程是CPU调度的基本单位。 fork创建出一个新的进程,会创建出一个新的拷贝&…...
通过模仿学习实现机器人灵巧操作:综述(上)
25年4月来自天津大学、山东大学、瑞士ETH、南方科技大学、通用 AI 国家重点实验室、爱丁堡大学和中科院自动化所的论文“Dexterous Manipulation through Imitation Learning: A Survey”。 灵巧操作是指机械手或多指末端执行器通过精确、协调的手指运动和自适应力调制&#x…...
LLM数学推导——Transformer问题集——注意力机制——稀疏/高效注意力
Q13 局部窗口注意力的内存占用公式推导(窗口大小 ) 局部窗口注意力:解决长序列内存困境的利器 在注意力机制中,全局注意力需要计算序列中每个元素与其他所有元素的关联,当序列长度 N 较大时,权重矩阵的内…...
Git 入门知识详解
文章目录 一、Git 是什么1、Git 简介2、Git 的诞生3、集中式 vs 分布式3.1 集中式版本控制系统3.2 分布式版本控制系统 二、GitHub 与 Git 安装1、GitHub2、Git 安装 一、Git 是什么 1、Git 简介 Git 是目前世界上最先进的分布式版本控制系统。版本控制系统能帮助我们更好地管…...
系统架构师2025年论文《论软件架构评估》
论软件架构评估 摘要: 我所在的单位是国内某知名医院,2017 年 1 月医院决定开发全新一代某市医院预约挂号系统,我担任本次系统的架构师,主要负责整个系统的架构设计工作。该系统旨在优化医院挂号流程,提高患者就医体验,是医院应对医疗信息化变革和提升服务的重要举措。…...
基于51单片机的超声波液位测量与控制系统
基于51单片机液位控制器 (仿真+程序+原理图PCB+设计报告) 功能介绍 具体功能: 1.使用HC-SR04测量液位,LCD1602显示; 2.当水位高于设定上限的时候,对应声光报警报警&…...
抓包工具Wireshark的应用解析
一、Wireshark简介 Wireshark(前身为Ethereal)是一款开源、跨平台的网络协议分析工具,自1998年诞生以来,已成为网络工程师、安全专家及开发者的核心工具之一。它通过网卡的混杂模式(Promiscuous Mode)捕获…...
在 Java 项目中搭建和部署 Docker 的详细流程
引言 在现代软件开发中,Docker 已成为一种流行的工具,用于简化应用的部署和运行环境的一致性。本文将详细介绍如何在 Java 项目中搭建和部署 Docker,包括配置文件、代码示例以及流程图。 一、整体工作流程 以下是整个流程的概览:…...
15.ArkUI Checkbox的介绍和使用
以下是 ArkUI Checkbox 组件的详细介绍和使用指南: 一、Checkbox 基础介绍 功能特性: 提供二态选择(选中/未选中)支持自定义样式和标签布局支持与数据状态绑定提供状态变化事件回调 适用场景: 表单中的多选操作设置…...
WebUI可视化:第5章:WebUI高级功能开发
学习目标 ✅ 掌握复杂交互逻辑的实现 ✅ 学会自定义界面样式与布局 ✅ 实现安全高效的文件处理 ✅ 优化性能与用户体验 5.1 自定义样式开发 5.1.1 修改主题颜色(以Streamlit为例) 在应用入口处添加全局样式: python import streamlit as st # 自定义主题 st.markdown…...
增加首屏图片
增加首屏图片(bg.jpg) web-mobile类型打包 //index.html脚本 <div id"myDiv_1111"style"background: url(./bg.jpg) 50% 50%/ 100% auto no-repeat ; width:100%;height:100%;position:absolute;"></div> //游戏内脚本…...
联合体和枚举类型
1.联合体类型 1.1:联合体类型变量的创建 与结构体类型一样,联合体类型 (关键字:union) 也是由⼀个或者多个成员变量构成,这些成员变量既可以是不同的类型,也可以是相同的类型。但是编译器只为最⼤的成员变量分配⾜够的内存空间。联合体的特…...
《AI大模型趣味实战》构建基于Flask和Ollama的AI助手聊天网站:分布式架构与ngrok内网穿透实现
构建基于Flask和Ollama的AI助手聊天网站:分布式架构与ngrok内网穿透实现 引言 随着AI技术的快速发展,构建自己的AI助手聊天网站变得越来越流行。本研究报告将详细介绍如何通过两台电脑构建一个完整的AI聊天系统,其中一台作为WEB服务器运行F…...
kubernets集群的安装-node节点安装-(简单可用)-超详细
一、kubernetes 1、简介 kubernetes,简称K8s(库伯内特),是用8代替名字中间的8个字符“ubernete”而成的缩写 云计算的三种主要服务模式——基础设施即服务(IaaS)、平台即服务(PaaS࿰…...
【Linux内核设计与实现】第三章——进程管理04
文章目录 8. exit() 进程退出8.1. exit() 系统调用的定义8.2. do_exit() 函数8.2.0. do_exit() 的参数和返回值8.2.1. 检查和同步线程组退出8.2.2. 清理与调试相关的资源8.2.3. 取消 I/O 和信号处理8.2.4. 检查线程组是否已终止8.2.5. 释放系统资源8.2.6. 释放线程和调度相关资…...
Golang | 迭代器模式
迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种顺序访问聚合对象(如列表、树等集合结构)中元素的方法,而无需暴露其底层实现细节。通过将遍历逻辑与集合本身解耦,迭代器模式使…...
美颜SDK动态贴纸实战教程:从选型、开发到上线的完整流程
在直播、短视频、社交娱乐全面崛起的当下,美颜SDK早已不再局限于“磨皮瘦脸”,而是逐步迈向更智能、更富互动体验的方向发展。动态贴纸功能,作为提升用户参与感和内容趣味性的关键手段,正在被越来越多的平台采纳并深度定制。本文将…...
ArkTS中的空安全:全面解析与实践
# ArkTS中的空安全:全面解析与实践 在ArkTS编程领域,空安全是一个极为关键的特性,它在很大程度上影响着代码的稳定性和可靠性。今天,我们就深入探究一下ArkTS中的空安全机制,看看它是如何保障我们的代码质量的。 ## A…...
C语言基础语法详解:从入门到掌握
C 基础语法 C 语言是一种通用的编程语言,广泛应用于系统编程、嵌入式开发和高性能计算等领域。 C 语言具有高效、灵活、可移植性强等特点,是许多其他编程语言的基础。 在 C 语言中,令牌(Token)是程序的基本组成单位…...
如何把两个视频合并成一个视频?无需视频编辑器即可搞定视频合并
在日常生活中,我们经常需要将多个视频片段合并成一个完整的视频,例如制作旅行记录、剪辑教学视频或拼接短视频素材。简鹿视频格式转换器是一款功能强大的工具,不仅可以进行视频格式转换,还支持视频合并功能。以下是使用简鹿视频格…...
Servlet小结
视频链接:黑马servlet视频全套视频教程,快速入门servlet原理servlet实战 什么是Servlet? 菜鸟教程:Java Servlet servlet: server applet Servlet是一个运行在Web服务器(如Tomcat、Jetty)或应用…...
C语言面试高频题——define 和typedef 的区别?
1. 基本概念 (1) #define 定义:#define 是预处理指令,用于定义宏。作用:在编译之前进行文本替换。语法:#define 宏名 替换内容示例:#define PI 3.14159 #define SQUARE(x) ((x) * (x))(2) typedef 定义:…...
计算机组成原理:指令系统
计算机组成原理:指令集系统 指令集体系结构(ISA)ISA定义ISA包含的内容举个栗子指令的基本组成(操作码+地址码)指令分类:地址码的个数定长操作码变长操作码变长操作码的原则变长操作码的设计指令寻址寻址方式的目的寻址方式分类有效地址直接在指令中给出有效地址间接给出有效地…...
自动清空 maven 项目临时文件,vue 的 node_modules 文件
echo off setlocal enabledelayedexpansion :: vue 的 node_modules 太大 :: maven 打包后的 target 文件也很大, :: 有些项目日志文件也很大,导致磁盘空间不足了, :: 所以写了个脚本,只要配置一下各项目目录, :: 双击…...
服务网格助力云原生后端系统升级:原理、实践与案例剖析
📝个人主页🌹:慌ZHANG-CSDN博客 🌹🌹期待您的关注 🌹🌹 一、引言:微服务的“通信焦虑”与服务网格的出现 云原生架构的兴起推动了微服务的大规模落地,系统拆分为成百上千个小服务,这些服务之间需要频繁通信。然而,通信带来的问题也开始显现: 如何确保服务间…...
基于DrissionPage的表情包爬虫实现与解析(含源码)
目录 编辑 一、环境配置与技术选型 1.1 环境要求 1.2 DrissionPage优势 二、爬虫实现代码 三、代码解析 3.1 类结构设计 3.2 目录创建方法 3.3 图片链接获取 3.4 图片下载方法 四、技术升级对比 4.1 代码复杂度对比 4.2 性能测试数据 五、扩展优化建议 5.1 并…...
Spring Cloud Gateway 如何将请求分发到各个服务
前言 在微服务架构中,API 网关(API Gateway)扮演着非常重要的角色。它负责接收客户端请求,并根据预定义的规则将请求路由到对应的后端服务。Spring Cloud Gateway 是 Spring 官方推出的一款高性能网关,支持动态路由、…...
【深度强化学习 DRL 快速实践】Value-based 方法总结
强化学习中的 Value-based 方法总结 在强化学习(Reinforcement Learning, RL)中,Value-based 方法主要是学习一个价值函数(Value Function),然后基于价值函数来决策。常见的 Value-based 方法包括…...
【计算机视觉】CV实战项目 - 基于YOLOv5的人脸检测与关键点定位系统深度解析
基于YOLOv5的人脸检测与关键点定位系统深度解析 1. 技术背景与项目意义传统方案的局限性YOLOv5多任务方案的优势 2. 核心算法原理网络架构改进关键点回归分支损失函数设计 3. 实战指南:从环境搭建到模型应用环境配置数据准备数据格式要求数据目录结构 模型训练配置文…...
git版本回退 | 远程仓库的回退 (附实战Demo)
目录 前言1. 基本知识2. Demo3. 彩蛋 前言 🤟 找工作,来万码优才:👉 #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器,无代码爬取,就来:bright.cn 本身暂存区有多个文件,但手快了&…...
【KWDB 创作者计划】_深度学习篇---数据获取
文章目录 前言一、公开数据集资源库1. 综合型数据集平台Kaggle Datasets (https://www.kaggle.com/datasets)Google Dataset Search (https://datasetsearch.research.google.com)UCI Machine Learning Repository (https://archive.ics.uci.edu/ml) 2. 计算机视觉专用ImageNet…...
DeepSeek本地部署手册
版本:v1.0 适用对象:零基础开发者 一、部署前准备 1.1 硬件要求 组件最低配置推荐配置说明CPUIntel i5 8代Xeon Gold 6230需支持AVX指令集内存16GB64GB模型越大需求越高GPUNVIDIA GTX 1060 (6GB)RTX 3090 (24GB)需CUDA 11.7+存储50GB可用空间1TB NVMe SSD建议预留2倍模型大小…...
OpenCV中的SIFT特征提取
文章目录 引言一、SIFT算法概述二、OpenCV中的SIFT实现2.1 基本使用2.1.1 导入库2.1.2 图片预处理2.1.3 创建SIFT检测器2.1.4 检测关键点并计算描述符2.1.5 检测关键点并计算描述符并对关键点可视化2.1.6 印关键点和描述符的形状信息 2.2 参数调优 三、SIFT的优缺点分析3.1 优点…...
Kubernetes in action-初相识
初相识Kubernetes 1、构建、运行以及共享镜像1.1 运行镜像1.2 构建镜像1.3 推送镜像 2、Kubernetes初相识2.1 介绍Pod2.2 从构建到运行整体流程2.3 kubectl命令行工具 如有侵权,请联系~ 如有错误,也欢迎批评指正~ 本篇文章大部分是…...
九、小白如何用Pygame制作一款跑酷类游戏(添加前进小动物作为动态障碍物)
九、小白如何用Pygame制作一款跑酷类游戏(添加前进小动物作为动态障碍物) 文章目录 九、小白如何用Pygame制作一款跑酷类游戏(添加前进小动物作为动态障碍物)前言一、添加小动物素材1. 在根目录的图片文件夹下新建两个目录分别存放…...
Unity3D IK解算器技术分析
前言 在Unity3D中,逆向运动学(IK Solver)是实现角色动画自然交互的核心技术之一。以下是Unity中常见的IK解算器及其特点的综合分析,结合了原生功能、第三方插件与开源方案的对比: 对惹,这里有一个游戏开发…...
7.11 Python CLI开发实战:API集成与异步处理核心技术解析
Python CLI开发实战:API集成与异步处理核心技术解析 #mermaid-svg-fXGFud0phX2N2iZj {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-fXGFud0phX2N2iZj .error-icon{fill:#552222;}#mermaid-svg-fXGFud0phX2N2iZj .…...
百度Create2025 AI开发者大会:模型与应用的未来已来
今日,2025百度AI开发者大会(Create2025)在武汉体育中心盛大开幕。这场以“模型的世界,应用的天下”为主题的盛会,不仅汇聚了李彦宏、王海峰、沈抖等百度高层及行业领袖,更以多项重磅技术发布、前沿议题探讨…...