BaiChuan-QWen

news2024/11/22 22:59:21

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.coloradmin.cn/o/1147950.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

木疙瘩学习-行为添加与控制

这里面都是一些代码逻辑,但是这个平台让用户0代码实现交互,但是难点是,用户需要有一定的业务逻辑转换程序逻辑思维能力! 注意,舞台上的任何素材都可以参与程序逻辑!前提是我们为素材手动指定名字&#xff…

【详细教程】关于如何使用GitGitHub的基本操作汇总GitHub的密钥配置 ->(个人学习记录笔记)

文章目录 1. Git使用篇1.1 下载安装Git1.2 使用Git 2. GitHub使用篇2.1 如何git与GitHub建立联系呢?2.2 配置公钥 1. Git使用篇 1.1 下载安装Git 点击 官网链接 后,进入Git官网,下载安装包 然后根据系统类型进行下载,一般为wind…

unity3d场景加载

需将场景拖到到file->buildsetting中

基于微信小程序的抢票系统vue+uniapp

1、开发实现微信小程序的抢票系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、票据类型管理、票据信息管理、抢票信息管理、系统管理等。 3、用户微信端:首页、票据信息、我的等相应操作; 4、基础数据管理&#…

k8s 集群部署

目录 1. 集群环境初始化 2. 所有节点安装kubeadm 3. 拉取集群所需镜像 4. 集群初始化 5. 安装flannel网络插件 6. 扩容节点 7. 设置kubectl命令补齐 官网: https://v1-23.docs.kubernetes.io/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ …

SAP业务从ECC升级到SAP S/4HANA有哪些变化?有哪些功能得到增强?

SAP在2015年推出了新一代商务套件SAP S/4 HANA。 SAP S/4 HANA (全称SAP Business suite 4 SAP HANA),这款新产品完全构建于目前先进的内存平台SAP HANA 之上,同时采用现代设计理念,通过SAP Fiori 提供精彩的用户体验 (UX)。提供比ECC更强大的功能。S/4h…

Docker容器技术实战2

4、docker仓库 docker hub 注册账号:https://hub.docker.com/ 上传自己的镜像仓库 创建自己的仓库webserver 拉取镜像 Registry工作原理 配置镜像加速器 搭建私有仓库 上传镜像 在server1上 在server2(纯净)上 强制使用非加密私有仓库 5、…

NEFU数字图像处理(三)图像分割

一、图像分割的基本概念 1.1专有名词 前景和背景 在图像分割中,我们通常需要将图像分为前景和背景两个部分。前景是指图像中我们感兴趣、要分割出来的部分,背景是指和前景不相关的部分。例如,对于一张人物照片,人物就是前景&…

百货中心供应链管理系统

毕业设计说明书 百货中心供应链管理系统 百货中心供应链管理系统 摘要 近年来,随着计算机技术的发展,以及信息化时代下企业对效率的需求,计算机技术与通信技术已经被越来越多地应用到各行各业中去。百货中心作为物流产业链中重要的一环&a…

Cesium弹窗可随地图移动

目录 项目地址实现效果实现方法 项目地址 https://github.com/zhengjie9510/webgis-demo 实现效果 实现方法 handler new Cesium.ScreenSpaceEventHandler(viewer.scene.canvas) handler.setInputAction((click) > {if (listener) {listener()listener undefinedthis.v…

黑客在Pwn2Own Toronto上以58个零日漏洞赚取超过100万美元

Pwn2Own Toronto 2023黑客大赛已经圆满结束,安全研究人员通过攻击消费类产品的58个零日漏洞(以及多个漏洞碰撞)赚取了1,038,500美元。此次比赛由趋势科技的零日倡议(Zero Day Initiative,简称ZDI)组织&…

电子电器架构 —— 车载网关初入门(二)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 PS:小细节,本文字数5000+,详细描述了网关在车载框架中的具体性能设置。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他…

WMS基础流程和设计

文章目录 一、WMS的含义和系统综述1.1 WMS含义1.2 系统综述 二、WMS系统关键概念2.1 概念解释2.1.1 区域2.1.2 波次管理2.1.3 作业2.1.4 提货方式2.1.5 批号要求2.1.6 容器2.1.7 暂存区2.1.8 复核台2.1.9 补货2.1.10 订单类别 2.2 仓储作业中的岗位 三、WMS基础资料的内容及初装…

剑指JUC原理-2.线程

创建和运行线程 直接使用Thread // 创建线程对象 Thread t new Thread() {public void run() {// 要执行的任务} }; // 启动线程 t.start();--------------------------------------------------// 构造方法的参数是给线程指定名字,推荐 Thread t1 new Thread(&…

力扣 三数之和 双指针 java

Problem: 15. 三数之和 时间复杂度: O ( n 2 ) O(n^2) O(n2) &#x1f351; AC code class Solution {public List<List<Integer>> threeSum(int[] nums) {List<List<Integer>> res new ArrayList<>();int len nums.length; if(len < 3…

【卷积神经网络】YOLO 算法原理

在计算机视觉领域中&#xff0c;目标检测&#xff08;Object Detection&#xff09;是一个具有挑战性且重要的新兴研究方向。目标检测不仅要预测图片中是否包含待检测的目标&#xff0c;还需要在图片中指出它们的位置。2015 年&#xff0c;Joseph Redmon, Santosh Divvala 等人…

No173.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

队列概念|循环队列的实现

前言 今天我们将学习循环队列实现&#xff0c;我们首先介绍队列的概念和结构&#xff0c;之后一步步讲解循环队列由来与实现。 一、队列的概念与结构 1、队列的概念 队列&#xff1a; 只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表。队列是…

3.72 Command Buffer及URP概述

一、Command Buffer 1.概念 CommandBuffer携带一系列的渲染命令&#xff0c;依赖相机&#xff0c;用来拓展渲染管线的渲染效果。而且可以指定在相机渲染的某个点执行本身的拓展渲染。Command buffers也可以结合屏幕后期效果使用。 简单来说就是可以在渲染流程中插入一些自定…

群智能算法之模拟退火算法

1.模拟退火算法简介&#xff1a; 2.模拟退火算法的关键点&#xff1a; &#xff08;1&#xff09;随机的更新可行解x,判断可行解x对应的函数值和原来函数值之间的大小&#xff1a;如果优于原来的函数值&#xff0c;则让新的可行解x为问题的解&#xff1b;否则以一定的概率(大于…