<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>ChatGPT 技术源流合集 on Z&#39;s Blog</title>
    <link>https://blog.zhangky.com/series/chatgpt-%E6%8A%80%E6%9C%AF%E6%BA%90%E6%B5%81%E5%90%88%E9%9B%86/</link>
    <description>Recent content in ChatGPT 技术源流合集 on Z&#39;s Blog</description>
    <image>
      <title>Z&#39;s Blog</title>
      <url>https://blog.zhangky.com/images/logo.svg</url>
      <link>https://blog.zhangky.com/images/logo.svg</link>
    </image>
    <generator>Hugo -- 0.160.1</generator>
    <language>zh-cn</language>
    <lastBuildDate>Wed, 31 Dec 2025 21:53:04 +0800</lastBuildDate>
    <atom:link href="https://blog.zhangky.com/series/chatgpt-%E6%8A%80%E6%9C%AF%E6%BA%90%E6%B5%81%E5%90%88%E9%9B%86/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>【ChatGPT时刻10】InstructGPT与RLHF：对齐人类意图的关键技术</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-12-31-chatgpt-10-instructgpt-rlhf/</link>
      <pubDate>Wed, 31 Dec 2025 21:53:04 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-12-31-chatgpt-10-instructgpt-rlhf/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Long Ouyang等人于2022年发表的里程碑论文《Training language models to follow instructions with human feedback》，该论文提出了InstructGPT模型和RLHF（Reinforcement Learning from Human Feedback，人类反馈强化学习）技术，首次实现了让语言模型&lt;strong&gt;真正理解并遵循人类指令&lt;/strong&gt;。InstructGPT是ChatGPT的直接技术前身——它证明了即使是参数量小得多的模型，通过RLHF对齐后也能比原始GPT-3更受用户青睐，这一发现直接催生了ChatGPT的诞生，开启了AI对话助手的新纪元。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;语言模型对齐问题&#34;&gt;语言模型对齐问题&lt;/h2&gt;
&lt;h3 id=&#34;问题一gpt-3的不听话&#34;&gt;问题一：GPT-3的&amp;quot;不听话&amp;quot;&lt;/h3&gt;
&lt;p&gt;尽管GPT-3展示了惊人的能力，但它存在一个根本问题：&lt;strong&gt;不能可靠地遵循用户指令&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;典型问题包括：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;答非所问&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;用户：列出5个学习编程的建议
GPT-3：编程是一门重要的技能。很多人学习编程...（继续生成无关内容）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;有害内容&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;用户：如何做一个好人？
GPT-3：（可能生成负面或有害建议）
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;胡言乱语&lt;/strong&gt;：&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;用户：2+2等于几？
GPT-3：2+2等于5。在某些情况下...（自信地输出错误内容）
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;问题二预训练目标的错位&#34;&gt;问题二：预训练目标的错位&lt;/h3&gt;
&lt;p&gt;GPT-3的预训练目标是&lt;strong&gt;预测下一个token&lt;/strong&gt;：&lt;/p&gt;
&lt;p&gt;$$
\mathcal{L}&lt;em&gt;{\text{LM}} = -\sum&lt;/em&gt;{i} \log P(x_i | x_1, \ldots, x_{i-1})
$$&lt;/p&gt;
&lt;p&gt;这一目标与用户的真正需求存在根本错位：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;预训练目标&lt;/th&gt;
          &lt;th&gt;用户需求&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;预测最可能的续写&lt;/td&gt;
          &lt;td&gt;有帮助的回答&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;模仿训练数据分布&lt;/td&gt;
          &lt;td&gt;诚实的信息&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;最大化似然&lt;/td&gt;
          &lt;td&gt;安全的内容&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;示例&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;训练数据：&amp;ldquo;问：今天天气怎么样？答：今天天气&amp;hellip;&amp;rdquo;&lt;/li&gt;
&lt;li&gt;用户需求：&amp;ldquo;告诉我明天的天气预报&amp;rdquo;&lt;/li&gt;
&lt;li&gt;GPT-3可能继续写&amp;quot;晴朗&amp;quot;，而不是承认不知道&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;问题三对齐问题的定义&#34;&gt;问题三：对齐问题的定义&lt;/h3&gt;
&lt;p&gt;AI对齐（Alignment）问题的核心是：&lt;strong&gt;如何让AI系统的行为符合人类意图&lt;/strong&gt;？&lt;/p&gt;
&lt;p&gt;形式化定义：&lt;/p&gt;
&lt;p&gt;$$
\text{对齐目标} = \max_{\theta} \mathbb{E}&lt;em&gt;{x \sim \mathcal{D}&lt;/em&gt;{\text{user}}}[R_{\text{human}}(\text{model}_\theta(x))]
$$&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻09】GPT-3：少样本学习的突破与涌现能力</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-12-15-chatgpt-09-gpt3/</link>
      <pubDate>Mon, 15 Dec 2025 21:48:02 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-12-15-chatgpt-09-gpt3/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Tom Brown等人于2020年发表的划时代论文《Language Models are Few-Shot Learners》，该论文提出了GPT-3模型，以&lt;strong&gt;1750亿参数&lt;/strong&gt;的前所未有规模，首次展示了大语言模型的&lt;strong&gt;上下文学习&lt;/strong&gt;（In-context Learning）和&lt;strong&gt;涌现能力&lt;/strong&gt;（Emergent Abilities）。GPT-3证明了一个惊人的事实：足够大的语言模型无需更新参数，仅通过在输入中提供少量示例，就能执行从未见过的任务——这一发现彻底改变了AI的发展轨迹，直接催生了ChatGPT的诞生。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;从零样本到少样本的飞跃&#34;&gt;从零样本到少样本的飞跃&lt;/h2&gt;
