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

news2024/12/25 13:10:28

文章目录

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

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

相关文章

JavaScript系列从入门到精通系列第九篇:JavaScript中赋值运算符和关系运算符以及Unicode编码介绍

一:赋值运算符 1: 右侧的值可以赋值给左侧的变量。 var a 123; console.log(a);//123 2: var a 10; a a 5; a 5; 上边这两个写法是一样的。 3:- var a 10; a a-5; a - 5; 上边这两个写法是一样的。 4:* …

Cesium 展示——label 从十进制小数转度分秒

文章目录 需求分析 需求 Cesium 显示 坐标点label 从十进制小数转度分秒 分析 写一个转换方法 function decimalToDMS(decimal) {const degree Math.floor(decimal);const minute Math.floor((decimal - degree) * 60);const second ((decimal - degree) * 60 - minute) *…

ChunJun: 自定义插件

序言 Chunjun的版本兼容可能会有问题,在我们了解了自定义插件后,在修改源码以应对不同的场景就会得心应手了,针对Chunjun1.12.Release版本说明cuiyaonan2000163.com 自定义插件整体流程 从数据流的角度来看ChunJun,可以理解为不同数据源的数据流通过对应的ChunJu…

一文了解数据治理全知识体系!

在业界,大家都为如何做好数据治理而感到困惑。数据治理工作一定要先摸清楚数据的家底,规划好路线图,再进行决策。 本文从数据治理的误区、元数据管理、数据质量管理、数据资产管理等4个方面整理出数据治理的一套经验总结,给予数据…

python算法部署(通信篇)

1.dockerflask方式 # YOLOv5 🚀 by Ultralytics, AGPL-3.0 license """ Run a Flask REST API exposing one or more YOLOv5s models """import argparse import io import jsonimport torch from flask import Flask, jsonify, req…

公司新来的实习生问我SpringBoot多个环境的配置方式

这是一篇写给新手的文章,老手可以绕行了。 起因是一个同学让我帮他看个问题,他说有两个环境,一个环境有问题,另一个环境没问题,但是一直找不到原因,假设一个环境是 dev,另一个环境是 test。 于…

2023 版 QQ 机器人运行部署文档

文章目录 1.前置说明2.机器人框架的下载与运行2.1 下载机器人框架2.2 下载可操作框架的静态页面2.3 运行机器人框架 3.登录QQ机器人3.1 前提说明3.2 扫码登录3.3 注意事项 4.后端程序处理消息4.1 下载 stater4.2 stater 基本说明4.3 运行后端程序4.4 测试消息处理4.5 关于扩展消…

ISE_ChipScope Pro的使用

1.ChipScope Pro Core Inserter 使用流程 在之前以及编译好的流水灯实验上进行学习 ChipScope的使用。 一、新建一个ChipScope 核 点击Next,然后在下一个框中选择 Finish,你就会在项目菜单中看到有XX.cdc核文件。 二、对核文件进行设置 右键“Synthesize – XST” …

计算机丢失ac1st16.dll怎么解决?教你简单的修复ac1st16.dl文件

在使用Windows操作系统时,有时会遇到一些DLL文件丢失的问题,其中之一就是AC1ST16.DLL。AC1ST16.DLL是用于AutoCAD相关软件的动态链接库文件,当该文件丢失时,可能会导致软件无法正常运行。本文将详细介绍多种解决AC1ST16.DLL丢失问…

OpenGL超级宝典(第五版)第8章fbo_drawbuffers例子分析

目录 1. 概述 2. 疑难点剖析 2.1 SetupRC函数分析 2.2 multibuffer.vs分析 2.3 RenderScene分析 3. 其它 1. 概述 《OpenGL超级宝典(第五版)》如下: 该书第8版的 fbo_drawbuffers工程展示了如下技术点: 什么是帧缓冲区对象&#xff08…

【Linux】进程间通信方式②——文件共享映射(附图解与代码实现)

我们来简单了解下文件共享映射的定义:通过映射文件,使用映射机制,实现资源共享,完成进程通信 具体是如何实现的呢?跟随着这篇博客,我们来看一看 进程通过文件共享映射实现通信的具体步骤 由某一进程创建映…

【湖科大教书匠】计算机网络随堂笔记第2章(计算机网络物理层)

目录 2.1、物理层的基本概念 2.2、物理层下面的传输媒体 导引型传输媒体 同轴电缆 双绞线 光纤 电力线 非导引型传输媒体 无线电波 微波 红外线 可见光 2.3、传输方式 串行传输和并行传输 同步传输和异步传输 单向通信(单工)、双向交替通信&#xf…

【LeetCode-简单题】110. 平衡二叉树

文章目录 题目方法一:后序递归 题目 方法一:后序递归 递归遍历的同时判断是否是平衡二叉树,如果不是,就置为-1,如果是 就正常做递归求最大深度 参考图解网址 判断平衡二叉树 class Solution {public boolean isBalanc…

誉天在线项目-放大招-Vue3集成RichText富文本客户端组件QuillEditor

背景 开发中我们需要填写图文内容,就是含有图片和文字,html标准组件中是没有的。都是第三方来实现,就需要我们去集成。 有早期的fckEditor、ckEditor等,新的我们使用了vue框架,市场又推出了quillEditor。下面我们就在…

【【萌新的SOC学习之绪论】】

萌新的SOC学习之绪论 Vitis 统一软件平台的前身为 Xilinx SDK,从 Vivado 2019.2 版本开始,Xilinx SDK 开发环境已统一整合 到全功能一体化的 Vitis 中。Vitis 开发平台除了启动方式、软件界面、使用方法与 SDK 开发平台略有区别, 其他操作几…

使用acme.sh申请免费ssl证书(Cloudflare方式API自动验证增加DNS Record到期证书到期自动重新申请)

下载acme.sh curl https://get.acme.sh | sh -s emailmyexample.comcd ~/.acme.sh/获取Cloudflare密钥 Preferences | Cloudflare 登录选择账户详情选择API Token选择创建令牌选择区域DNS模板,并设置编辑写入权限生成并复制令牌备用回到首页概览界面下部获取账号…

【RabbitMQ实战】3分钟在Linux上安装RabbitMQ

本节采用docker安装RabbitMQ。采用的是bitnami的镜像。Bitnami是一个提供各种流行应用的Docker镜像和软件包的公司。采用docker的方式3分钟就可以把我们想安装的程序运行起来,不得不说真的很方便啊,好了,开搞。使用前提:Linux虚拟…

3D设计软件Rhinoceros 6 mac 犀牛6中文版功能特征

Rhinoceros Mac中文版是一款3D设计软件“犀牛”,在众多三维建模软件中,Rhinoceros mac因为其体积小、功能强大、对硬件要求低而广受欢迎,对于专业的3D设计人员来说它是一款非常不错的3D建模软件,Rhinoceros Mac中文版能轻易整合3D…

苹果手机短信删除了怎么恢复?3种有效方法介绍

手机短信是一种即时通信方式,人们可以使用短信来达到快速传递信息的目的。在没有网络或者网络不稳定的时候,短信仍然可以做到发送和接收,这弥补了其他网络通信软件的缺点。 所以说,手机短信仍然是我们生活中不可缺少的一部分。当…

【rtp】mid 扩展: RtpMid 字符串扩展的解析和写入

mid 是uint8_t 类型? 扩展填写的是字符串,读取字符串后atoi 转 uint8_t : webrtc 看起来是个字符串:写入 扩展的值是改变了: 这里是更新扩展的长度: 新的大小小于原来的,没有缩减内存,而是对于多余的置位0了:if (len < current_len) {memset(