当前位置: 首页 > 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的算法相对简单,能够快速找到高频的子词组合,逐步合并字符或子词对,生成稳定的词汇表 ②处理未知

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 3D环绕音效增强软件 Boom3D for Mac v2.0.2 中文破解版下载
  • 编程语言中的特殊类的设计
  • hyperf注解,自定义注解
  • 【第54课】XSS跨站Cookie盗取表单劫持网络钓鱼溯源分析项目平台框架
  • AList嵌入动态验证码实现动态校验
  • LaViT:Less-Attention Vision Transformer的特性与优点
  • 猫头虎 分享:如何用STAR(情境、任务、行动、结果)方法来结构化回答问题?
  • 网络安全-安全渗透简介和安全渗透环境准备
  • [开端]网络运维常用命令
  • 衡石科技BI的API如何授权文档解析
  • 基于微信小程序靓丽内蒙古APP(源码+定制+辅导)
  • SSRF漏洞与redis未授权访问的共同利用
  • 【案例58】WebSphere输出日志输出慢导致线程被阻塞
  • Windows安装nexus 私服仓库(6)
  • 【性能优化】:探索系统瓶颈的根源(一)
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【comparator, comparable】小总结
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Android Studio:GIT提交项目到远程仓库
  • CSS实用技巧干货
  • Hexo+码云+git快速搭建免费的静态Blog
  • JavaScript创建对象的四种方式
  • Java新版本的开发已正式进入轨道,版本号18.3
  • Linux链接文件
  • oschina
  • tab.js分享及浏览器兼容性问题汇总
  • vue中实现单选
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 笨办法学C 练习34:动态数组
  • 从重复到重用
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • NLPIR智能语义技术让大数据挖掘更简单
  • ​520就是要宠粉,你的心头书我买单
  • # Redis 入门到精通(九)-- 主从复制(1)
  • #define 用法
  • #每天一道面试题# 什么是MySQL的回表查询
  • (ctrl.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (SpringBoot)第七章:SpringBoot日志文件
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (六)软件测试分工
  • (七)Knockout 创建自定义绑定
  • (三)c52学习之旅-点亮LED灯
  • (十) 初识 Docker file
  • (十七)Flink 容错机制
  • (五)网络优化与超参数选择--九五小庞
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • .equals()到底是什么意思?
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .net core使用ef 6
  • .NET Framework 4.6.2改进了WPF和安全性
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • .net快速开发框架源码分享