&lt;h3 id=&#34;问题一零样本学习的局限&#34;&gt;问题一：零样本学习的局限&lt;/h3&gt;
&lt;p&gt;GPT-2展示了零样本学习的可能性，但性能仍然有限：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;任务&lt;/th&gt;
          &lt;th&gt;零样本GPT-2&lt;/th&gt;
          &lt;th&gt;微调SOTA&lt;/th&gt;
          &lt;th&gt;差距&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;CoQA&lt;/td&gt;
          &lt;td&gt;55 F1&lt;/td&gt;
          &lt;td&gt;82 F1&lt;/td&gt;
          &lt;td&gt;-27&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;翻译（法英）&lt;/td&gt;
          &lt;td&gt;11.5 BLEU&lt;/td&gt;
          &lt;td&gt;45.6 BLEU&lt;/td&gt;
          &lt;td&gt;-34&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;摘要&lt;/td&gt;
          &lt;td&gt;21.6 ROUGE&lt;/td&gt;
          &lt;td&gt;44.2 ROUGE&lt;/td&gt;
          &lt;td&gt;-23&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;零样本学习虽然证明了概念，但实用性不足。&lt;/p&gt;
&lt;h3 id=&#34;问题二微调的代价&#34;&gt;问题二：微调的代价&lt;/h3&gt;
&lt;p&gt;传统微调方法虽然有效，但存在显著问题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;数据需求&lt;/strong&gt;：每个任务需要数千到数十万标注样本&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;过拟合风险&lt;/strong&gt;：在小数据集上容易过拟合&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;分布偏移&lt;/strong&gt;：微调数据与测试数据分布不一致&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;计算成本&lt;/strong&gt;：大模型微调需要大量计算资源&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;灵活性差&lt;/strong&gt;：每个任务需要单独模型&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;问题三人类学习的启示&#34;&gt;问题三：人类学习的启示&lt;/h3&gt;
&lt;p&gt;人类可以从极少量示例中学习新任务：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;看一个例子：&amp;lsquo;狗&amp;rsquo;的复数是&amp;rsquo;dogs&amp;rsquo;。那&amp;rsquo;猫&amp;rsquo;的复数是什么？&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;人类不需要数千个训练样本，仅需要任务描述和少量示例就能泛化。GPT-3的目标是：&lt;strong&gt;让机器具备类似的学习能力&lt;/strong&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;gpt-3的核心创新&#34;&gt;GPT-3的核心创新&lt;/h2&gt;
&lt;h3 id=&#34;前所未有的规模&#34;&gt;前所未有的规模&lt;/h3&gt;
&lt;p&gt;GPT-3将规模推向极致：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;参数&lt;/th&gt;
          &lt;th&gt;GPT-2&lt;/th&gt;
          &lt;th&gt;GPT-3 Small&lt;/th&gt;
          &lt;th&gt;GPT-3 Medium&lt;/th&gt;
          &lt;th&gt;GPT-3 Large&lt;/th&gt;
          &lt;th&gt;GPT-3 XL&lt;/th&gt;
          &lt;th&gt;GPT-3 175B&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;层数&lt;/td&gt;
          &lt;td&gt;48&lt;/td&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;24&lt;/td&gt;
          &lt;td&gt;24&lt;/td&gt;
          &lt;td&gt;32&lt;/td&gt;
          &lt;td&gt;96&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;隐藏维度&lt;/td&gt;
          &lt;td&gt;1600&lt;/td&gt;
          &lt;td&gt;768&lt;/td&gt;
          &lt;td&gt;1024&lt;/td&gt;
          &lt;td&gt;1536&lt;/td&gt;
          &lt;td&gt;2048&lt;/td&gt;
          &lt;td&gt;12288&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;注意力头数&lt;/td&gt;
          &lt;td&gt;25&lt;/td&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;16&lt;/td&gt;
          &lt;td&gt;16&lt;/td&gt;
          &lt;td&gt;24&lt;/td&gt;
          &lt;td&gt;96&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;参数量&lt;/td&gt;
          &lt;td&gt;1.5B&lt;/td&gt;
          &lt;td&gt;125M&lt;/td&gt;
          &lt;td&gt;350M&lt;/td&gt;
          &lt;td&gt;760M&lt;/td&gt;
          &lt;td&gt;1.3B&lt;/td&gt;
          &lt;td&gt;&lt;strong&gt;175B&lt;/strong&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最大的GPT-3模型参数量达到&lt;strong&gt;1750亿&lt;/strong&gt;，是GPT-2的&lt;strong&gt;100倍以上&lt;/strong&gt;。&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻08】Scaling Laws：规模与性能的幂律关系</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-11-28-chatgpt-08-scaling-laws/</link>
      <pubDate>Fri, 28 Nov 2025 21:13:58 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-11-28-chatgpt-08-scaling-laws/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Jared Kaplan、Sam McCandlish、Tom Henighan、Tom B. Brown、Benjamin Chess、Rewon Child、Scott Gray、Alec Radford、Jeffrey Wu和Dario Amodei于2020年发表的里程碑论文《Scaling Laws for Neural Language Models》，该论文发现了神经语言模型的缩放定律（Scaling Laws），揭示了模型规模、数据规模、计算量与模型性能之间的幂律关系。这一发现不仅为大模型的发展提供了理论指导，更为理解&amp;quot;规模即智能&amp;quot;提供了科学依据，是当今大模型时代的理论基础。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;规模是性能的关键。&amp;quot;——这是缩放定律论文的核心发现。通过系统性的实验，论文发现模型性能（损失）与模型规模、数据规模、计算量之间存在清晰的幂律关系。这意味着，只要增加模型规模、数据规模或计算量，模型性能就会可预测地提升。这一发现为大模型的发展指明了方向。&lt;/p&gt;
