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

大语言模型之Qwen2技术报告阅读笔记

QWEN2 TECHNICAL REPORT——2024

核心内容

介绍了Qwen2 大模型系列:基于transformer架构的LLMs

通过以下四个部分来展开介绍:

  • Tokenizer & Model

    • 四个dense models,参数计数为 0.5 亿、15 亿、70 亿和 720 亿
    • 一个Mixture-of-Experts (MoE) 模型,具有 570 亿个参数
  • Pre-training

  • Post-training

  • Evaluation

模型架构

Tokenzier

跟之前的Qwen模型一样,Qwen2作者依然使用了字节级别字节对编码分词器

  • 为什么要使用字节对编码(BPE)分词器???

BPE编码效率高,相比于其他的分词技术具有更好的压缩率,能够促进 Qwen2 的多语言能力

字节级别字节对编码分词器也叫BBPE,Byte-level BPE(BBPE)和Byte-Pair Encoding (BPE)区别就是BPE是最小词汇是字符级别,而BBPE是字节级别的,通过UTF-8的编码方式这一个字节的256的范围,理论上可以表示这个世界上的所有字符


BPE 的基本思想是通过反复合并频率最高的字符或子词对,逐步构建出较长的单元,从而实现对文本的压缩和高效分词。

工作原理

  1. 初始化:将文本中的每个单词视为字符的序列。
  2. 统计频率:统计文本中每对相邻字符出现的频率。
  3. 合并频率最高的对:找到频率最高的字符对,并将其合并为一个新的子词。
  4. 重复:将合并后的子词重新加入文本,更新频率统计,并继续合并频率最高的字符对。
  5. 终止条件:重复上述过程,直到达到预定的合并次数或不再有字符对可以合并为止

优点

  • 处理未知词汇:BPE 能有效处理未知词汇,因为它将词分解为更小的子词,增加了模型处理新词的能力。
  • 减少词汇量:通过合并高频字符对,BPE 可以显著减少词汇表的大小,提高模型训练和推理的效率。
  • 灵活性:适用于多种语言和多种文本类型,特别是对粘着语和复合词丰富的语言表现出色。

除了BPE,Transformer中还有两种常用的分词方法:WordPiece 和 Unigram

WordPiece: 是一种子词的分词方法,bert用的就是这种分词方法。

它的核心思想是通过将单词拆分为更小的子词或字符块,从而减少词汇量,并处理未登记词(out-of-vocabulary, OOV)的问题。

与上述BPE只有在合并字词的时候方法不一样:WordPiece 使用了最大似然估计(Maximum Likelihood Estimation, MLE)来选择最优的子词合并。具体来说,WordPiece 通过计算每对相邻子词联合概率,并选择提升语言模型可能性的组合来进行合并。比如说 P(ed) 的概率比P(e) + P(d)单独出现的概率更大,可能比他们具有最大的互信息值,也就是说这个两子词在语言模型上具有较强的关联性,则将其合并

Unigram:

工作原理: Unigram分词算法是一种基于语言模型的分词方法。它从一个大的词汇表开始,该词汇表包含大量的子词候选,并通过迭代地移除概率最低的子词来优化词汇表

  1. 初始化:构建一个初始大词汇表,包含所有可能的子词(通常从单字母到整个单词的所有可能组合)
  2. 估计:计算每个子词的出现概率。这通常通过统计子词在训练数据中的频率来完成
  3. 优化:重复移除贡献最小的子词,即那些概率最低的子词,再重新估计剩余子词的概率
  4. 结束:当词汇表大小降至目标大小或满足其他终止条件时,停止优化

横向对比:

算法BPEWordPieceUnigram
训练方式从一个小词汇表开始,学习合并token的规则从一个小词汇表开始,学习合并token的规则从大量词汇开始(可以通过BPE获得),学习删除token的规则
是否使用语言模型
规则合并频次最高的token对,如有两个token对,(h,e)出现10次,(t, e)出现6次,则合并(h,e)计算token对的得分,合并得分最高的token对,得分为token对的频率除以两个token分别的频率(互信息) 如h 出现了100次,e出现了20次,he出现了5次,则得分为5/(100*20)=1/400在全部语料中计算删除该token时的损失,删除损失最少的token
学习结果合并规则及词表词表词表,每个token有对应的分数
使用将单词切分成单个字符,使用学到的合并规则从前往后对token进行合并从单词的起始位置开始,找到最长的且位于词表中的subword,重复该步骤。使用训练过程中学到的分数,找到最可能的切分结果。一般偏向将单词切分成尽可能少的token
优点简洁高效: BPE的算法相对简单,能够快速找到高频的子词组合,逐步合并字符或子词对,生成稳定的词汇表 ②处理未知

http://www.mrgr.cn/news/10473.html

相关文章:

  • 命令模式与宏命令:批量操作的高效实现
  • 编程中数据字典介绍
  • 【图文并茂】ant design pro 如何实战使用 ProFormTreeSelect
  • AUTOSAR AP硬核知识点梳理
  • 【案例55】WebSphere非root用户启动方案
  • 系统编程-lvgl
  • 笔记 6 : 彭老师课本第 5 章 ,举例分析 IIC 编程,以及开启和配置虚拟机
  • 正则表达式记录
  • 基于Pytorch框架的深度学习DeepLabv3+网络头发语义分割系统源码
  • uniapp微信小程序 分享功能
  • Paxos算法概述:从Basic Paxos到Fast Paxos及在Zookeeper中的应用
  • java修改常量值
  • R语言股价跳跃点识别:隐马尔可夫hmm和 GARCH-Jump对sp500金融时间序列分析
  • php中如何高效地实现一个函数以判断给定日期是否位于多个预定义的时间范围内,同时确保代码的可读性、可维护性和性能优化
  • iOS18升级出现白苹果、无法重启等问题,要怎么解决
  • 算法工程师第四十四天(99. 岛屿数量 深搜 99. 岛屿数量 广搜 100.岛屿的最大面积 )
  • GPT-4、Claude 3 Opus 和 Gemini 1.0 Ultra 挑战控制工程的新领域
  • 【传输层协议】UDP协议 {端口号的范围划分;UDP数据报格式;UDP协议的特点;UDP的缓冲区;基于UDP的应用层协议}
  • 处理排序失败: net.sf.jsqlparser.JSQLParserException,降级为直接拼接 order by 参数
  • vue组件双向绑定