DeepSeek-OCR MoE结构梳理(其它LLM原理类似)

本文档参考DeepSeek-OCR LLM部分(DeepSeek-3B-MoE)前向推理流程解读。

网络结构高清大图,请在点击下载获取。

1. 采用64个专家模块(mlp),每个token推理激活6个专家模块。

2. prefill产生首token运行时流程

从流程图中可以明显看出,混合专家模块其实主要针对每个block的transformer模块中的计算量最大的Feed Forward(前馈网络,实际就是全连接+act)做选择,64个混合专家在903个输入token中每个token都被选择6个,即计算903x6次专家计算(Feed Forward),但如果是稠密模型则需要做903x64次FeedForward,计算量巨大。同时,在DeepSeek-3B-MoE中存在一个共享专家(Feed Forward)用于均衡信息。共享专家模块的全连接层维度更大,可以参考下面的ModuleList块,存在1280x6848的权重。而每个混合专家只有1280x896的权重,但64个混合专家权重会更多,所以混合专家模块MoE的主要目的是以空间换时间,更大内存的占用换取推理时更快的速度。

在DeepSeek-OCR中的3B-MoE模型的block为11(从1~11,第0个block为稠密模型),即11次稠密模型与11次混合专家带来的计算量的减少是巨大的。当然在其它模型算法中(比如Qwen 30B A3B模型中采用了128个专家模块,每次激活8个专家模块)。

另外,在prefill阶段,因为一般输入token数量大部分会大于64(本例中为903),所以基本上每个专家模块都会被不同的token所选中,所以大部分混合专家都会被激活。但是也不排除有特例,在prefill阶段存在没有被任何token选中的,那此时concat的输入个数就不固定了,但输出维度是一定的。

3. decode阶段解码时的MoE混合专家模块流程。

与prefill阶段类似,只不过prefill阶段903个token,在decode阶段每次只有一个token输入,即1x1x1280。另外,由于decode阶段每次输入一个token,所以混合专家每次只有6个被选中激活,即concat的输入个数固定为6个。

相关推荐
Mr -老鬼10 小时前
EasyclickOCR模块的正确用法
ocr·easyclick
钟良堂14 小时前
Java开发OCR(自动识别图片中的文字)Tesseract-OCR + Tess4J 和 百度智能云OCR API
java·ocr·图片文字识别
qq_5469372715 小时前
PDF工具的天花板!PDF补丁丁:开源免费+无广告,支持Win7~Win11,批量OCR秒完成
pdf·ocr
E_ICEBLUE2 天前
零成本实现文档智能:本地化 OCR 提取与 AI 处理全流程实战
人工智能·ocr
AI人工智能+2 天前
智能表格识别技术:通过深度学习与版面分析相结合,解决传统OCR在复杂表格处理中的局限性
深度学习·ocr·表格识别
一碗面4212 天前
不用第三方 API!FastAPI + PaddleOCR 自建身份证 OCR 服务实战
ocr·fastapi
墨染天姬3 天前
【AI】OCR开源模型排行
人工智能·开源·ocr
AI人工智能+3 天前
智能表格识别技术融合深度学习与计算机视觉,突破传统表格数字化瓶颈
深度学习·ocr·表格识别
AI人工智能+4 天前
银行回单识别技术:基于深度学习,实现多格式回单秒级解析,识别精度超99.5%
深度学习·ocr·银行回单识别
AI人工智能+4 天前
基于深度学习的表格识别技术,通过多模态神经网络实现高精度OCR识别,支持复杂表格结构解析和版面还原
深度学习·ocr·表格识别