&lt;p&gt;缩放定律的核心发现是&lt;strong&gt;幂律关系&lt;/strong&gt;：模型损失 $L$ 与模型参数 $N$、数据规模 $D$、计算量 $C$ 之间存在幂律关系：&lt;/p&gt;
&lt;p&gt;$$
L(N, D) = \left(\frac{N_c}{N}\right)^{\alpha_N} + \left(\frac{D_c}{D}\right)^{\alpha_D} + L_\infty
$$&lt;/p&gt;
&lt;p&gt;其中 $\alpha_N$、$\alpha_D$ 是幂律指数，$L_\infty$ 是无限规模下的极限损失。&lt;/p&gt;
&lt;p&gt;这一发现的意义深远：它证明了&amp;quot;规模即智能&amp;quot;的科学性，为大模型的发展提供了可预测的路径。理解缩放定律，就是理解大模型时代的底层规律。&lt;/p&gt;
&lt;p&gt;本文将从问题根源、核心机制、解决方案、实践评估四个维度深度解读缩放定律，包含完整的数学推导、实验分析和理论探讨，并在文末提供阅读研究论文的时间线计划。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;大模型发展的经验性探索&#34;&gt;大模型发展的经验性探索&lt;/h2&gt;
&lt;h3 id=&#34;问题一规模与性能的关系不明确&#34;&gt;问题一：规模与性能的关系不明确&lt;/h3&gt;
&lt;p&gt;在大模型发展的早期，规模与性能的关系不明确：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;经验性探索的问题&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不清楚增加模型规模是否一定提升性能&lt;/li&gt;
&lt;li&gt;不清楚最优的模型规模是多少&lt;/li&gt;
&lt;li&gt;不清楚如何分配计算资源（模型 vs 数据）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;实践中的困惑&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有些模型规模增大后性能提升不明显&lt;/li&gt;
&lt;li&gt;有些模型规模增大后甚至性能下降&lt;/li&gt;
&lt;li&gt;缺乏理论指导&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;问题二资源分配的不确定性&#34;&gt;问题二：资源分配的不确定性&lt;/h3&gt;
&lt;p&gt;在有限的计算资源下，如何分配资源？&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻07】GPT-2：语言模型是无监督的多任务学习者</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-11-11-chatgpt-07-gpt2/</link>
      <pubDate>Tue, 11 Nov 2025 21:29:22 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-11-11-chatgpt-07-gpt2/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Alec Radford等人于2019年发表的突破性论文《Language Models are Unsupervised Multitask Learners》，该论文提出了GPT-2模型，首次证明了足够大的语言模型可以在&lt;strong&gt;零样本&lt;/strong&gt;（zero-shot）设置下执行多种任务，无需任何任务特定的微调。GPT-2的核心发现是：&lt;strong&gt;规模本身就是一种能力&lt;/strong&gt;——当模型参数从1亿扩展到15亿时，涌现出了令人惊讶的零样本学习能力，这一发现为GPT-3的成功和ChatGPT的诞生奠定了关键基础。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;从微调到零样本的范式转变&#34;&gt;从微调到零样本的范式转变&lt;/h2&gt;
