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

LLM-TAP随笔——语言模型训练数据【深度学习】【PyTorch】【LLM】

文章目录

  • 3、语言模型训练数据
    • 3.1、词元切分
    • 3.2、词元分析算法

3、语言模型训练数据

  • 数据质量对模型影响非常大。

典型数据处理:质量过滤、冗余去除、隐私消除、词元切分等。

  • 训练数据的构建时间、噪音或有害信息情况、数据重复率等因素都对模型性能有较大影响。
  • 训练数据和测试数据的时间错配会一定程度上影响模型的的效果。

3.1、词元切分

构建词元表:覆盖绝大部分的输入词,并避免词表过大所造成的数据稀疏问题。
BPE
将字节视为合并的基本符号。
算法过程

  1. 词元词表的确定

统计每个相邻字节对的出现频率,合并出现频率最高的字节对,将其作为 新的词元加入词表。

在这里插入图片描述
2. 全词切分为词元以及词元合并为全词的方法

输入词序列全词切分,对照词表按词元从长到短顺序遍历匹配。

合成全词时,词元表示失败部分视作未登录词,赋予相同表示。

开源数据集合

  • Pile
  • ROOTS
  • RefinedWeb
  • SlimPajama

3.2、词元分析算法

WordPiece词元分析算法(BERT)

  • 先评分
  • 再合并,合并使得训练数据似然概率增加最高的词元对。

HuggingFace 提供的评分公式:
s c o r e = 词元对出现的频率 第一个词元出现的频率 × 第二个词元出现的频率 score = \frac{词元对出现的频率}{第一个词元出现的频率 × 第二个词元出现的频率} score=第一个词元出现的频率×第二个词元出现的频率词元对出现的频率

Unigram词元分析算法(T5,mBART)

  • 从一个足够大的可能词元集合开始,迭代的从当前列表中删除词元,直到达到预期的词汇表大小为止。
  • 删除标准:训练语料库似然性的增加量

"语料库的似然性"通常是指一个特定文本序列(通常是一段文本或一个句子)在语料库中出现的概率。

BPE词元分析算法(GPT-2,BART,LLaMA)
将字节视为合并的基本符号。

Tips:

R d R^d Rd:表示d维度张向量空间。

R d × m R^{d × m} Rd×m: d ×m 的实数矩阵的空间。
Hugging Face(Hugging Face Transformers)是一个面向自然语言处理(NLP)领域的开源社区和公司,它以构建和维护各种预训练模型以及提供与自然语言处理相关的工具和库而闻名。该社区和公司的名字“Hugging Face”来自于一个富有亲和力的面部照片,反映了他们的愿景,即使人工智能模型变得更加友好和可访问。

Hugging Face的主要贡献和活动包括:

  1. 预训练模型库:Hugging Face维护了一个大规模的预训练模型库,其中包括了许多流行的NLP模型,如BERT、GPT、RoBERTa、XLNet等。这些模型在各种NLP任务上表现出色,并且可以用于微调以适应特定任务。
  2. Transformers库:Hugging Face提供了名为Transformers的Python库,用于轻松加载、使用和微调各种预训练模型。这个库包含了丰富的示例代码和工具,使研究人员和开发者能够快速开始使用最先进的NLP模型。
  3. 模型卡片(Model Cards):Hugging Face提倡模型卡片的使用,这是一种文档形式,用于提供有关预训练模型的详细信息、使用案例、性能评估和注意事项。这有助于提高模型的透明度和可解释性。
  4. 社区贡献:Hugging Face的社区活跃,并且在GitHub上有大量的贡献者。他们分享了自己的模型、工具、代码和教程,使整个NLP社区受益。
  5. Hub:Hugging Face提供了一个模型和数据的中央存储库,称为Hugging Face Hub,允许用户共享、下载和管理NLP模型和数据集。

检查点是模型在训练或生成过程中的某个时间点的保存状态,通常包括模型的权重参数和其他相关信息,以便稍后能够重新加载模型并继续训练或进行推理。

