经典大语言模型解读(2):生成式预训练的先锋GPT-1

2024-09-01 22:44

本文主要是介绍经典大语言模型解读(2):生成式预训练的先锋GPT-1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文地址:Improving Language Understanding by Generative Pre-Training

概述

现实世界中包含了大量的文本语料数据,然而,绝大多数语料都是无标签的。

为了充分利用这些无标签语料库,GPT1.0提出直接利用这些未标记的语料来进行生成式预训练,然后对每个特定任务进行判别式微调(在标注数据上),从而显著提升在这些任务上的性能。

文中涉及的主要NLP任务包括:

  • Textual Entailment:文本蕴含,即给定一个前提文本(premise),根据这个前提文本去推断假说文本(hypothesis)与前提文本之间的关系,关系包括蕴含和矛盾两种。蕴含关系指能从前提文本推断出假说文本,而矛盾关系则指前提文本与假锁文本相矛盾。

  • Question Answer:理解用户提出的问题并从文本或知识库中找到准确的答案。

  • Semantic Similarity Assessment:计算文本之间的相似度。

  • Document Classification:文本分类任务。

下面将对GPT-1的框架进行详细的介绍。

GPT框架

GPT-1遵循了Transformer架构,但模型仅基于Transformer的解码器构建

模型的训练流程分为两个阶段:预训练和微调。

无监督预训练

给定无监督token语料库 U = { u 1 , … , u n } \mathcal{U}=\left\{u_1, \ldots, u_n\right\} U={u1,,un},模型使用标准的语言建模目标来最大化如下似然函数:
L 1 ( U ) = ∑ i log ⁡ P ( u i ∣ u i − k , … , u i − 1 ; Θ ) L_1(\mathcal{U})=\sum_i \log P\left(u_i \mid u_{i-k}, \ldots, u_{i-1} ; \Theta\right) L1(U)=ilogP(uiuik,,ui1;Θ)

其中 k k k表示上下文窗口大小,条件概率 P P P通过具有参数 Θ \Theta Θ的神经网络来建模。

想了解最大似然估计的可以参考这篇文章:一文搞懂极大似然估计

在本文中,神经网络采用的是多层Transformer编码器,该模型对输入的上下文词馈送到神经网络中,然后通过线性层生成目标词的输出分布:
h 0 = U W e + W p h l = transformer_block ⁡ ( h l − 1 ) ∀ i ∈ [ 1 , n ] P ( u ) = softmax ⁡ ( h n W e T ) \begin{aligned} h_0 & =U W_e+W_p \\ h_l & =\operatorname{transformer\_ block}\left(h_{l-1}\right) \forall i \in[1, n] \\ P(u) & =\operatorname{softmax}\left(h_n W_e^T\right) \end{aligned} h0hlP(u)=UWe+Wp=transformer_block(hl1)i[1,n]=softmax(hnWeT)

其中 U = ( u − k , … , u − 1 ) U=\left(u_{-k}, \ldots, u_{-1}\right) U=(uk,,u1)表示词的上下文向量, n n n是层数, W e W_e We是词嵌入矩阵, W p W_p Wp是位置嵌入矩阵,两者都是可学习的。

有监督微调

在完成预训练后,GPT-1根据有监督的目标任务对预训练模型的参数进行调整。

假设存在带标签的数据集 C \mathcal{C} C,其中每个实例由一个输入词序列 ( x 1 , … , x m ) (x^1, \ldots, x^m) (x1,,xm)和相应的标签 y y y组成。将输入传入预训练模型来获取输入表示 h l m h_l^m hlm,然后将其输入一个额外的线性输出层预测 y y y W y W_y Wy表示该层的可学习参数:
P ( y ∣ x 1 , … , x m ) = softmax ⁡ ( h l m W y ) P\left(y \mid x^1, \ldots, x^m\right)=\operatorname{softmax}\left(h_l^m W_y\right) P(yx1,,xm)=softmax(hlmWy)

在学习的过程中需要最大化如下目标:
L 2 ( C ) = ∑ ( x , y ) log ⁡ P ( y ∣ x 1 , … , x m ) L_2(\mathcal{C})=\sum_{(x, y)} \log P\left(y \mid x^1, \ldots, x^m\right) L2(C)=(x,y)logP(yx1,,xm)

值得注意的是,作者发现将语言建模作为微调的辅助目标有助于学习,因为这可以改善有监督模型的泛化能力和加速收敛。于是,可以得到如下的优化目标:
L 3 ( C ) = L 2 ( C ) + λ ∗ L 1 ( C ) L_3(\mathcal{C})=L_2(\mathcal{C})+\lambda * L_1(\mathcal{C}) L3(C)=L2(C)+λL1(C)

其中 λ \lambda λ为权重。

可以看出,在微调的过程中,唯一需要学习的参数为 W y W_y Wy,这极大地降低了模型的训练成本,同时也能获取到足够好的效果。

特定任务的输入转换

由于NLP任务的广泛性,各类任务的输入差异显著。像文本分类之类的任务可以像上面描述的那样对模型进行微调,而对于像问答和文本蕴含之类的任务,则需要对输入进行修改,才能适配预训练模型进行有效微调。

下图中对GPT-1中的输入转换提供了一个可视化说明。所有转换都包括添加随机初始化的开始和结束标记 ( < s > , < e > ) (<s>,<e>) (<s>,<e>)

Input Transformation

Textual entailment

对于蕴含任务,用分隔符将前提和假设连接起来,中间用分隔符$($)$标记。

Similarity

对于相似性任务,由于两个句子没有固有的顺序,因此需要修改输入序列以包含两种可能的句子顺序(句子之间同样包含分隔符)。两个拼接的序列都独立输入到预训练模型中获取序列表示,之后进行相加后输入被馈送到线性输出层。

Question Answering and Commonsense Reasoning

对于知识问答和因果推理,输入中包含一个上下文文档 z z z、一个问题 q q q和一组可能的答案 { a k } \{a_k\} {ak}。GPT-1将将文档上下文和问题与每个可能的答案连接起来,并在其间添加分隔符,即$[z;q;$;a_k]$。每个凭借的序列同样都利用模型进行独立处理,然后通过Softmax层进行归一化,以产生可能答案的输出分布。

结语

以上便是本文的全部内容,若是觉得不错可以支持一下博主,你们的支持是博主更新的不竭动力。若是有任何问题也敬请批评指正。

这篇关于经典大语言模型解读(2):生成式预训练的先锋GPT-1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1128261

相关文章

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

4B参数秒杀GPT-3.5:MiniCPM 3.0惊艳登场!

​ 面壁智能 在 AI 的世界里,总有那么几个时刻让人惊叹不已。面壁智能推出的 MiniCPM 3.0,这个仅有4B参数的"小钢炮",正在以惊人的实力挑战着 GPT-3.5 这个曾经的AI巨人。 MiniCPM 3.0 MiniCPM 3.0 MiniCPM 3.0 目前的主要功能有: 长上下文功能:原生支持 32k 上下文长度,性能完美。我们引入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据