&lt;h3 id=&#34;问题一监督学习的局限&#34;&gt;问题一：监督学习的局限&lt;/h3&gt;
&lt;p&gt;GPT-1虽然证明了预训练的有效性，但仍然依赖于任务特定的微调：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;数据依赖&lt;/strong&gt;：每个任务需要标注数据集&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;泛化受限&lt;/strong&gt;：微调后的模型难以适应分布外数据&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;任务特定&lt;/strong&gt;：每个任务需要训练一个单独的模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种范式无法解释人类的语言能力：人类可以在没有明确训练的情况下执行新任务。&lt;/p&gt;
&lt;h3 id=&#34;问题二任务表示的统一&#34;&gt;问题二：任务表示的统一&lt;/h3&gt;
&lt;p&gt;传统NLP将每个任务独立建模，使用不同的输入格式和输出层。但从信息论角度看，所有NLP任务本质上都是条件概率建模：&lt;/p&gt;
&lt;p&gt;$$
P(\text{output} | \text{input}, \text{task})
$$&lt;/p&gt;
&lt;p&gt;要害在于：&lt;strong&gt;任务描述本身可以作为输入的一部分&lt;/strong&gt;。例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;翻译任务：&lt;code&gt;translate to french, [english text], [french text]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;摘要任务：&lt;code&gt;TL;DR: [article], [summary]&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;问答任务：&lt;code&gt;Q: [question] A: [answer]&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果语言模型足够强大，它应该能够从上下文中推断任务并执行。&lt;/p&gt;
&lt;h3 id=&#34;问题三规模假设&#34;&gt;问题三：规模假设&lt;/h3&gt;
&lt;p&gt;GPT-2的核心假设是：&lt;strong&gt;大规模语言模型在足够多样化的数据上训练，将隐式地学习多种任务&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;直觉来源于互联网文本的多样性：网页包含各种格式的内容——问答对、翻译样本、摘要、对话等。如果模型能够学习这些自然出现的模式，它就应该能够执行相应的任务。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;gpt-2的技术方案&#34;&gt;GPT-2的技术方案&lt;/h2&gt;
&lt;h3 id=&#34;更大的模型&#34;&gt;更大的模型&lt;/h3&gt;
&lt;p&gt;GPT-2在GPT-1基础上进行了显著的规模扩展：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;参数&lt;/th&gt;
          &lt;th&gt;GPT-1&lt;/th&gt;
          &lt;th&gt;GPT-2 Small&lt;/th&gt;
          &lt;th&gt;GPT-2 Medium&lt;/th&gt;
          &lt;th&gt;GPT-2 Large&lt;/th&gt;
          &lt;th&gt;GPT-2 XL&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;层数&lt;/td&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;24&lt;/td&gt;
          &lt;td&gt;36&lt;/td&gt;
          &lt;td&gt;48&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;隐藏维度&lt;/td&gt;
          &lt;td&gt;768&lt;/td&gt;
          &lt;td&gt;768&lt;/td&gt;
          &lt;td&gt;1024&lt;/td&gt;
          &lt;td&gt;1280&lt;/td&gt;
          &lt;td&gt;1600&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;注意力头数&lt;/td&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;12&lt;/td&gt;
          &lt;td&gt;16&lt;/td&gt;
          &lt;td&gt;20&lt;/td&gt;
          &lt;td&gt;25&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;参数量&lt;/td&gt;
          &lt;td&gt;117M&lt;/td&gt;
          &lt;td&gt;117M&lt;/td&gt;
          &lt;td&gt;345M&lt;/td&gt;
          &lt;td&gt;762M&lt;/td&gt;
          &lt;td&gt;1542M&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;最大的GPT-2 XL模型参数量达到&lt;strong&gt;15.42亿&lt;/strong&gt;，是GPT-1的13倍。&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻06】GPT-1：生成式预训练的开山之作</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-10-25-chatgpt-06-gpt1/</link>
      <pubDate>Sat, 25 Oct 2025 21:03:01 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-10-25-chatgpt-06-gpt1/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Alec Radford等人于2018年发表的里程碑论文《Improving Language Understanding by Generative Pre-Training》，该论文提出了GPT（Generative Pre-Training）模型，首次将大规模无监督预训练与有监督微调相结合，在多个NLP基准上取得了突破性成绩。GPT-1是ChatGPT的直系祖先——它确立了&amp;quot;预训练+微调&amp;quot;的范式，证明了通用语言表示可以从海量无标注文本中学习，为后续GPT-2、GPT-3乃至ChatGPT奠定了架构和方法基础。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;nlp的迁移学习困境&#34;&gt;NLP的迁移学习困境&lt;/h2&gt;
