【AI大模型】探索GPT模型的奥秘:引领自然语言处理的新纪元

【AI大模型】探索GPT模型的奥秘:引领自然语言处理的新纪元
d8a1c3f6ba174a118fb99fec57ba9d30.jpeg

目录

🍔 GPT介绍

🍔 GPT的架构

🍔 GPT训练过程

3.1 无监督的预训练语言模型

3.2 有监督的下游任务fine-tunning

🍔 小结

93ed7c15d0f847b8b761e3a66768683f.gif

 

学习目标了解什么是GPT.掌握GPT的架构.掌握GPT的预训练任务.

🍔 GPT介绍

  • GPT是OpenAI公司提出的一种语言预训练模型.
  • OpenAI在论文<< Improving Language Understanding by Generative Pre-Training >>中提出GPT模型.
  • OpenAI后续又在论文<< Language Models are Unsupervised Multitask Learners >>中提出GPT2模型.
  • GPT和GPT2模型结构差别不大, 但是GPT2采用了更大的数据集进行训练.
  • OpenAI GPT模型是在Google BERT模型之前提出的, 与BERT最大的区别在于GPT采用了传统的语言模型方法进行预训练, 即使用单词的上文来预测单词, 而BERT是采用了双向上下文的信息共同来预测单词.
  • 正是因为训练方法上的区别, 使得GPT更擅长处理自然语言生成任务(NLG), 而BERT更擅长处理自然语言理解任务(NLU).

🍔 GPT的架构

  • 看三个语言模型的对比架构图, 中间的就是GPT:


8151a9da4e7e44d9bb1b3a3b54dbbdb0.png

 

从上图可以很清楚的看到GPT采用的是单向Transformer模型, 例如给定一个句子[u1, u2, ..., un], GPT在预测单词ui的时候只会利用[u1, u2, ..., u(i-1)]的信息, 而BERT会同时利用上下文的信息[u1, u2, ..., u(i-1), u(i+1), ..., un].作为两大模型的直接对比, BERT采用了Transformer的Encoder模块, 而GPT采用了Transformer的Decoder模块. 并且GPT的Decoder Block和经典Transformer Decoder Block还有所不同, 如下图所示:
e6de7ee9a94d4118822cd1ba957ff378.png

 

如上图所示, 经典的Transformer Decoder Block包含3个子层, 分别是Masked Multi-Head Attention层, encoder-decoder attention层, 以及Feed Forward层. 但是在GPT中取消了第二个encoder-decoder attention子层, 只保留Masked Multi-Head Attention层, 和Feed Forward层.作为单向Transformer Decoder模型, GPT利用句子序列信息预测下一个单词的时候, 要使用Masked Multi-Head Attention对单词的下文进行遮掩, 来防止未来信息的提前泄露. 例如给定一个句子包含4个单词[A, B, C, D], GPT需要用[A]预测B, 用[A, B]预测C, 用[A, B, C]预测D. 很显然的就是当要预测B时, 需要将[B, C, D]遮掩起来.


3d51ef0fb229496bb40ad16fbc353ef5.png

 

具体的遮掩操作是在slef-attention进行softmax之前进行的, 一般的实现是将MASK的位置用一个无穷小的数值-inf来替换, 替换后执行softmax计算得到新的结果矩阵. 这样-inf的位置就变成了0. 如上图所示, 最后的矩阵可以很方便的做到当利用A预测B的时候, 只能看到A的信息; 当利用[A, B]预测C的时候, 只能看到A, B的信息.注意: 对比于经典的Transformer架构, 解码器模块采用了6个Decoder Block; GPT的架构中采用了12个Decoder Block.

 

2375ea08000d42758eb9b70920722764.png

🍔 GPT训练过程

GPT的训练也是典型的两阶段过程:

  • 第一阶段: 无监督的预训练语言模型.
  • 第二阶段: 有监督的下游任务fine-tunning.

