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

(一)大语言模型的关键技术<-AI大模型构建

本文讨论了大语言模型的关键技术,包括模型预训练、适配微调、提示学习、知识增强和工具学习等方面的多种方法及应用。关键要点包括:​    

1. 预训练策略:采用不同策略降低预训练成本,如设计高效任务目标、热启动、渐进式训练、知识继承、可预测扩展等,部分策略可加速训练、降低成本。​    

2. Transformer架构优化:一是统一序列建模,整合多种自然语言处理任务;二是优化模型架构,在处理训练复杂度等方面进行改进,出现新架构和算法。​    

3. 适配微调技术:指令微调让模型遵循人类指令,涉及指令理解、数据获取和对齐;参数高效微调通过微调少量参数实现全参微调效果,有添加式、指定式、重参数化等方法。​    

4. 提示学习形式:有少样本提示、零样本提示、上下文学习三种形式,思维链技术可激发模型多步推理能力。​

5. 知识增强途径:从模型输入、神经架构、模型参数、输出等层面,通过知识增广、支撑、约束、迁移等方法融入外部知识 。 


1. 大语言模型的关键技术  

语言大模型技术主要包括:模型预训练、适配微调、提示学习、知识增强和工具学习等。

1.1 预训练 

高效预训练策略。其主要思路是采用不同的策略以更低成本实现对语言大模型的预训练。

💾  1. 一种是在预训练中设计高效的优化任务目标,使得模型能够利用每个样本更多的监督信息,从而实现模型训练的加速。​    

2. 第二种是热启动策略,在训练开始时线性地提高学习率,以解决在预训练中单纯增加批处理大小可能会导致优化困难问题。​    

3. 第三种是渐进式训练策略,不同于传统的训练范式使用相同的超参数同时优化模型每一层,该方法认为不同的层可以共享相似的自注意力模式,首先训练浅层模型,然后复制构建深层模型。​    

4. 第四种是知识继承方法,即在模型训练中同时学习文本和已经预训练语言大模型中的知识,以加速模型训练。在中文语言大模型 CPM-2中,采用知识继承技术经测试可以使大模型在预训练前期提速 37.5%。​    

5. 第五种是可预测扩展策略(Predictable Scaling),旨在大模型训练初期,利用大模型和小模型的同源性关系,通过拟合系列较小模型的性能曲线预测大模型性能,指导大模型训练优化。OpenAI 在 GPT-4 训练中,使用 1000 倍至 10000 倍较少计算资源训练的小模型可靠地预测GPT-4 某些性能,大幅降低了模型训练成本​。      ​

BERT 之后的 Transformer 架构在提高自然语言处理效率方面有两个重要优化方向:​    

(1)统一的序列建模,​      

旨在将多种自然语言处理任务(如分类、信息抽取、翻译、对话等)整合到一个统一的框架,然后在同一模型中执行多个任务,以实现更高效的自然语言处理。

💾  1. 一是转化为序列生成的统一任务,如 T5和 BART等将多种自然语言任务统一转化文本到文本的生成任务;

2. 二是转化为语言大模型预训练任务,通过语言提示在输入文本中插入人类设计或者自动生成的上下文,实现对不同任务的处理。   ​

(2)计算高效的模型架构,​      

Transformer 模型架构本身在处理训练复杂度、编解码效率、训练稳定性、显存利用等方面进行优化。​    

比如,Transformer 其并行处理机制是以低效推理为代价的,解码时每个步骤的复杂度为 O(N),Transformerr 模型也是显存密集型模型,输入序列越长、占用的内存越多。​      

为此,微软设计了一种新的 Transformer 架构 RetNet其采用线性化注意力+尺度保持(Retention )机制在基本保持模型性能的基础上同时实现模型训练速度、推断速度和内存节约的大幅提升。​    

混合专家化的模型架构 

针对自注意力显存消耗大,斯坦福大学在 Transformer中引入FashAttention,给出了一种具有 IO 感知,且兼具快速、内存高效的注意力算法,已经被各种主流大模型采用以扩展对超长文本输入的支持。​     

最近,模块化大模型架构引起广泛关注,其利用大模型的神经激活稀疏性,对稠密模型进行模块化划分,不同任务只经过部分模块计算实现训练和推理加速,典型工作包括 Google 的 Switch Transformers 和 Pathways架构、清华大学的 MoEfication 架构 、FastMoE 架构等。

Switch Transformers 模型架构

1.2 语言大模型的适配微调

高效预训练策略。其主要思路是采用不同的策略以更低成本实现对语言大模型的预训练。

💾  1. 一种是在预训练中设计高效的优化任务目标,使得模型能够利用每个样本更多的监督信息,从而实现模型训练的加速。​    

2. 第二种是热启动策略,在训练开始时线性地提高学习率,以解决在预训练中单纯增加批处理大小可能会导致优化困难问题。​    

3. 第三种是渐进式训练策略,不同于传统的训练范式使用相同的超参数同时优化模型每一层,该方法认为不同的层可以共享相似的自注意力模式,首先训练浅层模型,然后复制构建深层模型。​    

4. 第四种是知识继承方法,即在模型训练中同时学习文本和已经预训练语言大模型中的知识,以加速模型训练。在中文语言大模型 CPM-2中,采用知识继承技术经测试可以使大模型在预训练前期提速 37.5%。​    