&lt;h3 id=&#34;问题一标注数据的稀缺性&#34;&gt;问题一：标注数据的稀缺性&lt;/h3&gt;
&lt;p&gt;深度学习在NLP中的应用面临一个根本挑战：高质量标注数据稀缺。&lt;/p&gt;
&lt;p&gt;与计算机视觉不同，NLP任务的标注需要语言专业知识，成本高昂：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;情感分析&lt;/strong&gt;：需要理解语言的细微差别&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;问答系统&lt;/strong&gt;：需要专业领域知识&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;文本蕴含&lt;/strong&gt;：需要逻辑推理能力&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;大多数NLP数据集仅有数千到数万条标注样本，远不足以从头训练大型神经网络。&lt;/p&gt;
&lt;h3 id=&#34;问题二预训练方法的局限&#34;&gt;问题二：预训练方法的局限&lt;/h3&gt;
&lt;p&gt;在GPT之前，NLP领域的预训练主要有两种方式：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;词向量预训练&lt;/strong&gt;（如Word2Vec、GloVe）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;只提供词级别的表示&lt;/li&gt;
&lt;li&gt;无法捕捉上下文信息&lt;/li&gt;
&lt;li&gt;无法处理多义词&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;语言模型预训练&lt;/strong&gt;（如ELMo）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;使用双向LSTM&lt;/li&gt;
&lt;li&gt;表示能力受限于LSTM架构&lt;/li&gt;
&lt;li&gt;预训练和微调架构不一致&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这些方法虽然有效，但都存在明显局限：&lt;strong&gt;预训练的知识无法充分迁移到下游任务&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&#34;问题三无监督学习的挑战&#34;&gt;问题三：无监督学习的挑战&lt;/h3&gt;
&lt;p&gt;无监督学习的核心挑战是找到合适的目标函数。语言建模是一个自然的选择：&lt;/p&gt;
&lt;p&gt;$$
\mathcal{L}&lt;em&gt;{\text{LM}} = \sum&lt;/em&gt;{i} \log P(u_i | u_1, \ldots, u_{i-1}; \Theta)
$$&lt;/p&gt;
&lt;p&gt;但如何设计一个既能充分利用预训练知识、又能适应多种下游任务的框架？&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;gpt的核心设计&#34;&gt;GPT的核心设计&lt;/h2&gt;
&lt;h3 id=&#34;transformer解码器架构&#34;&gt;Transformer解码器架构&lt;/h3&gt;
&lt;p&gt;GPT采用Transformer的解码器部分作为基础架构，使用&lt;strong&gt;单向自注意力&lt;/strong&gt;（因果注意力）：&lt;/p&gt;
&lt;p&gt;$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^\top}{\sqrt{d_k}} + M\right)V
$$&lt;/p&gt;
&lt;p&gt;其中 $M$ 是掩码矩阵，确保位置 $i$ 只能关注位置 $j \leq i$：&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻05】Transformer代码解析：逐行理解架构实现</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-10-08-chatgpt-05-annotated-transformer/</link>
      <pubDate>Wed, 08 Oct 2025 21:21:38 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-10-08-chatgpt-05-annotated-transformer/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Alexander Rush等人创建的《The Annotated Transformer》，这是一篇教育性的技术博客文章，通过逐行代码注释的方式，详细解析了Transformer架构的PyTorch实现。虽然这不是一篇传统意义上的研究论文，但它为理解Transformer提供了最直观、最实用的方式，是学习Transformer实现的最佳资源之一。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;代码是最好的文档。&amp;quot;——这是带注释Transformer的核心思想。Transformer论文虽然提出了架构，但实现细节往往隐藏在代码中。带注释Transformer通过详细的代码注释和解释，使读者能够深入理解Transformer的每一个组件、每一行代码的作用，是连接理论和实践的重要桥梁。&lt;/p&gt;
&lt;p&gt;带注释Transformer的核心价值是&lt;strong&gt;教育性和实用性&lt;/strong&gt;：它不仅解释了Transformer的数学原理，还展示了如何用代码实现这些原理。通过逐行注释，读者可以：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;理解实现细节&lt;/strong&gt;：了解每个组件的具体实现&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;学习最佳实践&lt;/strong&gt;：学习PyTorch的实现技巧&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;快速上手&lt;/strong&gt;：可以直接使用代码进行实验&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在当今大模型时代，理解Transformer的实现细节至关重要：GPT、BERT、T5等模型都基于Transformer架构。理解带注释Transformer，就是理解现代AI模型的实现基础。&lt;/p&gt;
&lt;p&gt;本文将从架构概览、核心组件、实现细节、最佳实践四个维度深度解读带注释Transformer，包含完整的代码分析和实现技巧，并在文末提供阅读研究论文的时间线计划。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;transformer实现的学习挑战&#34;&gt;Transformer实现的学习挑战&lt;/h2&gt;
&lt;h3 id=&#34;问题一理论与实现的差距&#34;&gt;问题一：理论与实现的差距&lt;/h3&gt;
&lt;p&gt;Transformer论文提供了架构设计，但实现细节往往不明确：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;理论与实现的差距&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;论文描述的是架构，代码需要处理细节&lt;/li&gt;
&lt;li&gt;论文使用数学符号，代码使用具体数据结构&lt;/li&gt;
&lt;li&gt;论文关注算法，代码需要处理工程问题&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;学习挑战&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如何将数学公式转化为代码？&lt;/li&gt;
&lt;li&gt;如何处理边界情况和数值稳定性？&lt;/li&gt;
&lt;li&gt;如何优化实现效率？&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;问题二代码理解的困难&#34;&gt;问题二：代码理解的困难&lt;/h3&gt;
&lt;p&gt;Transformer的实现代码往往复杂，难以理解：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;代码理解的困难&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;代码量大，难以快速理解&lt;/li&gt;
&lt;li&gt;缺少注释，难以理解设计意图&lt;/li&gt;
&lt;li&gt;实现技巧不明确，难以学习最佳实践&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;问题三教育资源的缺乏&#34;&gt;问题三：教育资源的缺乏&lt;/h3&gt;
&lt;p&gt;在Transformer刚提出时，详细的教育资源较少：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;教育资源的缺乏&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;缺少详细的实现教程&lt;/li&gt;
&lt;li&gt;缺少代码级别的解释&lt;/li&gt;
&lt;li&gt;缺少最佳实践的总结&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id=&#34;带注释transformer的核心组件&#34;&gt;带注释Transformer的核心组件&lt;/h2&gt;
&lt;h3 id=&#34;组件一多头自注意力&#34;&gt;组件一：多头自注意力&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;数学定义&lt;/strong&gt;：
$$
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, \ldots, \text{head}_h)W^O
$$&lt;/p&gt;
&lt;p&gt;其中 $\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)$。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;代码实现&lt;/strong&gt;：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;class&lt;/span&gt; &lt;span class=&#34;nc&#34;&gt;MultiHeadedAttention&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Module&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;d_model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dropout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;0.1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;nb&#34;&gt;super&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;fm&#34;&gt;__init__&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;assert&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;d_model&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;%&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;==&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d_k&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;d_model&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;//&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;h&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;linears&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ModuleList&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;([&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Linear&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d_model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;d_model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;_&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;range&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;4&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)])&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;attn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;None&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dropout&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;nn&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;Dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;p&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;k&#34;&gt;def&lt;/span&gt; &lt;span class=&#34;nf&#34;&gt;forward&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mask&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;None&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;nbatches&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;size&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;0&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 1) 线性投影并分割为h个头&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;value&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;n&#34;&gt;lin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;view&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nbatches&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;h&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d_k&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;transpose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;            &lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;lin&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;zip&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;linears&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 2) 应用注意力&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;attn&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;attention&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;query&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;key&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;value&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;mask&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;mask&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;dropout&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;dropout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;c1&#34;&gt;# 3) 拼接多头并应用最终线性层&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;transpose&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;contiguous&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;view&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;nbatches&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;h&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;*&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;d_k&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;bp&#34;&gt;self&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;linears&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;](&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;x&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;关键实现细节&lt;/strong&gt;：&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻04】Transformer：Attention Is All You Need</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-09-21-chatgpt-04-transformer/</link>
      <pubDate>Sun, 21 Sep 2025 21:40:41 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-09-21-chatgpt-04-transformer/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Ashish Vaswani、Noam Shazeer、Niki Parmar、Jakob Uszkoreit、Llion Jones、Aidan N. Gomez、Łukasz Kaiser和Illia Polosukhin于2017年发表的里程碑论文《Attention Is All You Need》，该论文提出了Transformer架构，完全基于注意力机制，摒弃了循环和卷积结构，在机器翻译任务上取得了最先进的性能，同时训练速度更快、可并行性更强。这一突破不仅彻底改变了序列建模的范式，更为后续GPT、BERT等大语言模型奠定了架构基础，开启了现代AI的新时代。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;注意力即一切。&amp;quot;——这是Transformer论文的核心宣言。在Transformer之前，序列建模主要依赖RNN和CNN。RNN虽然能够处理序列，但难以并行化；CNN虽然可以并行化，但难以捕捉长距离依赖。Transformer通过完全基于注意力机制的架构，同时解决了这两个问题，实现了并行化和长距离依赖的完美结合。&lt;/p&gt;
