突破稠密Transformer的规模上限:混合专家模型(MoE)与基于检索的模型(RAG)全解析——Datawhale so-large-lm 第4章精读

发布时间:2026/9/27 10:19:24
突破稠密Transformer的规模上限:混合专家模型(MoE)与基于检索的模型(RAG)全解析——Datawhale so-large-lm 第4章精读 文档教程大模型人工智能【免费下载链接】so-large-lm大模型基础: 一文了解大模型基础知识项目地址https://gitcode.com/datawhalechina/so-large-lm点击查看免费下载导读本文基于 Datawhale 开源项目 so-large-lm 的 docs/content/ch04.md 展开系统讲解两类突破稠密 Transformer 缩放瓶颈的新模型架构混合专家模型Mixture of Experts, MoE与基于检索的模型Retrieval-based Models。通过本文你将掌握 MoE 的门控机制、负载均衡与稀疏激活原理以及 RAG、RETRO 等检索增强范式的检索器—生成器协同设计并了解 GLaM、Switch Transformer、BASE、FacebookMoE 等里程碑模型的规格与关键技巧。本仓库 README.md 将本章定位为新的架构方向MoE、RAG 基础是衔接第 3 章模型架构、第 8 章分布式训练的重要桥梁。从稠密 Transformer 说起为什么需要新架构回顾第 3 章docs/content/ch03.md神经语言模型的核心接口是一个将 token 序列映射到上下文嵌入的编码器$$ [\text{the}, \text{mouse}, \text{ate}, \text{the}, \text{cheese}] \vec{\phi} \left [\binom{1}{0.1}, \binom{0}{1}, \binom{1}{1}, \binom{1}{-0.1}, \binom{0}{-1} \right ] $$以 GPT-3 为例它是一个通过堆叠 96 层 Transformer block 映射 token 序列 $x_{1:L}$ 的神经语言模型$$ \text{GPT-3}(x_{1:L}) \text{TransformerBlock}^{96}(\text{EmbedTokenWithPosition}(x_{1:L})), $$其中每层 Transformer block 由两部分组成自注意力层允许每个 token 与其他 token 交互前馈层独立处理每个 token$$ \text{TransformerBlock}(x_{1:L}) \text{AddNorm}(\text{FeedForward}, \text{AddNorm}(\text{SelfAttention}, x_{1:L})). $$围绕这一架构有两个关键认知先验这种稠密的 Transformer 架构是目前开发大语言模型的主要范式现状扩展这种模型并非易事需要数据、模型和流水并行。第 8 章docs/content/ch08.md详细展开了这些并行策略——数据并行、模型并行、流水并行及其混合方案。更深层的瓶颈在于随着模型越来越大它们必须被拆分到更多的机器上网络带宽成为训练的瓶颈。以模型并行为例将 6 层网络切分到 3 张 GPU 上$$ \text{GPU1}[\text{layer1}, \text{layer2}] \quad\quad\quad \text{GPU2}[\text{layer3}, \text{layer4}] \quad\quad\quad \text{GPU3}[\text{layer5}, \text{layer6}]. $$因此若要继续扩大规模需要重新思考如何构建大语言模型。关键观察是对于稠密的 Transformer 模型每个输入使用语言模型的相同所有参数如 GPT-3 的 175B 参数。一个自然的反问是——我们是否可以让每个输入使用不同的更小的参数子集本章围绕这一反问探讨两类新模型架构它们提高了模型的规模上限混合专家模型MoE创建一组专家每个输入只激活一小部分专家。直觉上这类似一个由专家组成的咨询委员会每位专家拥有不同背景如历史、数学、科学等$$ \text{input} \quad\quad\Rightarrow\quad\quad \text{expert}_1 \quad \text{expert}_2 \quad \text{expert}_3 \quad \text{expert}_4 \quad\quad\Rightarrow\quad\quad \text{output}. $$基于检索的模型Retrieval-based维护一个原始数据存储库给定新输入时检索存储库中与之相关的部分并基于检索结果预测输出。直觉上这类似人类面对问题时的行为——先进行网络搜索再阅读搜到的文档以得出答案$$ \text{store} \quad\quad|\quad\quad \text{input} \quad\quad\Rightarrow\quad\quad \text{relevant data from store} \quad \quad\quad\Rightarrow\quad\quad \text{output}. $$4.1 混合专家模型MoE4.1.1 基础知识混合专家的思想可以追溯到 Jacobs et al. (1991) 的经典工作下图即该工作的示意图为了介绍基本思想假设我们在解决一个预测问题$$ x \in \mathbb{R}^d \Rightarrow y \in \mathbb{R}^d. $$先从一个普通的前馈ReLU神经网络出发$$ h_\theta(x) W_2 \max(W_1 x, 0), $$其中参数为 $\theta (W_1, W_2)$。这个函数的表达能力可能不足通常的补救方式是把网络做得更宽或更深而混合专家的做法是另辟蹊径定义 $E$ 个专家expert每个专家 $e 1, \dots, E$ 都有自己的嵌入embedding$w_e \in \mathbb{R}^d$将门控函数gating function定义为 $E$ 个专家上的概率分布$$ g_e(x) \frac{\exp(w_e \cdot x)}{\sum_{e 1}^E \exp(w_{e} \cdot x)}. $$每个专家 $e 1, \dots, E$ 都有自己的参数 $\theta^{(e)} (W_1^{(e)}, W_2^{(e)})$根据专家特定参数定义每个专家函数$$ h_{\theta_e}(x) W_2^{(e)} \max(W_1^{(e)} x, 0). $$将最终函数定义为专家的混合加权求和$$ f(x) \sum_{e1}^E \underbrace{g_e(x)}\text{gating} \underbrace{h{\theta_e}(x)}_\text{expert}. $$示例考虑 $d2$且每个专家都是一个线性分类器的情况训练混合专家模型可以通过反向传播端到端学习。根据链式法则$$ \nabla f(x) \sum_{e1}^E g_e(x) (\nabla (\log g_e(x)) h_{\theta_e}(x) \nabla h_{\theta_e}(x)). $$注意到梯度与门控值 $g_e(x)$ 成比例这意味着门控函数和专家会同时被更新——门控学会如何路由专家学会各自领域的知识。节约计算门控函数 $g(x) [g_1(x), \dots, g_E(x)]$ 对每个专家通常都是非零的例如$$ g(x) [0.04, 0.8, 0.01, 0.15]. $$按此公式专家的混合不会节省任何计算——前向传播仍要评估每个专家反向传播也必须接触每个专家。然而如果将门控函数近似为 $\tilde g(x) [\tilde g_1(x), \dots, \tilde g_E(x)]$使其中大多数专家为零那么前向和反向传播时只需使用非零 $\tilde g_e(x)$ 对应的专家 $e$ 即可。例如选取值排名前两位top-2的专家并重新规范化$$ \tilde g(x) [0, 0.84, 0, 0.16]. $$平衡专家只有所有专家都参与进来混合专家才真正有效如果只有一个专家处于活跃状态如 $g(x) [0, 1, 0, 0]$那就是浪费更严重的是若长期如此未使用专家的梯度将恒为零它们将收不到任何梯度、也无法得到改善。因此使用混合专家的主要考虑因素之一是确保所有专家都能被输入使用负载均衡load balancing。并行混合专家非常有利于并行每个专家都可以放置在不同的机器上在中心节点计算近似门控函数 $\tilde g(x)$然后只要求包含激活专家的机器稀疏来处理 $x$。这与第 8 章讨论的模型并行 通信开销形成鲜明对比MoE 通过稀疏激活天然减少了跨设备通信量。4.1.2 Sparsely-gated Mixture of ExpertsLepikhin et al. 2021现在考虑如何将混合专家思想应用到语言模型上。最简单的方案是仍然保留 96 层 Transformer但门控函数以某种方式应用于序列只在顶层进行专家的结合。更进一步的做法是将混合专家的思想应用于每个 token、每层 Transformer block或者隔层使用。由于前馈层对每个 token 是独立的因此可以将每个前馈网络转变为混合专家MoE前馈网络$$ \text{MoETransformerBlock}(x_{1:L}) \text{AddNorm}(\text{MoEFeedForward}, \text{AddNorm}(\text{SelfAttention}, x_{1:L})). $$实践中通常隔层使用 MoE Transformer blockGLaM 的架构图清晰展示了这一结构在 Sparsely-gated MoE 中top-2 专家的近似门控函数定义如下计算第一个专家$e_1 \arg\max_e g_e(x)$计算第二个专家$e_2 \arg\max_{e \neq e_1} g_e(x)$始终保留第一个专家并以一定概率随机保留第二个专家设 $p \min(2 g_{e_2}(x), 1)$以概率 $p$$\tilde g_{e_1}(x) \frac{g_{e_1}(x)}{g_{e_1}(x) g_{e_2}(x)}$$\tilde g_{e_2}(x) \frac{g_{e_2}(x)}{g_{e_1}(x) g_{e_2}(x)}$其他专家 $e \not\in { e_1, e_2 }$ 的 $\tilde g_e(x) 0$以概率 $1 - p$$\tilde g_{e_1}(x) 1$对于 $e \neq e_1$ 有 $\tilde g_e(x) 0$。引入随机性的目的是增加专家选择的多样性避免门控总是收敛到同一批专家从而帮助负载均衡。符号定义$B$一个 batch 中的 token 数量在所有序列中通常在百万数量级$E$专家数目通常在千数量级$x_1, \dots, x_B$一个 batch 中的 token。平衡专家设 $c_e \sum_{i1}^B \mathbf{1}[\tilde g_e(x_i) 0]$ 为专家 $e$ 被选中的次数。处理完一个 batch 后有 $\sum_e c_e B$如果所有专家都是平衡的那么 $c_e \frac{B}{E}$。溢出overflow如果 $c_e 2 \frac{B}{E}$则设 $f(x) x$带残差的旁路其中 2 是容量系数capacity factor。即当一个专家被过度选中时直接把输入旁路过去防止计算过载辅助损失auxiliary loss期望 $c [c_1, \dots, c_E]$ 接近均匀分布。可以惩罚 $|c|2^2 \sum{e1}^E c_e^2$但该量不可微于是定义 $m_e \sum_{i 1}^B g_e(x_i)$即 $c_e$ 的软版本并在目标函数中加入 $\text{load-balancing-loss} \sum_{e1}^E m_e c_e$。这样通过 $m_e$ 的梯度将为非零负载均衡损失可以被端到端优化。最终训练目标为$$ \text{loss} \text{negative-log-likelihood} \lambda \text{load-balancing-loss}. $$例如可以取 $\lambda \frac{0.01}{B}$。示例下面是一个 $B2$ 个 token、$E4$ 个专家的例子$$ g(x_1) [0.2, 0.6, 0.1, 0.1] \Rightarrow \tilde g(x_1) [0.25, 0.75, 0, 0] \ g(x_2) [0.1, 0.6, 0.2, 0.1] \Rightarrow \tilde g(x_2) [0, 0.75, 0.25, 0] $$统计量为$$ c [1, 2, 1, 0] \quad\quad\quad\quad m [0.3, 1.2, 0.3, 0.2] $$也就是说专家 2 被选中 2 次$c_2 2 B/E 0.5$明显被过度使用负载均衡损失会尝试降低专家 2 的权重引导门控把后续输入路由给其他专家。4.1.3 Switch TransformerFedus et al. 2021Switch Transformer 的核心改动是定义近似门控函数 $\tilde g(x)$ 只激活一个专家top-1获得更强的稀疏性。为了在大规模下稳定训练它采用了一系列技巧将 FP32 训练替换为FP16混合精度使用较小的参数进行初始化专家 dropout专家并行专家分布在多台设备上。基于这些设计Switch Transformer 训练了一个1.6 万亿参数的模型与 T5-XXL110 亿参数相比训练速度提高了 4 倍。4.1.4 Balanced Assignment of Sparse ExpertsBASElayersLewis et al., 2021BASE 层将近似门控函数 $\tilde g(x)$ 定义为对 batch 中所有 token 进行联合优化的结果为每个 token 分配 1 名专家但负载平衡是一种硬约束而不是软惩罚。定义 $a [a_1, \dots, a_B] \in {1, \dots, E}^B$ 为联合分配向量求解如下线性规划$$ \text{maximize} \sum_{i 1}^B w_{a_i} \cdot x_i \quad\text{subject to}\quad \forall e: \sum_{i1}^B \mathbf{1}[a_i e] \frac{B}{E}. $$这是一个可以有效求解的线性方程在实践中将线性方程并行化求解在测试时只需选择 top-1 的专家即可。实验设置模型门控策略参数量Sparsely-gated MoEtop-2 experts52.5BSwitch Transformertop-1 expert52.5BBASE1 个联合优化专家44.4B1.3B 共享参数 335M × 128 个专家参数BASE 需要更多的计算来优化 $a$但训练过程更稳定。总结与下一步工作Switch Transformer谷歌使用了 top-1 专家BASEFacebook为每个 token 分配 1 名专家但进行了联合优化这两个模型的性能都无法与 GPT-3 相比。不过谷歌和 Facebook 随后发布的两个高性能 MoE 语言模型确实达到了与 GPT-3 可比的性能有趣的是它们仍然基于最初简单的top-2 专家方案谷歌的GLaMFacebook 的FacebookMoE。4.1.5 Generalist Language ModelGLaMDu et al. 2021规格1.2 万亿参数GPT-3 为 1750 亿参数64 个专家、64 层、32K 个隐藏单元每个 token 只激活95B1.2T 的 8%的参数。其他设计细节创建了共1.6 万亿个 token的新数据集GLaM dataset来源包括网页、论坛、书籍、新闻等采用相对位置编码、门控线性单元GLU、GeLU 激活函数、RMSNorm而非 LayerNorm训练稳定性处理如果遇到 NaN/Inf跳过权重更新或回滚到早期检查点论文中的经验总结通过仔细实施上述技巧我们观察到稀疏激活的模型在各个尺度上的训练都变得相当稳定。结果与 GPT-3 相比训练成本仅为 1/3在与 GPT-3 相同的基准上进行评估开放域问答、阅读理解、SuperGLUE 等与 GPT-3 相比实现了更好的 0-shot 和 1-shot 性能尤其是在知识密集型任务中注他们没有在 GPT-3 更强的 few-shot 场景中进行评估。WinoGender 上的结果示例The nurse notified the patient that{her/his,their}shift would be ending in an hour.结论GLaM 的性别偏见少于 GPT-3。4.1.6 FacebookMoEArtetxe et al., 2021实验设置训练了一个1.1T 参数的模型512 名专家超过 GLaM 的 64 个、32 层、4096 个隐藏单元使用112 billion token进行训练来源包括网页、论坛、书籍、新闻等结论小模型收益更大模型越大收益递减。在 StereoSet 上的结果示例The assistant went to work. {She brought her boss coffee., She was valued for her input.}结论刻板印象随着模型大小的增加而变得更糟与 GLaM 的结果相反。4.1.7 Decentralized Mixture-of-ExpertsRyabinin Gusev, 2020动机到目前为止混合专家都是中心机构如谷歌或 Facebook从扩大大语言模型的角度出发的。然而混合专家天然指示了一种更激进的权力下放例如为训练 GPT-3微软 Azure 超级计算机集群耗资2.5 亿美元那么如何利用数以亿计的消费级 PCFoldingHome是一个志愿者计算项目利用世界各地志愿者捐赠的计算机进行分子动力学模拟2020 年 4 月FoldingHome 有70 万人捐赠了算力产生2.43 exaFLOP作为对比训练 GPT-3 需要 350 千兆 FLOP主要区别在于分子动力学模拟计算量大但不需要网络带宽——而语言模型训练恰恰依赖频繁的高带宽通信。主要考虑因素节点众多$10^3 \sim 10^6$ 台异构 PC频繁的节点故障每天有 5–20% 的节点至少发生一次故障家庭互联网通信带宽约 100Mbps相比之下Azure 超级计算机为 400Gbps。分布式哈希表DHT共 $N$ 个节点单个节点只需要与其他 $O(\log N)$ 个节点通信使用Kademlia DHT 协议该协议被 BitTorrent 和以太坊使用。论文实验选取top-4 的专家共 256 名专家每个专家就是一个 Transformer 层在4 个 GPU上训练了一个小型 Transformer LM。4.1.8 Diskin et al., 202140 名志愿者参与为孟加拉语训练了一个 ALBERT 的掩码语言模型项目名为一起训练 Transformer任何人都可以加入并贡献计算。4.1.9 MoE 小结混合专家起源于将不同专家应用于不同输入的经典理念允许训练更大的语言模型可达 1.1 万亿参数与稠密 Transformer 模型相比每个输入的计算效率高得多FLOP 更少效果难以直接比较在相同规模下直接对比仍然具有挑战性GPT-3 vs GLaM vs FacebookMoE对权力下放去中心化训练有重大影响。4.2 基于检索的模型现在转向另一类语言模型基于检索的或检索增强的、记忆增强的模型它同样可以帮助突破稠密 Transformer 的缩放上限。需要说明的是本节内容也是后续智能体Agent章节中 RAG 应用的理论基础——docs/content/ch13.md 指出当 LLM 缺乏即时数据时可以借助 RAG 系统让模型访问外部数据如最新汽车销售数据或市场报告。4.2.1 编码器-解码器先关注使用编码器-解码器框架的序列到序列任务$$ \text{input } x \quad\Rightarrow\quad \text{output } y $$示例开放问答输入 $x$What is the capital of Canada?输出 $y$OttawaBART 和 T5 是编码器-解码器模型的代表它们建模条件概率 $p(y \mid x)$并使用去噪目标函数进行训练。例如输入 $x$Thank you $ $ me to your party $ $ week.输出 $y$$ $ for inviting $ $ last4.2.2 检索方法假设有一个存储库 $S$它是一组序列通常是文档或段落的集合$$ S { \text{Why is the...}, \text{Thanks for}, ..., \text{The quick...}, \text{Stanford...} }. $$基于检索的模型直观的生成过程是基于输入 $x$检索相关序列 $z$给定检索序列 $z$ 和输入 $x$生成输出 $y$。示例开放问答输入 $x$What is the capital of Canada?检索 $z$Ottawa is the capital city of Canada.输出 $y$Ottawa**最近邻nearest neighbor**是最常用的一种检索方法$S$ 是训练集检索 $(x,y) \in S$使得 $x$ 与 $x$ 最相似生成 $y y$。4.2.3 Retrieval-Augmented GenerationRAGLewis et al., 2020RAG 是检索增强生成的代表作其整体架构如下形式上RAG 模型定义如下$$ p(y \mid x) \sum_{z \in S} \underbrace{p(z \mid x)}\text{retriever} \underbrace{p(y \mid z, x)}\text{generator}. $$在实践中对 $S$ 的求和 $\sum_{z \in S}$ 由前 k 个代替类似于为混合专家选择前 1 个或 2 个专家。检索器RetrieverRAG 的检索器采用Dense Passage RetrievalDPRKarpukhin et al., 2020$$ p(z \mid x) \frac{\exp(\text{BERT}\text{d}(z) \cdot \text{BERT}\text{q}(x))}{\sum_{z \in S} \exp(\text{BERT}\text{d}(z) \cdot \text{BERT}\text{q}(x))}. $$这里以用维基百科文章的标题来检索段落为例使用 QA 数据集如 NaturalQuestions、TriviaQA 等的 query、正例、负例 $(q, p^, p^-_1, \dots, p^-_n)$ 来训练模型负例随机选取或使用BM25检索出的不包含答案的段落推理使用FAISSFacebook AI 相似性搜索进行高效的大规模向量检索。生成器Generator$$ p(y \mid z, x) p(y \mid \text{concat}(z, x)). $$使用BART-large400M 参数输入为检索出的段落 $z$ 和输入 $x$ 的拼接回想一下BART 是基于网络、新闻、书籍和故事数据使用去噪目标函数例如掩码训练得到的。训练用 BART、DPR用 BERT 初始化进行初始化训练 $\text{BART}$ 和 $\text{BERT}_\text{q}$即同时微调生成器与查询编码器。实验在Jeopardy 问题生成任务上输入 Hemingway 的检索结果实验结果表明RAG 优于非检索方法作为参照论文还引用了 GPT-3 few-shot 的结果进行比较NaturalQuestions29.9%、WebQuestions41.5%、TriviaQA71.2%。4.2.4 RETROBorgeaud et al., 2021RETRORetrieval-Enhanced Transformer的核心设计基于32 个 token 的块进行检索粒度更细优于整篇段落存储库规模2 trillion tokens参数量70 亿参数比 GPT-3 少 25 倍使用冻结的 BERT 进行检索检索器不更新在MassiveText上训练与训练 Gopher 使用的数据集相同。实验结果在语言建模方面表现出色NaturalQuestions 准确率45.5%当时 SOTA 为 54.7%。4.2.5 讨论基于检索的模型高度适合知识密集型的问答任务除了可扩展性之外基于检索的模型还提供了可解释性答案可追溯到存储库中的具体段落和更新存储库的能力无需重训模型即可注入新知识目前尚不清楚这些模型是否具有与稠密 Transformer相同的通用能力。总体总结为了扩大模型规模需要改进稠密 Transformer混合专家和基于检索的方法相结合可能更有效如何设计更好的、可扩展的体系结构仍然是一个悬而未决的问题。延伸阅读混合专家模型Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts LayerShazeer et al., ICLR 2017训练 1370 亿参数模型将混合专家1000 个专家以卷积方式应用于 LSTM 层之间是稀疏门控 MoE 的开山之作。GShard: Scaling Giant Models with Conditional Computation and Automatic ShardingLepikhin et al., ICLR 2020用 6000 亿参数训练 100 种语言的神经机器翻译 Transformer使用 top-2 专家。Switch Transformers: Scaling to Trillion Parameter Models with Simple and Efficient SparsityFedus et al., 2021训练语言模型相比 T5-XXL130 亿参数获得 4 倍加速使用 top-1 专家。GLaM: Efficient Scaling of Language Models with Mixture-of-ExpertsDu et al., 2021训练 1.2 万亿参数模型、64 个专家使用 top-2 专家同时创建了新数据集。BASE Layers: Simplifying Training of Large, Sparse ModelsLewis et al., ICML 2021通过求解优化问题实现 token 到专家的均衡分配训练了 1100 亿参数模型。Efficient Large Scale Language Modeling with Mixtures of ExpertsArtetxe et al., 2021训练 1.1 万亿参数模型使用 top-2 专家512 个专家。Towards Crowdsourced Training of Large Neural Networks using Decentralized Mixture-of-ExpertsRyabinin Gusev, NeurIPS 2020去中心化 MoE 训练的代表工作。Distributed Deep Learning in Open CollaborationsDiskin et al., 2021开源协作式分布式深度学习的实践。Dense-to-Sparse Gate for Mixture-of-ExpertsNie et al., 2021探讨从稠密门控到稀疏门控的转换方法。基于检索的模型REALM: Retrieval-Augmented Language Model Pre-TrainingGuu et al., 2020引入REALM将检索增强融入预训练阶段。Retrieval-Augmented Generation for Knowledge-Intensive NLP TasksLewis et al., NeurIPS 2020引入RAG即本文 4.2.3 节的核心内容。Improving language models by retrieving from trillions of tokensBorgeaud et al., 2021引入RETRO即本文 4.2.4 节的核心内容。提示以上论文的完整信息可在 docs/content/ch04.md 的延伸阅读一节查阅对应原文链接本文聚焦仓库文档与代码可验证的内容外部引用地址不在此赘述。建议配合第 3 章docs/content/ch03.md理解 Transformer 基础配合第 8 章docs/content/ch08.md理解并行与通信瓶颈配合第 13 章docs/content/ch13.md了解 RAG 在智能体系统中的实际应用场景。赞分享文档教程大模型人工智能【免费下载链接】so-large-lm大模型基础: 一文了解大模型基础知识项目地址https://gitcode.com/datawhalechina/so-large-lm点击查看免费下载相关推荐fairseq MoE 大规模语言模型实战从 125M 稠密模型到 1.1T 混合专家模型的加载与评估指南fairseq MoE 大规模语言模型实战从 125M 稠密模型到 1.1T 混合专家模型的加载与评估指南 导读 本文围绕 fairseq 仓库中 examp人工智能深度学习预训练NLP语音so-large-lm 大模型模型架构精讲分词原理与 Transformer 架构全解析so large lm 大模型模型架构精讲分词原理与 Transformer 架构全解析 本文是 Datawhale《大模型基础》系列so large lm文档教程大模型人工智能Kubernetes 验证测试体系Verification Tests完全指南从 make verify 到污点传播分析Kubernetes 验证测试体系Verification Tests完全指南从 make verify 到污点传播分析 导读 本文基于 Kuberne文档教程大模型人工智能上一篇LinuxKit 在 Equinix Metal 裸金属上的部署实战iPXE 引导、SOS 控制台与网络配置下一篇深入解析 meta-title为页面编写描述性 Title 标签的完整 SEO 实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询