3.1 无监督的预训练语言模型

给定句子U = [u1, u2, ..., un], GPT训练语言模型时的目标是最大化下面的似然函数:

d873c04a2a294baea5fe56d9f4bcd832.png

有上述公式可知, GPT是一个单向语言模型, 假设输入张量用h0表示, 则计算公式如下:

2c768e9cbfc348778b5a68f33632473c.png

其中Wp是单词的位置编码, We是单词本身的word embedding. Wp的形状是[max_seq_len, embedding_dim], We的形状是[vocab_size, embedding_dim].

得到输入张量h0后, 要将h0传入GPT的Decoder Block中, 依次得到ht:

0b1e3e7a999448c9babe08db31e80313.png

最后通过得到的ht来预测下一个单词:

60c4bd238e1b42ed97ba597575690ff2.png

3.2 有监督的下游任务fine-tunning

GPT经过预训练后, 会针对具体的下游任务对模型进行微调. 微调采用的是有监督学习, 训练样本包括单词序列[x1, x2, ..., xn]和label y. GPT微调的目标任务是根据单词序列[x1, x2, ..., xn]预测标签y.

d0383974b2494769abb4f6b57c32bda2.png

其中Wy��表示预测输出的矩阵参数, 微调任务的目标是最大化下面的函数:

2099ac6959c04b68ac6d6a2c5bc9f0da.png

综合两个阶段的目标任务函数, 可知GPT的最终优化函数为:

a4c73c86ddcb48ff9cad0c0f2ea6353f.png

🍔 小结

  • 学习了什么是GPT.
    • GPT是OpenAI公司提出的一种预训练语言模型.
    • 本质上来说, GPT是一个单向语言模型.
  • 学习了GPT的架构.
    • GPT采用了Transformer架构中的解码器模块.
    • GPT在使用解码器模块时做了一定的改造, 将传统的3层Decoder Block变成了2层Block, 删除了encoder-decoder attention子层, 只保留Masked Multi-Head Attention子层和Feed Forward子层.
    • GPT的解码器总共是由12个改造后的Decoder Block组成的.
  • 学习了GPT的预训练任务.
    • 第一阶段: 无监督的预训练语言模型. 只利用单词前面的信息来预测当前单词.
    • 第二阶段: 有监督的下游任务fine-tunning.
1db050c85ff5461ca02276ddc4db148c.gif
e247add1f1514310a62eaa99576082d3.jpeg

 

Read more

神的泪水-构建与解析:基于多AI模型并行的内容生成与对比分析工作流

神的泪水-构建与解析:基于多AI模型并行的内容生成与对比分析工作流

摘要 在人工智能迅猛发展的今天,大型语言模型(LLM)已成为内容创作、数据分析和自动化任务的核心驱动力。然而,不同模型在架构、训练数据和优化目标上的差异,导致其在处理相同任务时会产生风格、侧重点和准确性各不相同的输出。因此,如何高效、直观地对不同模型的输出进行横向对比,以选择最适合特定场景的模型,成为了一个亟待解决的课题。本文将详细拆解一个专为AI内容对比输出而设计的工作流,通过具体实例分析其构建逻辑、运行机制和应用价值,并进一步探讨其在模型评估、提示词工程优化及未来多智能体协作系统中的广阔前景。 1. 引言:从单一模型到多模型并行处理的范式转变 过去,我们与AI的交互多是“单线程”的:向一个特定的AI模型提出问题,然后接收并评估其返回的唯一答案。这种模式虽然直接,但存在明显的局限性。用户无法即时获知其他模型可能提供的不同见解或更优答案,评估过程也因此变得线性而低效。为了打破这一瓶颈,一种新的范式——多模型并行处理——应运而生。 多模型并行处理的核心思想是,将同一个输入或指令同时分发给多个不同的AI模型,并收集它们各自的输出。这种方法不仅能够实现对模型能力和特性的“同场竞技”

