皓月光兮非自明 发表于 2024-10-27 22:34

《大语言模型——原理与工程实践》第二章 大语言模型基础技术

<p>&nbsp;</p>

<p><span style="font-size:24px;"><b>第二章 大语言模型基础技术</b></span></p>

<p><span style="font-size:18px;"><strong>一、语言表示介绍</strong></span></p>

<p><strong>&nbsp; &nbsp; (一)词表示技术</strong></p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; 文本一般由词序列组成,词通常是自然语言处理的最小单元。</p>

<p>&nbsp;</p>

<p ><b>&nbsp; &nbsp; &nbsp; &nbsp; 词表示方式:</b></p>

<ol>
        <li ><b>词的独热表示(One-hot)</b></li>
</ol>

<p align="justify" >&nbsp; &nbsp; &nbsp; &nbsp; 词表V含有所有词,独热是每个长度为|V|的词向量。在该向量中,词表里的第i个词在第i维上被设置为1,其余维均为0。</p>

<ol start="2">
        <li ><b>词的分布式表示</b></li>
</ol>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 利用大规模的未标注数据,根据每个词的上下文分布对其进行表示。</p>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 常规是先构造各类共现矩阵,例如词-文档矩阵和词-上下文矩阵;然后对共现矩阵进行降维操作从而得到词的表示,例如潜在语义索引(Latent Semantic Indexing,LSI)和隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)。</p>

<ol start="3">
        <li ><b>基于预训练的词嵌入表示</b></li>
</ol>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 词嵌入表示同样将每个词映射为一个低维稠密的实值向量。</p>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 基于预训练的词嵌入表示是先在语料库中利用某种语言模型进行预训练,然后将其应用到下游任务,词向量是可以随着任务更新、调整的。</p>

<p >&nbsp;</p>

<p style="list-style-type:none"><strong>&nbsp; &nbsp; (二)分词技术</strong></p>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 词表示技术的总体思路是用数值表示每个词单元。将文本划分为一系列更小、更具代表性的单元,这些单元被称为Token。将文本划为Token的过程称为分词,执行此操作的工具或算法称为Tokenizer。</p>

<p >&nbsp;</p>

<p ><b>&nbsp; &nbsp; &nbsp; &nbsp; 从分割粒度的角度出发的Tokenizer算法和模型:</b></p>

<ol>
        <li ><b>word粒度分词技术</b></li>
</ol>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 词粒度分词技术,如Word2vec、GloVe。</p>

<p ><b>&nbsp; &nbsp; &nbsp; &nbsp; 优点:</b>word粒度能够完整地保留语言的语义信息,尤其是包含特定文化、历史 或地区背景的词。</p>

<p ><b>&nbsp; &nbsp; &nbsp; &nbsp; 缺点:</b>无法处理不在词表的词(Out Of Vocabulary,OOV)或者新增的词。因 为word粒度无法无限制地扩大词表。</p>

<ol start="2">
        <li ><b>character粒度分词技术</b></li>
</ol>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 字符粒度分词技术</p>

<p ><b>&nbsp; &nbsp; &nbsp; &nbsp; 优点:</b></p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1、词表简洁</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2、避免出现OOV</p>

<p ><b>&nbsp; &nbsp; &nbsp; &nbsp; 缺点:</b></p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1、损失语义的丰富性</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 2、增加输入序列的长度</p>

<ol start="3">
        <li ><b>subword粒度分词技术</b></li>
</ol>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 子词粒度分词技术,是word粒度和character粒度之间的折中策略。</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; 1、可有效处理OOV</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; 2、允许学习词缀关系</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; 3、具有灵活性</p>

<p>&nbsp; &nbsp; &nbsp; &nbsp; 4、具有跨语言一致性</p>

<p >&nbsp;</p>

<p style="list-style-type:none"><span style="font-size:18px;">二、<b>经典结构Transformer</b></span></p>

<p align="justify" >&nbsp; &nbsp; Transformer是一种基于自主义力机制的编码器-解码器结构,其主要由编码器(Encoder)和解码器(Decoder)组成,每个部分都由多个堆叠在一起的相同层组成。自注意力机制使得Transformer有效避免了卷积神经网络中梯度消失和梯度爆炸的问题,且更加高效和易于并行化,因此Transformer能够处理更长的文本序列。同时,模型编码器可以使用更多的层,进而捕获输入序列中元素间更深的关系,并学习更加全面的感知上下文的向量表示。</p>

<p align="justify" >&nbsp;</p>

<p style="list-style-type:none"><span style="font-size:18px;">​​​​​​​三、<b>预训练语言模型</b></span></p>

<p >&nbsp; &nbsp; 基于Transformer结构预训练语音模型可以分为</p>

<p><b>&nbsp; &nbsp; 1、Encoder-Only预训练语言模型</b></p>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 专注于捕获输入文本中的双向关系,为下游任务提供丰富的文本表示。</p>

<p><b>&nbsp; &nbsp; 2、Decoder-Only预训练语言模型</b></p>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 更擅长生成任务。</p>

<p><b>&nbsp; &nbsp; 3、Encoder-Decoder预训练语言模型</b></p>

<p >&nbsp; &nbsp; &nbsp; &nbsp; 将各种自然语言处理任务统一为一个序列到序列的框架,提供更加通用和灵活的结构。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</p>

Jacktang 发表于 2024-10-28 07:29

<p>打语言模型的分词技术是个什么技术</p>

风尘流沙 发表于 2024-10-28 15:58

<p>谢谢分享,我找原书读一读。</p>
页: [1]
查看完整版本: 《大语言模型——原理与工程实践》第二章 大语言模型基础技术