BaiChuan-QWen

QWen

Tokenizer

  • 选择byte pair encoding (BPE)作为分词方法
  • vacabulary在中文上做了增强,验证增加vocabulary的规模不会为下游任务带来负面影响

Model

在这里插入图片描述

  • Positional embedding:选择RoPE,反向更新时选择FP32的精度而不是FP16或BP16,以提高模型精度
  • Bias:在多数layer中去除了bias,但是在注意力的QKV的layer中,加入了bias,提高模型外推能力
  • RMSNorm: 取代了Pre-Norm
  • Activation function:选择了SwiGLU作为激活函数,把FFN的维度从4倍的hidden size降到了8/3倍

context length

context length受限于Transformer的架构,上下文长度增加会带来巨大的计算量和内存占用
扩展上下文长度主要有两个关键技术去解决:

  • NTK-aware interpolation
  • dynamic NTK-aware interpolation,每个chunk的scale不一样

两个注意力机制:

  • LogN-Scaling, q和v乘以一个系数,context length和training length的长度关系,来保持注意力的稳定
  • window attention,把注意力严格限制在窗口内,防止context length过长

观察到的结论:低层级的layer对context length的扩展更加敏感,相对于高层级

在这里插入图片描述

训练细节

Train阶段

  • context length设置为2048
  • flash attention 加速
  • bf16混合精度训练

SFT阶段
sft也会将next token predict作为训练任务
在system 和user input上算loss

RL阶段
four models: the policy model, valuemodel, reference model, and reward mod

  • we pause the policy model’s updates and focus solely on updating the value model for 50 steps. This approach ensures
    that the value model can adapt to different reward models effectively.

BaiChuan

tokenizer

tokenizer需要平衡两个因素:

  1. 为了高效推理,需要一个高的压缩率
  2. 大小合适的词表
  • 使用byte-pair encoding (BPE),但是没有对输入文本就行任何的归一化,也没有像百川1那样加入dummy prefix
  • split numbers into individual digits
  • 为了解决代码数据中的空格问题,加入了空格作为token
  • maximum token length被设置为32,去解释中文的长短语

model

在这里插入图片描述

  • 7B用的RoPE,13B用的ALiBi,但是最近的实验证明,位置编码方式的选取并不会显著影响模型的性能,分开用是为了后续的研究和百川1进行对比

  • 激活函数用的SwiGLU,从4倍 hidden size减小到8/3 倍。而且四舍五入到128的倍数

  • 注意力层的优化,用的xformer结合ALiBi的位置编码,来减小内存占用

  • RMSNorm,更高效的计算输入变量的方差

  • bf16训练,比fp16有更好的动态范围。但是bf16的低精度也导致了一些问题:

    • RoPE and ALibi 会出现int溢出(超过256),所以位置编码采用全精度
  • NormHead:为了训练稳定和改善模型性能,对output的embediing(称之为head)就行归一化。两个优点:

    • 1)保证训练的稳定性。发现了head的分布不稳定,在训练期间稀少的token的embedding会变得很小,会使得训练中断
    • 2)NormHead减轻了在计算logits时L2距离的干扰。语义信息主要通过嵌入的余弦相似度进行编码,而不是L2距离。由于当前的线性分类器通过点积计算logits,它是L2距离和余弦相似度的混合。
  • 加入max-z loss 去归一化logits。

    在训练过程中,我们发现语言模型(LLMs)的logits可能会变得非常大。然而,softmax函数对于绝对logit值是不敏感的,因为它只依赖于它们的相对值。问题出现在推理过程中,常见的实现直接将重复惩罚应用于logits上。这种收缩非常大的logits的过程可以显着改变softmax后的概率,使模型对重复惩罚超参数的选择变得敏感。

    在这里插入图片描述

  • Scaling low:百川2的缩放规律
    在这里插入图片描述
    我们训练了从1千万到30亿参数的各种模型,使用1万亿个标记进行训练。通过将功耗训练损失拟合到一个幂律项,我们预测了在使用2.6万亿个标记进行训练时,百川2-7B和百川2-13B的训练损失。这个拟合过程准确地预测了最终模型的训练损失(用两颗星标记)。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/173716.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Golang 自定义函数库(个人笔记)

1.用字符串连接切片元素(类似php implode) package mainimport ("fmt""strconv""strings" )func main() {data : []int{104, 101, 108, 108, 111}fmt.Println(IntSliceToString(data, ",")) }func IntSliceToS…

在pycharm中,远程操作服务器上的jupyter notebook

一、使用场景 现在我们有两台电脑,一台是拥有高算力的服务器,另一台是普通的轻薄笔记本电脑。如何在服务器上运行jupyter notebook,同时映射到笔记本电脑上的pycharm客户端中进行操作呢? 二、软件 pycharm专业版,jupy…

Spark新特性与核心概念

一、Sparkshuffle (1)Map和Reduce 在shuffle过程中,提供数据的称之为Map端(Shuffle Write),接受数据的称之为Redeuce端(Shuffle Read),在Spark的两个阶段中,总…

【斗罗二】王东升级三环,戴华斌挑衅,雨浩单手接鼎订下赌约

【侵权联系删除】【文/郑尔巴金】 深度爆料,《绝世唐门》第20集,一场瞩目的战斗即将爆发。王冬,这位一年级的强攻系班长,将与戴华斌进行一场激烈的较量。王冬拥有三大武魂,其中最为人们所熟知的是那光明女神蝶&#x…

