【大模型系列】预训练

数据

数据预处理

预处理流程:
原始语料库—>质量过滤(语种过滤、统计过滤、关键词过滤、分类器过滤)—>敏感内容过滤(有毒内容、隐私内容PII)—>数据去重(句子级别、文档级别、数据集级别)—>词元化(分词)(BPE分词、WordPiece分词、Unigram分词)—>准备预训练
数据处理框架:Data-Juicer
质量过滤:

  • 基于启发式规则的方法
  • 基于分类器的方法
    轻量级模型(如 FastText 等)、可微调的预训练语言模型(如 BERT、BART 或者 LLaMA 等)、闭源大语言模型 API(如GPT-4、Claude 3)
    可以首先利用启发式规则进行初步筛选,以快速排除不符合要求的文档,随后再采用分类器方法进一步精细过滤,确保最终筛选出的语料具有较好的文本质量。在这一过程中,还可以同时应用多种分类器,可以先使用轻量级分类器进行数据过滤,进而使用更为有效但是资源消耗更高的分类器在粗滤后的数据上再次进行选择。

数据调度

完成数据预处理之后,需要设计合适的调度策略来安排这些多来源的数据,进而用于训练大语言模型。通常来说,数据调度(Data Scheduling)主要关注两个方面:各个数据源的混合比例以及各数据源用于训练的顺序(称为 数据课程,Data Curriculum)。

  • 数据混合
    使用多个候选策略训练多个小型语言模型,然后从中选择一个最优的训练策略。
  • 数据课程
    数据课程是指按照特定的顺序安排预训练数据进行模型的训练。相关研究表明,为了学习某些特定的技能,按照技能依赖顺序编排对应数据集的学习方法(例如,基本技能 → 目标技能)比直接在相关的特定语料库上学习效果更好。

模型架构

Transformer 是由多层的多头自注意力(Multi-head Self-attention)模块堆叠而成的神经网络模型。原始的 Transformer 模型由编码器和解码器两个部分构成,而这两个部分实际上可以独立使用,例如基于编码器架构的 BERT 模型和解码器架构的 GPT 模型。
Transformer架构
大模型架构一览
解析Transformer的文章和书籍太多,这里只记录一些重点。

  • 多头自注意力机制
    RNN络迭代地利用前一个时刻的状态更新当前时刻的状态,在处理较长序列的时候,常常会出现梯度爆炸或者梯度消失的问题。CNN只有位于同一个卷积核的窗口中的词元可以直接进行交互,通过堆叠层数来实现远距离词元间信息的交换。而多头自注意力机制能够直接建模任意距离的词元之间的交互关系。
    输入序列首先通过不同的权重矩阵被映射为一
    组查询、键和值。每组查询、键和值的映射构成一个“头”,并独立地计算自注意力的输出。最后,不同头的输出被拼接在一起,并通过一个权重矩阵 W O ∈ R H × H W^O∈R^{H×H} WORH×H进行映射,产生最终的输出。
    M H A = C o n c a t ( h e a d 1 , . . . , h e a d N ) W O MHA = Concat(head_1,..., head_N)W^O MHA=Concat(head1,...,headN)WO
    h e a d n = A t t e n t i o n ( X W n Q , X W n K , X W n V ) head_n = Attention(XW^Q_n, XW^K_n, XW^V_n) headn=Attention(XWnQ,XWnK,XWnV)
    自注意力的计算过程对于基于硬件的并行优化(如 GPU、TPU 等)非常友好,因此能够支持大规模参数的高效优化。
  • 前馈网络层
    为了学习复杂的函数关系和特征,Transformer 模型引入了一个前馈网络层(Feed Forward Netwok, FFN),对于每个位置的隐藏状态进行非线性变换和特征提取。

未完待续…

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

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

相关文章

【vue】el-tree的新增/编辑/删除节点

1、概述 关于树形结构的新增同级节点&#xff0c;新增子级节点&#xff0c;修改节点名称&#xff0c;删除节点等四种操作&#xff0c;各种参数配置完全继承el-tree&#xff0c;本篇使用vue2 element-ui 2、效果图展示 3、调用方式 <template><Tree:data"tree…

椋鸟数据结构笔记#11:排序·下

文章目录 外排序&#xff08;外部排序&#xff09;文件拆分并排序归并文件两个文件归并多文件归并优化 萌新的学习笔记&#xff0c;写错了恳请斧正。 外排序&#xff08;外部排序&#xff09; 当数据量非常庞大以至于无法全部写入内存时&#xff0c;我们应该怎么排序这些数据呢…

Route Discovery Route Repair

1. Route Discovery 当单播消息从一台设备发送到另一台设备&#xff0c;并且没有预先存在的路由时&#xff0c;会发起路由发现。 我们假设没有现有的路由&#xff0c;因此网络软件将开始路由发现过程。为简单起见&#xff0c;假设所有设备的路由表都为空。 以设备A向设备C发送…

[lesson49]多态的概念和意义

多态的概念和意义 函数重写回顾 父类中被重写的函数依然会继承给子类 子类中重写的函数将覆盖父类中的函数 通过作用域分辨符(::)访问父类中的同名成员 多态的概念和意义 面向对象中期望的行为 根据实际的对象类型判断如何调用重写函数父类指针(引用)指向 父类对象则调用…

【LeetCode】---118.杨辉三角

一、题目解析&#xff1a; 二、知识回顾&#xff1a; 1.二维数组&#xff1a; 2. C语言中的二维数组访问方式和vector二维数组的访问&#xff0c; 不同区别&#xff1a; &#xff08;1&#xff09;表面是一样的&#xff0c;但底层不同&#xff01; &#xff08;2&#xff09;静…