&lt;p&gt;Transformer的核心创新是&lt;strong&gt;自注意力机制&lt;/strong&gt;（Self-Attention）：每个位置都可以直接关注序列中的所有位置，无需通过循环或卷积逐步传播信息。这种设计使得Transformer能够：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;并行计算&lt;/strong&gt;：所有位置可以同时计算，训练速度大幅提升&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;长距离依赖&lt;/strong&gt;：直接建模任意距离的依赖关系&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可解释性&lt;/strong&gt;：注意力权重提供了模型决策的可解释性&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;在当今大语言模型时代，Transformer已经成为AI的基础架构：GPT、BERT、T5、PaLM等所有大模型都基于Transformer。理解Transformer，就是理解现代AI的基石。&lt;/p&gt;
&lt;p&gt;本文将从问题根源、核心机制、解决方案、实践评估四个维度深度解读Transformer，包含完整的数学推导、架构分析和实验评估，并在文末提供阅读研究论文的时间线计划。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;序列建模的传统局限&#34;&gt;序列建模的传统局限&lt;/h2&gt;
&lt;h3 id=&#34;问题一rnn的序列化计算瓶颈&#34;&gt;问题一：RNN的序列化计算瓶颈&lt;/h3&gt;
&lt;p&gt;传统RNN需要按顺序处理序列，无法并行化：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;序列化计算的局限&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;每个时间步依赖前一时间步的输出&lt;/li&gt;
&lt;li&gt;计算必须串行进行，无法并行&lt;/li&gt;
&lt;li&gt;训练时间长，难以处理大规模数据&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;数学表述&lt;/strong&gt;：对于序列 $x_1, x_2, \ldots, x_n$，RNN的计算为：
$$
h_t = f(h_{t-1}, x_t)
$$
其中 $h_t$ 的计算必须等待 $h_{t-1}$ 完成，无法并行。&lt;/p&gt;
&lt;h3 id=&#34;问题二cnn的感受野限制&#34;&gt;问题二：CNN的感受野限制&lt;/h3&gt;
&lt;p&gt;CNN虽然可以并行化，但感受野受限：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;感受野的局限&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;需要多层卷积才能扩大感受野&lt;/li&gt;
&lt;li&gt;感受野的增长是线性的，需要 $O(n)$ 层才能覆盖长度为 $n$ 的序列&lt;/li&gt;
&lt;li&gt;难以捕捉长距离依赖&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;数学分析&lt;/strong&gt;：对于 $k \times k$ 卷积核，经过 $L$ 层后，感受野为 $L(k-1) + 1$。要覆盖长度为 $n$ 的序列，需要 $L \geq \frac{n-1}{k-1}$ 层。&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻03】注意力机制：解决长距离依赖的关键突破</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-09-04-chatgpt-03-attention/</link>
      <pubDate>Thu, 04 Sep 2025 21:43:51 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-09-04-chatgpt-03-attention/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Dzmitry Bahdanau、Kyunghyun Cho和Yoshua Bengio于2014年发表的经典论文《Neural Machine Translation by Jointly Learning to Align and Translate》，该论文首次提出了注意力机制（Attention Mechanism）用于神经机器翻译，通过联合学习对齐和翻译，解决了传统Seq2Seq模型的信息瓶颈问题。这一创新不仅彻底改变了机器翻译领域，更为后续Transformer架构的注意力机制奠定了理论基础，成为现代AI中最重要的技术之一。&lt;/p&gt;