消融实验(ablation experiment)是一种用于研究机器学习模型或深度学习模型的重要实验方法。在这种实验中,研究人员有目的地将模型的某些组件或特性删除或禁用,以评估这些组件对模型性能的影响。消融实验的主要目的是帮助理解模型的工作原理、识别关键组件,以及确定哪些因素对模型性能产生了最大的影响。

  1. Few-shot Learning(少样本学习):
    1. Few-shot learning 涉及到在训练数据非常有限的情况下,使模型能够有效地学习和泛化。通常,few-shot learning 指的是模型在少于常规训练所需数量的样本上进行训练。这可以包括几个样本(通常小于10个)或更多,但总体上比传统的大规模训练数据要少。
    2. Few-shot learning 的一个常见应用是在计算机视觉中,例如人脸识别任务中,通过提供只有少数几张示例图像,使模型能够识别和分类新的人脸。
  2. One-shot Learning(一样本学习):
    1. One-shot learning 是 few-shot learning 的一个特例,它更加极端。在 one-shot learning 中,模型只能在单个训练样本上学习,并且需要能够在测试时正确地识别或分类新的示例。
    2. One-shot learning 的一个例子是手写字符识别,其中模型需要从单个示例字符中学习如何识别该字符,然后用于识别其他类似字符。
  3. Zero-shot Learning(零样本学习):
    1. Zero-shot learning 是一种更具挑战性的任务。在 zero-shot learning 中,模型需要能够在测试时处理从未在训练中见过的类别或样本。它需要具有泛化到全新情况的能力。
    2. 通常,zero-shot learning 使用属性或特征的描述来帮助模型理解新类别。例如,给定一个包含动物的图像数据集,模型可能没有见过一种叫做"斑马"的类别,但可以使用属性信息(例如,“有条纹”)来理解并识别这个类别。
  • 思维树(Tree of Thoughts, ToT):ToT提示是一种允许复杂的、多步骤问题通过LLM来解决的方法。通过将问题的解决方案分解为个别的步骤或思维,ToT提示使得可以通过多个推理线支持策略性的前瞻、回溯等进行复杂的解决方案空间探索。然后,我们可以在这个框架内通过与已知的图形结构数据搜索算法的组合进行提示和自我评估来搜索问题的解决方案。
  • 思维链(Chain of Thoughts, ToT):CoT的本质是将复杂任务拆解为多个简单的子任务,它指的是一个思维过程中的连续逻辑推理步骤或关联的序列,是思维过程中一系列相互关联的想法、观点或概念的串联。思维链通常用于解决问题、做决策或进行推理。它可以按照逻辑顺序连接和组织思维,将复杂的问题分解为更简单的步骤或概念,从而更好地理解和解决问题。CoT通常只有一条解决问题的路径,ToT等于是CoT的一个拓展。
  • 人类反馈训练:人类反馈的强化学习(RLHF)

相关文章:

LLM-TAP随笔——语言模型训练数据【深度学习】【PyTorch】【LLM】

文章目录 3、语言模型训练数据3.1、词元切分3.2、词元分析算法 3、语言模型训练数据 数据质量对模型影响非常大。 典型数据处理:质量过滤、冗余去除、隐私消除、词元切分等。 训练数据的构建时间、噪音或有害信息情况、数据重复率等因素都对模型性能有较大影响。训…...

Linux- open() lseek()

文件描述符 文件描述符(File Descriptor,简称 FD)是 UNIX 和 UNIX-like 系统中用于代表和识别打开的文件或其他I/O资源的一种抽象标识。它是一个非负整数,内部由操作系统进行管理和分配。文件描述符可以代表文件、套接字、管道等…...

Halcon Tuple相关算子(一)