JAVA 项目<果园之窗>_2

上节主要是理论流程&#xff0c;这次直接用实际例子过一遍整个流程 目标是向数据库添加一个员工 上述是前端页面&#xff0c;点击保存 浏览器向我后端发送http请求 后端这一部分专门接收employee请求 在这里对http post请求进行转换成JAVA数据&#xff0c;并处理数据&#xff…

在linux系统中启动pycharm

1.找到pycharm的安装路径&#xff0c;一般在下载文件夹中 2.进入pycharm的安装路径&#xff0c;进入bin目录 3.右击&#xff0c;打开终端&#xff0c;输入./pycharm.sh

奇妙的探索——偶然发现的bug

今天想在腾讯招聘官网找几个前端的岗位投一下&#xff0c;最近自己也在找工作&#xff0c;结果简历还没有投出去&#xff0c;就发现了腾旭招聘官网的3个前端bug。 1.有时候鼠标hover还没有滑倒下拉选框的菜单上&#xff0c;就消失了&#xff0c;消失的太快了&#xff0c;根本点…

为智算产业高质量发展探寻路径,又一重要生态合作启动

4月22日&#xff0c;由中国工业经济联合会主办的“2024中国工业经济高峰论坛智能算力产业高质量发展论坛”落幕。院士专家、研究机构、以及来自智能算力产业上下游企业代表近180人出席&#xff0c;围绕完善算力基础设施、深化算力赋能行业应用、推动区域数字化发展等热点议题展…

Linux加强篇-Vim编辑器

目录 ⛳️推荐 Vim文本编辑器 编写简单文档 配置主机名称 配置网卡信息 配置软件仓库 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站 Vim文本编辑器 在Linux系统中一切都…

重磅发布 | 《网络安全专用产品指南》(第一版)

2017年6月1日&#xff0c;《中华人民共和国网络安全法》正式实施&#xff0c;明确规定“网络关键设备和网络安全专用产品应当按照相关国家标准的强制性要求&#xff0c;由具备资格的机构安全认证合格或者安全检测符合要求后&#xff0c;方可销售或者提供。国家网信部门会同国务…

区区几行Python代码,就能实现全面自动探索性数据分析!

探索性数据分析是数据科学模型开发和数据集研究的重要组成部分之一。在拿到一个新数据集时首先就需要花费大量时间进行EDA来研究数据集中内在的信息。自动化的EDA Python包可以用几行Python代码执行EDA。在本文中整理了10个可以自动执行EDA并生成有关数据的见解的Python包&…

ROM修改进阶教程------安卓7_____安卓13去除签名验证操作步骤解析

同类博文: 安卓玩机搞机技巧综合资源-----修改rom 制作rom 解包rom的一些问题解析【二十一】_qcn改区域锁-CSDN博客 安卓系列机型rom修改。如果你删减了系统相关的app。那么严重会导致开机系统卡米 定屏等问题。这类一般都是系统签名验证导致的。而破解签名验证一般都是修改…

API接口的用途以及接入示例

API接口的主要用途是允许不同的软件系统之间进行通信和数据交换。具体来说&#xff0c;API接口可以用于以下几个方面&#xff1a; 数据传输和交换&#xff1a;API接口可以用于不同系统之间的数据传输和交换&#xff0c;例如将数据从一个系统传递到另一个系统&#xff0c;或者从…

【office安装错误1402或1406】

office安装错误1402或1406 错误如图 解决方法 打开autoremove&#xff0c;点击扩展&#xff0c;输入1402&#xff0c;点击搜索 等待修复成功&#xff0c;再尝试安装office 软件每周六选择其他登录方式可以免费使用

Python学习1--变量和简单数据类型

本章练习&#xff1a; Python之禅&#xff1a;

RocketMQ快速入门:namesrv、broker、dashboard的作用及消息发送、消费流程(三)

0. 引言 接触rocketmq之后&#xff0c;大家首当其冲的就会发现需要安装3个组件&#xff1a;namesrv, broker, dashboard&#xff0c;其中dashboard也叫console&#xff0c;为选装。而这几个组件之前的关系是什么呢&#xff0c;消息发送和接收的过程是如何传递的呢&#xff0c;…

如何在Windows 10中打开和自定义搜索?这里提供详细步骤

使用Windows 10中的搜索功能&#xff0c;你可以快速查找计算机上的文件、应用程序或设置。在本文&#xff0c;你可以学习如何在Windows 10中打开和控制搜索。 打开Windows 10搜索面板 打开Windows 10搜索面板很容易。通常&#xff0c;你可以在任务栏上找到搜索图标。只需单击…

如何在PostgreSQL中创建一个新的数据库,并指定所有者?

文章目录 解决方案示例代码 PostgreSQL是一个强大的开源关系型数据库管理系统&#xff0c;它允许用户创建和管理多个数据库。在PostgreSQL中创建一个新的数据库并指定所有者是一个常见的操作。下面&#xff0c;我们将详细解释如何执行这一操作&#xff0c;并提供示例代码。 解…

灭火器检查记录卡模板如何制作

灭火器是常见的消防设备&#xff0c;为确保灭火器正常使用&#xff0c;需要定期对灭火器进行检查和维护&#xff1b;而灭火器检查记录卡就是用来记录灭火器检查的重要工具。然而传统的灭火器检查记录卡都是纸质的&#xff0c;哪怕我们采购多好多贵材质做的检查卡终归记录有限、…