liunx Centos-7.5上 rabbitmq安装

在安装rabbitmq中需要注意: 1、rabbitmq依赖于erlang,需要先安装erlang 2、erlang和rabbitmq版本有对应关系 可参考网页:https://www.rabbitmq.com/which-erlang.html 第一步,安装编译工具及库文件,如果服务器上已经有了&…

网络协议--TCP:传输控制协议

17.1 引言 本章将介绍TCP为应用层提供的服务,以及TCP首部中的各个字段。随后的几章我们在了解TCP的工作过程中将对这些字段作详细介绍。 对TCP的介绍将由本章开始,并一直包括随后的7章。第18章描述如何建立和终止一个TCP连接,第19和第20章将…

java项目之时间管理系统(ssm框架)

项目简介 时间管理系统实现了以下功能: 管理员:个人中心、用户管理、分类列表管理、在线学习管理、励志视频管理、活动项目管理、活动报名管理、目标制定管理、论坛管理、系统管理。用户:注册、个人中心、活动报名管理、目标制定管理、我的…

【OpenCV实现平滑图像金字塔,轮廓:入门】

文章目录 概要图像金字塔轮廓:入门 概要 文章内容的概要: 平滑图像金字塔: 图像金字塔是什么? 图像金字塔是指将原始图像按照不同的分辨率进行多次缩小(下采样)得到的一系列图像。这种处理方式常用于图像…

【git】git使用教程

1、版本管理工具 如果有一个软件能记录我们对文档的所有修改,所有版本,这类软件我们一般叫做版本控制工具。 特性“ 能够记录历史版本,回退历史版本团队开发,方便代码合并 2、版本管理工具介绍 svn、git svn是集中式版本控制…

Redis快速上手篇(六)主从复制

主从复制 主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主 读写分离,性能扩展(主 写 从 读) 容灾快速恢复 主从复制的作用 1、数据冗余:主从复…

Go 的连接池、重试和超时

这是一个来自 API 的间歇性 500 个内部服务器错误的故事,这些错误最终是由 Go 包中的硬编码常量引起的database/sql。我将主要为您省去冗长的故事,并直接讨论问题以及我们发现的原因。我们注意到来自特定 API 端点的 500 错误数量有所增加,并…

大模型在百度智能问答、搜索中的应用

本文主要介绍了智能问答技术在百度搜索中的应用。包括机器问答的发展历程、生成式问答、百度搜索智能问答应用。欢迎大家加入百度搜索团队,共同探索智能问答技术的发展方向,文末有简历投递方式。 01 什么是机器问答 机器问答,就是让计算机…

H5游戏源码分享-考眼力游戏猜猜金币在哪

H5游戏源码分享-考眼力游戏猜猜金币在哪 <!DOCTYPE html> <html> <head><meta http-equiv"Content-Type" content"text/html; charsetUTF-8"><meta charset"UTF-8"><meta name"apple-mobile-web-app-capa…

docker 部署tig监控服务

前言 tig对应的服务是influxdb grafana telegraf 此架构比传统的promethus架构更为简洁&#xff0c;虽然influxdb开源方案没有集群部署&#xff0c;但是对于中小型服务监控需求该方案简单高效 本文以docker-compose来演示这套监控体系的快速搭建和效果。 部署 docker-compos…

Wpf 使用 Prism 实战开发Day02

一.设计首页导航条 导航条的样式&#xff0c;主要是从Material DesignThemes UI 拷贝过来修改的,项目用了这个UI组件库&#xff0c;就看自己需要什么&#xff0c;就去拷过来使用&#xff0c;界面布局或其他组件使用&#xff0c;不做介绍。 直接下载源码&#xff0c;编译运行就可…

STM32F10xx 存储器和总线架构

一、系统架构 在小容量、中容量和大容量产品 中&#xff0c;主系统由以下部分构成&#xff1a; 四个驱动单元 &#xff1a; Cotex-M3内核、DCode总线&#xff08;D-bus&#xff09;和系统总线&#xff08;S-bus&#xff09; 通用DMA1和通用DMA2 四个被动单元 内部SRAM 内部…

独创改进 | RT-DETR 引入 Asymptotic Hybrid Encoder | 渐进混合特征解码结构

本专栏内容均为博主独家全网首发,未经授权,任何形式的复制、转载、洗稿或传播行为均属违法侵权行为,一经发现将采取法律手段维护合法权益。我们对所有未经授权传播行为保留追究责任的权利。请尊重原创,支持创作者的努力,共同维护网络知识产权。 文章目录 网络结构实验结果…

asp.net老年大学教务管理信息系统VS开发sqlserver数据库web结构c#编程

一、源码特点 asp.net 老年大学教务管理信息系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使 用c#语言开发 asp.net老年大学教务管理…

element ui el-table表格纵向横向滚动条去除并隐藏空白占位列

需求 当table内容列过多时&#xff0c;可通过height属性设置table高度以固定table高度、固定表头&#xff0c;使table内容可以滚动 现在需求是右侧滚动条不好看&#xff0c;需要去除滚动条&#xff0c;并隐藏滚动条所占列的位置 // ----------修改elementui表格的默认样式-…

vue使用smooth-signature实现移动端电子签字,包括横竖屏

vue使用smooth-signature实现移动端电子签字&#xff0c;包括横竖屏 1.使用smooth-signature npm install --save smooth-signature二.页面引入插件 import SmoothSignature from "smooth-signature";三.实现效果 四.完整代码 <template><div class&quo…