(1) tuple_length( : : Tuple : Length) 功能:返回输入元组中元素的个数。 控制输入参数: Tuple:输入元组; 控制输出参数:length:输入元组中元素的个数。 (2) tuple_find( : : Tuple, ToFind : Indices…...

基于图像形态学处理的路面裂缝检测算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 ...................................................... %1:从文件夹中读取多个…...

PY32F003F18之窗口看门狗

一、PY32F003F18窗口看门狗特点: 即使窗口看门狗被禁止,窗口看门狗的"递减计数器"也会继续递减计数。 二、窗口看门狗复位的条件: 1、将"控制寄存器WWDG_CR"中的WDGA1,激活"窗口看门狗计数器等于0x3F"时,则产…...

SpingBoot:整合Mybatis-plus+Druid+mysql

SpingBoot:整合Mybatis-plusDruid 一、特别说明二、创建springboot新工程三、配置3.1 配置pom.xml文件3.2 配置数据源和durid连接池3.2.1 修改application.yml3.2.2 新增mybatis-config.xml 3.3 编写拦截器配置类 四、自动生成代码五、测试六、编写mapper.xml&#…...

计算机视觉与深度学习-经典网络解析-VGG-[北邮鲁鹏]

目录标题 VGG参考VGG网络贡献使用尺寸更小的$3 \times 3$卷积串联来获得更大的感受野放弃使用$11 \times 11$和$5 \times 5$这样的大尺寸卷积核深度更深、非线性更强,网络的参数也更少;去掉了AlexNet中的局部响应归一化层(LRN)层。 网络结构主要改进输入…...

入门级制作电子期刊的网站推荐

随着数字化时代的到来,越来越多的人开始尝试制作自己的电子期刊。如果你也是其中的一员,那么这篇文章可以帮助你制作电子期刊。无论是初学者还是有一定经验的制作者,都能快速完成高质量的电子期刊制作 小编经常使用的工具是-----FLBOOK在线制…...

软件测试内容整理

1. 软件测试 1.1. 定义 软件测试(英语:Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。 软件测试的经典定…...

UniAccess Agent卸载

异常场景: UniAccess Agent导致系统中的好多设置打不开 例如:ipv4的协议,注册表,host等等 需要进行删除,亲测有效,及多家答案平凑的 借鉴了这位大神及他里面引用的大神的内容 https://blog.csdn.net/weixin_44476410/article/details/121605455 问题描述 这个进…...

【C++】C++11——构造、赋值使用条件和生成条件

移动构造和移动赋值生成条件移动构造和移动赋值调用逻辑强制生成默认函数的关键字default禁止生成默认函数的关键字delete 移动构造和移动赋值生成条件 C11中新增的移动构造函数和移动赋值函数的生成条件为: 移动构造函数的生成条件:没有自己实现的移动…...

【LeetCode热题100】--56.合并区间

56.合并区间 排序: 如果按照区间的左端点排序,那么在排完序的列表中,可以合并的区间一定是连续的,如下图所示,标记为蓝色、黄色和绿色的区间分别可以合并为一个大区间,它们在排完序的列表中是连续的 算法&a…...

opencv dnn模块 示例(17) 目标检测 object_detection 之 yolo v5

在前文【opencv dnn模块 示例(16) 目标检测 object_detection 之 yolov4】介绍的yolo v4后的2个月,Ultralytics发布了YOLOV5 的第一个正式版本,其性能与YOLO V4不相伯仲。 文章目录 1、Yolo v5 和 Yolo v4 的区别说明1.1、Data Augmentation - 数据增强1…...

关于安卓SVGA浅尝(一)svgaplayer库的使用

关于安卓SVGA浅尝(一)使用 相关链接 SVGA官网 SVGA-github说明文档 背景 项目开发,都会和动画打交道,动画的方案选取,就有很多选择。如Json动画,svga动画,gif等等。各有各的优势。目前项目中…...

【LFU】一文让你弄清 Redis LFU 页面置换算法

上一次,相信大家已经知道关于 LRU 页面置换算法的思想和实现了,这里可以一键直达: 【LRU】一文让你弄清 Redis LRU 页面置换算法 Redis 的淘汰策略中,关于 LFU 页面置换算法,今天咱们来捋一捋到底思想是啥&#xff0…...

Python爬虫实战:用简单四步爬取小红书图片

小红书是一个热门的社交分享平台,汇聚了大量精美的图片。如果您希望保存或使用这些图片,本文将为您详细介绍如何使用Python爬虫轻松爬取小红书图片。 一、安装必要的库 在开始之前,确保您已经安装了以下Python库: requests&#…...

行为型模式-解释器模式

提供了评估语言的语法或表达式的方式,它属于行为型模式。这种模式实现了一个表达式接口,该接口解释一个特定的上下文。这种模式被用在 SQL 解析、符号处理引擎等。 意图:给定一个语言,定义它的文法表示,并定义一个解释…...

Linux系统编程(五):信号

参考引用 UNIX 环境高级编程 (第3版)黑马程序员-Linux 系统编程 1. 信号基础理论 1.1 概念和机制 概念 信号在生活中随处可见,如:古代战争中摔杯为号、现代战争中的信号弹、体育比赛中使用的信号枪他们都有共性:简单、不能携带大量信息、满足…...

学习路之工具--SecureCRT的下载、安装

百度盘: 链接: https://pan.baidu.com/s/1r3HjEj053cKys54DTqLM4A?pwdgcac 提取码: gcac 复制这段内容后打开百度网盘手机App,操作更方便哦 感谢大佬 简单介绍下SecureCRT SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序&a…...

软件定义网络-OpenvSwitch

软件定义网络(SDN)。它主要有以下三个特点: 控制与转发分离:转发平面就是一个个虚拟或者物理的网络设备,就像小区里面的一条条路。控制平面就是统一的控制中心,就像小区物业的监控室。它们原来是一起的&…...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...

【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习

禁止商业或二改转载&#xff0c;仅供自学使用&#xff0c;侵权必究&#xff0c;如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

[免费]微信小程序问卷调查系统(SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序问卷调查系统(SpringBoot后端Vue管理端)【论文源码SQL脚本】&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序问卷调查系统(SpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项…...