HarmonyOS 6实战:视频封面智能生成与AI集成

HarmonyOS 6实战:视频封面智能生成与AI集成

在移动应用开发中,视频内容处理是一个常见但充满挑战的领域。许多开发者在实现视频封面自动生成功能时,常常面临以下困境: * 处理速度慢:长视频帧提取耗时长,用户体验差 * 封面质量参差不齐:传统算法难以识别最具代表性的关键帧 * 资源消耗过大:内存占用高,在低端设备上表现不佳 * 算法复杂度高:需要兼顾多维度评价指标 * 适配性差:不同分辨率、编码格式的视频处理方式各异 * 个性化需求难满足:无法根据视频内容特性智能推荐最佳封面 本文将深入分析这些常见问题,并提供基于HarmonyOS的完整解决方案。 一、常见问题深度分析 1.1 性能与效率的平衡难题 问题表现: * 处理2分钟以上视频时,提取时间超过5秒 * 内存占用峰值超过200MB,容易触发OOM * 在低端设备上帧率不稳定,界面卡顿明显 * 电池消耗快,发热严重 根本原因: * 传统全量帧提取策略缺乏智能化 * 解码器配置不当,硬件加速未充分利用 * 内存管理策略不合理,频繁GC导致卡顿 * 并行处理能力不足,CPU资源利用率低 1.2 关键帧识别准确率低 问题表现: * 选

PyTorch生成式人工智能(18)——循环神经网络详解与实现

PyTorch生成式人工智能(18)——循环神经网络详解与实现

PyTorch生成式人工智能(18)——循环神经网络详解与实现 * 0. 前言 * 1. 文本生成的挑战 * 2. 循环神经网络 * 2.1 文本数据 * 2.2 循环神经网络原理 * 3. 长短期记忆网络 * 3. 自然语言处理基础 * 3.1 分词 * 3.2 词嵌入 * 3.3 词嵌入在自然语言处理中的应用 * 小结 * 系列链接 0. 前言 我们已经学习了如何生成数字和图像等内容。从本节开始,我们将主要聚焦于文本生成。人类语言极其复杂且充满细微差别,不仅仅涉及语法和词汇的理解,还包括上下文、语气和文化背景等。成功生成连贯且语境适当的文本是一项重大挑战,需要深入理解和处理语言。 1. 文本生成的挑战 人类主要通过语言进行交流,能够生成语言文本的人工智能可以更自然地与用户互动,使技术变得更加易于使用。文本生成有广泛的应用,包括自动化客户服务回复、创作文章和电影剧本创作、帮助创意写作,

一文读懂OpenRouter:全球AI模型的“超级接口”,很多免费模型

一文读懂OpenRouter:全球AI模型的“超级接口”,很多免费模型

在人工智能技术百花齐放的今天,开发者面临着一个“幸福的烦恼”:市面上有GPT-4、Claude、Gemini、Kimi、GLM等众多顶尖大模型,但每个平台都需要单独注册、管理API密钥、对接不同接口文档,极大地增加了开发成本与技术门槛。 OpenRouter的出现,正是为了解决这一痛点。它不仅是一个AI模型聚合平台,更被业界视为全球AI模型竞争的“风向标”。 1. 什么是OpenRouter? OpenRouter是一个开源的AI模型聚合平台,它像一个“超级接口”或“路由器”,将全球超过300个主流AI模型(来自400多个提供商)整合在一起,为开发者提供统一的API接口。 其核心价值在于: * 统一API接口:开发者只需使用一套API密钥,即可调用包括OpenAI、Anthropic、Google、以及中国头部厂商(如MiniMax、月之暗面、智谱AI)在内的所有模型,无需为每个模型单独适配接口。 * 智能路由与成本优化:平台支持智能路由,可自动匹配性价比最高的模型,或根据开发者需求手动切换。其采用纯按量付费模式,无月费或最低消费,价格通常与官方持平甚至更低。 * 零