&lt;p&gt;&amp;ldquo;注意力是人类智能的核心。&amp;quot;——这是Bahdanau等人在2014年提出的深刻洞察。传统的Seq2Seq模型将整个源语言序列压缩为固定维度的上下文向量，导致信息丢失和翻译质量下降。注意力机制允许模型在生成每个目标词时，动态地关注源语言序列的不同部分，实现了对齐和翻译的联合学习。&lt;/p&gt;
&lt;p&gt;论文的核心创新是&lt;strong&gt;注意力机制&lt;/strong&gt;：在解码过程中，模型计算源语言序列中每个位置的注意力权重，根据这些权重对编码器输出进行加权求和，得到上下文向量。这种设计使得模型能够学习源语言和目标语言之间的对齐关系，同时提高翻译质量。&lt;/p&gt;
&lt;p&gt;在当今大语言模型时代，注意力机制已经成为AI的核心技术：Transformer的自注意力机制、GPT的因果注意力、BERT的双向注意力，都源于这一开创性工作。理解注意力机制，就是理解现代AI如何&amp;quot;关注&amp;quot;和&amp;quot;理解&amp;quot;信息。&lt;/p&gt;
&lt;p&gt;本文将从问题根源、核心机制、解决方案、实践评估四个维度深度解读神经机器翻译中的注意力机制，包含完整的数学推导、算法流程和复杂度分析，并在文末提供阅读研究论文的时间线计划。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;传统seq2seq模型的根本局限&#34;&gt;传统Seq2Seq模型的根本局限&lt;/h2&gt;
&lt;h3 id=&#34;问题一固定维度上下文向量的信息瓶颈&#34;&gt;问题一：固定维度上下文向量的信息瓶颈&lt;/h3&gt;
&lt;p&gt;传统Seq2Seq模型使用编码器-解码器架构：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;编码器&lt;/strong&gt;：将源语言序列 $x_1, x_2, \ldots, x_n$ 编码为固定维度的上下文向量 $c$：&lt;/p&gt;
&lt;p&gt;$$
c = f(x_1, x_2, \ldots, x_n)
$$&lt;/p&gt;
&lt;p&gt;其中 $f$ 通常是RNN的最后一个隐藏状态：$c = h_n$。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;解码器&lt;/strong&gt;：根据上下文向量 $c$ 生成目标语言序列 $y_1, y_2, \ldots, y_m$：&lt;/p&gt;
&lt;p&gt;$$
P(y_1, y_2, \ldots, y_m | x_1, x_2, \ldots, x_n) = \prod_{t=1}^{m} P(y_t | y_{&amp;lt;t}, c)
$$&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻02】Seq2Seq：Ilya开创的序列到序列学习框架</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-08-18-chatgpt-02-seq2seq/</link>
      <pubDate>Mon, 18 Aug 2025 21:00:20 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-08-18-chatgpt-02-seq2seq/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Ilya Sutskever、Oriol Vinyals和Quoc V. Le于2014年发表的里程碑论文《Sequence to Sequence Learning with Neural Networks》，该论文提出了Seq2Seq框架，首次使用纯端到端的神经网络实现了高质量的机器翻译。作为OpenAI联合创始人的代表作，Seq2Seq不仅确立了编码器-解码器架构的标准范式，更是通向Transformer和GPT系列的关键一步——它证明了神经网络可以直接学习序列到序列的映射，无需手工设计特征或规则。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;序列建模的根本挑战&#34;&gt;序列建模的根本挑战&lt;/h2&gt;
