当前位置: 首页 > article >正文

大模型原理与技术(毛玉仁)

一、基础知识

①基于统计的语言模型:n-gram,基于前n-1个词预测第当前词,即统计词序个数计算概率(n阶马尔科夫)。如果预测句子的概率,需要将每个分词连乘。

  • 常用的n小于5,随着n增大,联合频率为0概率增大,且参数量也是n次方增大。
  • google 计算了离线的1-5gram表,可以直接调用。该算法应用在输入法的拼写补全、拼写纠错等方面。
  • google通过观测n-gram表频率的变化,可以来预测趋势,比如搜索流感的人多了,频率上去后可以得出流感爆发的预测结果。
  • 缺点:n长度受限、泛化能力不足。

②基于学习的语言模型:发展阶段为统计学习(svm)、表征学习(CNN)、大模型

  • rnn vs lstm,rnn因连乘导致梯度消失/爆炸,对较远历史信息无法处理。lstm通过门控表示,将连乘改成相机,缓解梯度消失和梯度爆炸。

  • transformer,注意力模块+全连接模块(参数占2/3),其中全连接模块更像是词典、词库。注意力模块向全连接模块query出对应的信息。注意力模块包括qkv、layernorm(加速收敛)、残差连接(防止梯度消失)。
  • rnn/transformer生成句子的过程是自回归过程。存在错误累积、串行计算慢的问题。引入teacher forcing(将标签替换前序预测结果)解决上述问题,但也引入新的问题,相当于在训练阶段模型一次性只预测一个token,降低模型泛化能力。
  • 语言模型的采样,指的是内容生成时选取token的方法。可以是按照概率贪心、组合概率贪心以及添加随机扰动等方式。比如top-p策略,将置信度高于一定阈值的token拿出来计算softmax,然后再按分布采样,其中softmax可以添加温度系数控制随机性,使得分布更加平均或者尖锐。
  • 语言模型的评估,基于统计的评估:BLEU指在翻译任务重统计连续N个词于真值一致的统计概率,N可以取多值然后平均。缺点是硬匹配,对于语义的泛化不佳。

  • 语言模型的评估,基于另一个语言模型的评估:一种是送入bert得到的embedding计算相似度,根据相似度卡阈值计算正确与否,再统计其准召,该方法称为bertscore。第二种送给大模型判断。

二、llm大语言模型架构

在llm中,提示词一般偏小,比如“请写一篇夸夸词....”,对encoder要求较低,重在decoder生成能力,所以以gpt/llama等decoder-only的模型兴起。

② mamba:因transformer随输入序列长度成平方复杂度增长,考虑对rnn进行改善。基于自动控制原理中状态空间方程(ssm)离散化后的形式,构建动态A、B、C(头上带拔)的矩阵。其复杂度与输入序列长度成正比,依据是N阶系统可以由N个一阶组成。

该结构与LSTM相似,A矩阵代表遗忘门,B矩阵代表输入门,C矩阵代表输出门。

三、prompt工程

四、参数微调

①instruct

②微调方法


http://www.kler.cn/a/565788.html

相关文章:

  • 头歌实验---C/C++程序设计:实验2:顺序结构程序设计
  • 【Git】版本控制系统Git命令详解
  • 团队协作中的分支合并:构建高效开发流程的关键
  • rust学习~tokio的io
  • 爱普生可编程晶振 SG-8101CE 在智能家居领域展现出的优势
  • CSS中文本属性使用详情
  • 智科技赋能宠物关怀新时代
  • IDEA提示将方法形参更改为(什么什么类型),要检查对应的实体类中的字段类型是否正确
  • 浏览器访问https站点的过程
  • 【azure openai】用tts实现语音对话【demo】
  • 前端项目中脚本文件打包,vscode中如何正确使用gtar命令
  • SslConnection::SslConnection()详解
  • 期权帮|沪深300股指期货合约技巧有哪些?
  • pwa的基本使用
  • Redis 源码分析-内部数据结构 robj
  • python生成的exe文件防止反编译(Nuitka)
  • 【Java面试】JVM汇总
  • 【MySQL】索引(中)
  • RBF神经网络+NSGAII多目标优化算法,工艺参数优化、工程设计优化(Matlab)
  • Java 连接 Redis 的两种方式