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)

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

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

相关文章

代数——第2章——群

第 2 章 群(Groups) II est peu de notions en mathematiques qui soient plus primitives que celle de loi de composition. (数学中很少有比合成律更原始的概念了。) --------------------------------------------------------Nicolas Bourbaki 2.1 合成律(LAWS OF CO…

数据链路层协议

文章目录 数据链路层协议0. 数据链路层解决的问题1. 以太网协议(1) 认识以太网(2) 以太网帧格式<1> 两个核心问题 (3) 认识MAC地址(4) 局域网通信原理(5) MTU<1> 认识MTU<2> MTU对IP协议的影响<3> MTU对UDP协议的影响<4> MTU对TCP协议的影响<…

Vue3 动态组件 component:is= 失效

错误代码 用Vue3&#xff0c;组件无需注册&#xff0c;所以就会提示“注册了不不使用”的报错&#xff0c; 于是用了异步注册&#xff0c;甚至直接为了不报错就在下面使用3个组件&#xff0c;有异步加载&#xff0c;但还是实现不了预期效果 <script setup> import { re…

如何设计一个 JVM 语言下的 LLM 应用开发框架?以 Chocolate Factory 为例

本文将介绍 Chocolate Factory 框架背后的一系列想法和思路。在我们探索和设计框架的过程中&#xff0c;受到了&#xff1a;LangChain4j、LangChain、LlamaIndex、Spring AI、Semantic Kernel、PromptFlow 的大量启发。 欢迎一起来探索&#xff1a;https://github.com/unit-mes…

历史高频行情数据存储最佳实践:DolphinDB Array Vector 使用指南

越来越多的机构使用 L1/L2 的快照行情数据进行量化金融的研究。作为一个高性能时序数据库&#xff0c;DolphinDB 非常适合存储和处理海量的历史高频行情数据。针对快照数据包含多档位信息的特点&#xff0c;DolphinDB 研发了一种方便、灵活且高效的数据结构——Array Vector&am…

[AI Agent学习] MetaGPT源码浅析

前言 工作上&#xff0c;需要使用AI Agent&#xff0c;所以需要深入学习一下AI Agent&#xff0c;光阅读各种文章&#xff0c;总觉无法深入细节&#xff0c;所以开看各类AI Agent相关的开源项目&#xff0c;此为第一篇&#xff0c;学习一下MetaGPT的源码。 基本目标 MetaGPT是一…

博客系统的自动化测试

本次自动化实战内容&#xff1a;本次测试根据博客管理系统这个项目&#xff0c;首先设计UI自动化测试用例&#xff0c;然后使用Selenium4自动化测试工具和JUnit5单元测试框架&#xff0c;实现web端的自动化测试。 本次项目总体实现思路&#xff1a;目录下有一个common包&#…

机器学习(19)---神经网络详解

神经网络 一、神经网络概述1.1 神经元模型1.2 激活函数 二、感知机2.1 概述2.2 实现逻辑运算2.3 多层感知机 三、神经网络3.1 工作原理3.2 前向传播3.3 Tensorflow实战演示3.3.1 导入数据集查看3.3.2 数据预处理3.3.3 建立模型3.3.4 评估模型 四、反向传播五、例题5.1 题15.2 题…

Day1-DeepWalk

论文《DeepWalk: Online Learning of Social Representations》 2014年发表在数据挖掘顶会ACM SIGKDD&#xff08;KDD&#xff09;上的论文 目的&#xff1a;学习节点表示 推动&#xff1a;将自然语言处理里面的无监督学习方法迁移至此 思路&#xff1a;将图结构序列化&#x…

ajax method to retrieve images as a blob

go 服务端&#xff1a; 就是先把这个图片读出来 然后返回二进制的数据 byteFile, err : ioutil.ReadFile("." "/processed/" uuidStr"processed.png")if err ! nil {fmt.Println(err)}c.Header("Content-Disposition", "att…

MYSQL不常用但好用写法

ORDER BY FIELD() 自定义排序逻辑 MySql 中的排序 ORDER BY 除了可以用 ASC 和 DESC&#xff0c;还可以通过 「ORDER BY FIELD(str,str1,…)」 自定义字符串/数字来实现排序。这里用 order_diy 表举例&#xff0c;结构以及表数据展示&#xff1a; ORDER BY FIELD(str,str1,…) …

Android 滑动事件消费监控,Debug 环境下通用思路

Android Debug 环境下滑动事件消费监控通用思路 背景 Android 开发中&#xff0c;经常会遇到滑动事件冲突。在一些简单的场景下&#xff0c;我们如果能够知道是那个 View 拦截了事件&#xff0c;那我们能够很容易得解决。解决方法通常就是内部拦截法或者外部拦截法。ViewPage…

SWC 流程

一个arxml 存储SWC &#xff08;可以存多个&#xff0c;也可以一个arxml存一个SWC&#xff09;一个arxml 存储 composition &#xff08;只能存一个&#xff09;一个arxml 存储 system description (通过import dbc自动生成system) 存储SWC和composition的arxml文件分开&#…

注入之SQLMAP(工具注入)

i sqlmap是一个自动化的SQL注入工具&#xff0c;其主要功能是扫描&#xff0c;发现并利用给定的URL和SQL注入漏洞&#xff0c;其广泛的功能和选项包括数据库指纹&#xff0c;枚举&#xff0c;数据库提权&#xff0c;访问目标文件系统&#xff0c;并在获取操作权限时执行任…

Java学习星球,十月集训,五大赛道(文末送书)

目录 什么是知识星球&#xff1f;我的知识星球能为你提供什么&#xff1f;专属专栏《Java基础教程系列》内容概览&#xff1a;《Java高并发编程实战》、《MySQL 基础教程系列》内容概览&#xff1a;《微服务》、《Redis中间件》、《Dubbo高手之路》、《华为OD机试》内容概览&am…

北工大汇编——综合题(1)

题目要求 统计字符数。从键盘输入一行字符&#xff0c;统计字母、空格、数字、其他宇符的个数&#xff0c;并显示。要求&#xff1a;提示输入一行宇符串&#xff1b;键盘输入宇符串&#xff0c;Enter 键结束输入&#xff0c;并换行显示结果。 题目代码 DATAS SEGMENT;此处输…

JSP ssm 零配件管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 java ssm 零配件管理系统是一套完善的web设计系统&#xff08;系统采用SSM框架进行设计开发&#xff0c;springspringMVCmybatis&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用…

一文了解什么SEO

搜索引擎优化 (SEO) 是一门让页面在 Google 等搜索引擎中排名更高的艺术和科学。 一、搜索引擎优化的好处 搜索引擎优化是在线营销的关键部分&#xff0c;因为搜索是用户浏览网络的主要方式之一。 搜索结果以有序列表的形式呈现&#xff0c;网站在该列表中的排名越高&#x…

Android开发MVP架构记录

Android开发MVP架构记录 安卓的MVP&#xff08;Model-View-Presenter&#xff09;架构是一种常见的软件设计模式&#xff0c;用于帮助开发者组织和分离应用程序的不同组成部分。MVP架构的目标是将应用程序的业务逻辑&#xff08;Presenter&#xff09;、用户界面&#xff08;V…

Selenium自动化测试框架常见异常分析及解决方法

01 pycharm中导入selenium报错 现象: pycharm中输入from selenium import webdriver, selenium标红 原因1: pycharm使用的虚拟环境中没有安装selenium, 解决方法: 在pycharm中通过设置或terminal面板重新安装selenium 原因2: 当前项目下有selenium.py,和系统包名冲突导致, …