5. 第五种是可预测扩展策略(Predictable Scaling),旨在大模型训练初期,利用大模型和小模型的同源性关系,通过拟合系列较小模型的性能曲线预测大模型性能,指导大模型训练优化。OpenAI 在 GPT-4 训练中,使用 1000 倍至 10000 倍较少计算资源训练的小模型可靠地预测GPT-4 某些性能,大幅降低了模型训练成本​。      ​

BERT 之后的 Transformer 架构在提高自然语言处理效率方

首先介绍 Transformer 的整体结构,下图是 Transformer 用于中英文翻译的整体结构:​    

Transformer 的整体结构,左图Encoder和右图Decoder

可以看到 TransformerEncoder 和 Decoder 两个部分组成,Encoder 和Decoder 都包含 6 个 block

Transformer 的工作流程大体如下:​  

◦  第一步:获取输入句子的每一个单词的表示向量 X,X由单词的 Embedding(Embedding就是从原始数据提取出来的Feature) 和单词位置的 Embedding 相加得到。

Transformer 的输入表示

◦ 第二步:将得到的单词表示向量矩阵 (如上图所示,每一行是一个单词的表示 x) 传入 Encoder 中,经过 6 个 Encoder block 后可以得到句子所有单词的编码信息矩阵 C,​  

▪  如下图。单词向量矩阵用N_{n\times d}表示, n 是句子中单词个数,d 是表示向量的维度 ( d=512)。每一个 Encoder block 输出的矩阵维度与输入完全一致

Transformer Encoder 编码句子信息

第三步:将 Encoder 输出的编码信息矩阵 C传递到 Decoder 中,Decoder  依次会根据当前翻译过的单词 1~ i 翻译下一个单词 i+1,如下图所示。在使用的过程中,翻译到单词 i+1 的时候需要通过 Mask (掩盖) 操作遮盖住 i+1 之后的单词。

Transofrmer Decoder 预测

上图 Decoder接收了 Encoder 的编码矩阵 C,然后首先输入一个翻译开始符 "<Begin>",预测第一个单词 "I";然后输入翻译开始符 "<Begin>" 和单词 "I",预测单词 "have",以此类推。这是 Transformer 使用时候的大致流程,接下来是里面各个部分的细节。

2.Transformer 的输入    

Transformer 中单词的输入表示 x由单词 Embedding 和位置 Embedding(Positional Encoding)相加得到。

Transformer 的输入表示

2.1 单词Emdedding 

单词的 Embedding 有很多种方式可以获取,例如可以采用 Word2Vec、Glove 等算法预训练得到,也可以在 Transformer 中训练得到。

2.2 位置Emdedding 

Transformer 中除了单词的 Embedding,还需要使用位置 Embedding 表示单词出现在句子中的位置。因为 Transformer 不采用 RNN 的结构,而是使用全局信息,不能利用单词的顺序信息,而这部分信息对于 NLP 来说非常重要。所以 Transformer 中使用位置 Embedding 保存单词在序

http://www.lryc.cn/news/578879.html

相关文章:

  • 360安全卫士占用5037端口(ADB端口)解决方案
  • Wps开放平台v5升级v7上传实体文件踩坑(Java使用restTemplate)
  • 基于开源链动2+1模式AI智能名片S2B2C商城小程序的场景零售创新研究
  • Mac电脑 卸载工具 App Cleaner
  • Java 大视界 -- Java 大数据在智能医疗健康管理中的慢性病风险预测与个性化干预(330)
  • 带GPU启动 Docker 容器
  • FAISS 简介及其与 GPT 的对接(RAG)
  • [CS创世SD NAND征文] 精准控制的坚固基石:CS创世SD NAND在华大HC32F4A0运动控制卡中的高可靠应用
  • 7月2日星期三今日早报简报微语报早读
  • Java AQS(AbstractQueuedSynchronizer)详解
  • 【前端】基础 - HTML基础标签和样式设置
  • Baumer工业相机堡盟工业相机如何实现高精度的硬件同步触发
  • 公用LCU屏的功能、应用场景
  • 微信小程序使用wx.chooseImage上传图片时进行压缩,并添加时间水印
  • 微信小程序入门实例_____打造你的专属单词速记小程序
  • PH热榜 | 2025-07-02
  • zabbix批量生成监控项教程!
  • Benchmarking in Go
  • 利器:NPM和YARN及其他
  • SQL Server 再进阶:类型多样性分析与时间维度扩展(第三课)
  • 解锁医疗AI密码:医疗人工智能专业大学四年学习路径
  • android核心技术摘要
  • 数论基础知识和模板
  • 香港券商交易系统开发与解决方案全景报告:云原生、跨境协同与高性能架构的创新实践
  • 【unitrix】 4.13 类型级加一计算(add1.rs)
  • 【GHS】Green Hills软件MULTI-IDE的安装教程
  • 【AI落地应用实战】AIGC赋能职场PPT汇报:从效率工具到辅助优化
  • Javaee 多线程 --进程和线程之间的区别和联系
  • Hadoop集群启动 (ZooKeeper、HDFS、YARN、Hbase)
  • 【网络】Linux 内核优化实战 - net.core.netdev_budget_usecs