&lt;h3 id=&#34;问题一变长序列的处理难题&#34;&gt;问题一：变长序列的处理难题&lt;/h3&gt;
&lt;p&gt;传统神经网络（如前馈网络、CNN）要求输入和输出具有固定维度。然而，自然语言中的序列长度是可变的：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;输入长度可变&lt;/strong&gt;：句子可能有5个词，也可能有50个词&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输出长度可变&lt;/strong&gt;：翻译结果的长度与源句子不同&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;输入输出长度不对应&lt;/strong&gt;：源语言和目标语言的句子长度通常不同&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这种变长特性使得传统方法无法直接应用于机器翻译、对话生成等任务。&lt;/p&gt;
&lt;h3 id=&#34;问题二长距离依赖问题&#34;&gt;问题二：长距离依赖问题&lt;/h3&gt;
&lt;p&gt;语言中存在大量长距离依赖关系。例如：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The cat, which was sitting on the mat in the corner of the room, &lt;strong&gt;was&lt;/strong&gt; sleeping.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;主语&amp;quot;cat&amp;quot;和谓语&amp;quot;was&amp;quot;之间隔了多个从句，模型需要&amp;quot;记住&amp;quot;主语才能正确预测谓语的形式。&lt;/p&gt;
&lt;p&gt;传统RNN在处理长序列时面临&lt;strong&gt;梯度消失&lt;/strong&gt;问题：&lt;/p&gt;
&lt;p&gt;$$
\frac{\partial \mathcal{L}}{\partial W} = \sum_{t=1}^{T} \frac{\partial \mathcal{L}&lt;em&gt;t}{\partial W} = \sum&lt;/em&gt;{t=1}^{T} \frac{\partial \mathcal{L}&lt;em&gt;t}{\partial h_t} \prod&lt;/em&gt;{k=1}^{t} \frac{\partial h_k}{\partial h_{k-1}} \frac{\partial h_1}{\partial W}
$$&lt;/p&gt;</description>
    </item>
    <item>
      <title>【ChatGPT时刻01】Word2Vec：让机器理解词语的语义革命</title>
      <link>https://blog.zhangky.com/posts/2025/chatgpt/2025-08-01-chatgpt-01-word2vec/</link>
      <pubDate>Fri, 01 Aug 2025 21:59:17 +0800</pubDate>
      <guid>https://blog.zhangky.com/posts/2025/chatgpt/2025-08-01-chatgpt-01-word2vec/</guid>
      <description>&lt;!-- ============================================
     GOLDEN STRUCTURE: Problem → Analysis → Solution → Evaluation
     ChatGPT时刻系列：按时间线串联ChatGPT背后的核心技术演进
     ============================================ --&gt;
&lt;p&gt;本文解读的是Tomas Mikolov等人于2013年发表的开创性论文《Efficient Estimation of Word Representations in Vector Space》，该论文提出了Word2Vec模型，首次实现了高效、大规模的词向量学习，将词语表示从稀疏的one-hot编码转变为稠密的分布式向量表示。Word2Vec不仅是自然语言处理的里程碑，更是从传统NLP到现代大语言模型演进的&lt;strong&gt;起点&lt;/strong&gt;——它证明了语义可以通过向量空间中的几何关系来表达，为后续的Seq2Seq、Transformer乃至GPT系列奠定了基础。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;语言理解的根本挑战&#34;&gt;语言理解的根本挑战&lt;/h2&gt;
&lt;h3 id=&#34;问题一词语表示的离散性困境&#34;&gt;问题一：词语表示的离散性困境&lt;/h3&gt;
&lt;p&gt;在传统NLP中，词语通常用one-hot编码表示。对于一个包含 $V$ 个词的词表，每个词被表示为一个 $V$ 维向量，只有对应位置为1，其余为0。&lt;/p&gt;
&lt;p&gt;这种表示方法存在三个根本问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;维度灾难&lt;/strong&gt;：词表规模通常在万到百万级别，导致向量维度极高&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;稀疏性&lt;/strong&gt;：每个向量只有一个非零元素，绝大多数信息为0&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;语义缺失&lt;/strong&gt;：任意两个词的向量正交，无法表达语义相似性&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;例如，&amp;ldquo;king&amp;quot;和&amp;quot;queen&amp;quot;虽然语义相近，但在one-hot表示下：&lt;/p&gt;
&lt;p&gt;$$
\text{sim}(\text{king}, \text{queen}) = \text{king}^\top \cdot \text{queen} = 0
$$&lt;/p&gt;
&lt;p&gt;向量的内积为0，完全无法捕捉它们的语义关联。&lt;/p&gt;
&lt;h3 id=&#34;问题二分布式假设与向量空间&#34;&gt;问题二：分布式假设与向量空间&lt;/h3&gt;
&lt;p&gt;语言学中的&lt;strong&gt;分布式假设&lt;/strong&gt;（Distributional Hypothesis）指出：&amp;ldquo;一个词的含义由其上下文决定&amp;rdquo;（You shall know a word by the company it keeps）。这一假设为词向量学习提供了理论基础。&lt;/p&gt;
&lt;p&gt;如果我们能够将词映射到一个连续的向量空间，使得语义相似的词在空间中距离相近，那么：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;词之间的语义关系可以通过向量运算表达&lt;/li&gt;
&lt;li&gt;模型可以泛化到未见过的词组合&lt;/li&gt;
&lt;li&gt;下游任务可以利用预学习的语义知识&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;问题是：如何高效地学习这样的词向量？&lt;/p&gt;
&lt;h3 id=&#34;问题三计算效率的瓶颈&#34;&gt;问题三：计算效率的瓶颈&lt;/h3&gt;
&lt;p&gt;在Word2Vec之前，已有一些词向量学习方法（如神经网络语言模型NNLM），但它们面临严重的计算瓶颈：&lt;/p&gt;
&lt;p&gt;$$
\text{时间复杂度} = O(V \times H + H \times H) \times E \times T
$$&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
