手把手带你实战transformers
文章平均质量分 86
记录B站up主“你可是处女座啊”的学习视频笔记
笨笨sg
东B计科
展开
-
2.3+2.4 实战演练之机器阅读理解(上)(下)
在bert中,cls是起始符,而sep是分隔符。在3中我们介绍了基于截断策略的机器阅读理解任务实现,有些部分并不完整。(比如没有评估函数,没有使用测试集测试,仅仅简单采用了截断策略)那么接下来在本节中我们将学习基于滑动窗口策略的机器阅读理解任务实现。如上图所示,这是一种简单的无重叠滑动窗口,有一个问题就是如果我们的答案是9-12,那么这个其实最后得到的答案就并不完整。在实际中,我们会采用如下图所示的带有重叠overflow的滑动窗口比如我们的最后答案在第一条中起始位置是2,结束位置是7;原创 2023-12-05 23:04:00 · 1152 阅读 · 4 评论 -
2.1 基于Transformers的NLP解决方案
up主的,这些策略还是非常有效的,时间换空间当然还有其他的高效微调策略,敬请期待下个章节最后的最后,我们在跑一个较大模型的时候,如果自由组合上述策略还不行(buff叠满了),那就只能寻求类似功能的小模型,做一个取舍。原创 2023-12-03 21:17:53 · 1077 阅读 · 0 评论 -
1.8 基础组件之Trainer
目录Trainer简介:TrainingArguments + Trainers代码优化:说明文档位于transformers里面:TrainingArguments里边有很多参数,需要我们按照具体的任务进行相应的设计。 可以通过控制台进入tensorbord,在TensorBoard界面中,我们可以查看和分析训练过程中的各种指标、损失曲线、模型结构图等信息。可以根据需要在代码中使用TensorBoard回调来记录这些信息,并在训练期间将其写入TensorBoard日志文件中。然后,通过启动TensorBo原创 2023-12-01 14:57:10 · 143 阅读 · 0 评论 -
1.7 基础组件之Evalaute
在Hugging Face的库中,Evaluate是一个用于评估模型性能的类。它提供了一些功能来计算模型在给定数据集上的指标,如准确率、F1值、损失等。Evaluate类通常与Trainer类一起使用,Trainer是库中用于训练和评估模型的高级API。在训练过程中,可以使用Trainer的evaluate()方法来调用Evaluate类进行评估。使用Evaluatemodel:要评估的模型对象。:包含评估数据的对象。:一个可选的回调函数,用于计算指标。原创 2023-12-01 13:57:44 · 122 阅读 · 0 评论 -
1.6 基础组件之Datasets
和模型的加载方式类似,也是直接复制数据集名称就可以加载了。是一个用于处理数据批次的类,它用于将模型的输入数据组合成适合训练或评估的批次。在自然语言处理任务中,输入数据通常是以样本的形式存在,每个样本包含输入文本和对应的标签或目标值。类提供了一些常见的数据处理功能,例如将样本的输入文本进行填充(padding)以保证批次中的输入序列长度一致,以及将标签或目标值进行适当的处理。它可以根据具体任务的需求进行自定义配置,以满足特定的数据处理需求。在Hugging Face的库中,原创 2023-12-01 00:15:56 · 145 阅读 · 0 评论 -
2.2 实战演练之命名实体识别NER
目录1 命名实体识别任务介绍2 基于Transfromers的解决方案2.1 模型结构:2.2 评估函数:3 代码实战演练1)导包:2)加载数据集3)数据预处理4)创建模型5)常见评估函数6)配置训练参数 7)创建训练器 8)模型训练 9)模型预测4 NER实战过程中需要注意的7点: 使用不同的model head用于解决不同的任务,如果说我们需要对每一个词(token)去做一个标签预测的话,这个时候我们就需要用到xxxForTokenClassification可以看到数据集已经划分好了训练集、验证集和测原创 2023-12-04 13:39:01 · 1105 阅读 · 2 评论 -
1.1 基础知识与环境安装
安装教程先安装Anaconda或者miniconda然后创建虚拟环境在虚拟环境中安装pypi、pytorch(包括torchvision、torchaudio)在虚拟环境中下载transformers和jupyterlab等一些需要用到的库pytorch安装教程PyTorch中torch、torchvision、torchaudio、torchtext版本对应关系。原创 2023-11-27 23:53:16 · 425 阅读 · 0 评论 -
1.2 基础组件之Pipeline
可以通过“from transformers.pipelines import SUPPORTED_TASKS”进行查看。原创 2023-11-28 00:37:46 · 1175 阅读 · 0 评论 -
1.3 基础组件之Tokenizer
传统的数据预处理方法主要包含以下步骤。Tokenizer的出现将这些步骤都封装起来,我们可以直接使用Tokenizer,而不需要再四处调包。原创 2023-11-28 18:04:41 · 1128 阅读 · 0 评论 -
1.4 基础组件之Model(上)基本使用
目录1 Model简介:2 Model基本使用方法:2.1 模型下载:2.1.1 在线下载: 2.1.2 离线下载:2.1.3 git clone下载:2.2 模型加载参数:2.2 模型调用:2.2.1 输入进tokenizer:2.2.2 不带model head的模型调用:2.2.3 带model head的模型调用:通过浏览器下载后,放到项目文件夹下进行离线下载: 第一个指令是下载这个模型所有的文件,由于我们只需要pytorch文件,因此可以使用第二条指令。可以通过model.config查看模型的配原创 2023-11-29 15:25:51 · 1313 阅读 · 1 评论 -
手把手带你实战Transformers(学习笔记)
B站链接:手把手带你实战HuggingFace Transformers章节篇章 小节 主要内容 一:基础入门篇 1.1 基础知识与环境安装 主要介绍自然语言处理的常见任务、发展阶段、Transformers的几个主要库、环境安装以及两个极简示例 1.2 基础组件之Pipeline 主要介绍Pipeline支持的任务类型、如何创建、如何确定参数以及其背后的封装内部的原理 1.3 基础组件之Tokenizer 主要介绍Tokenizer的使原创 2023-11-28 18:06:10 · 507 阅读 · 0 评论 -
1.5 基础组件之Model(下)BERT文本分类
可以看到只执行这个操作后,我们得到的labels确实是一个张量tensor了,方便我们后续在PyTorch模型中直接进行使用,但是reviews确实仍然是原始的形式,因此我们要想办法对reviews进行处理。为了更方便地对数据进行批量处理和迭代,我们需要创建DataLoader,它可以将数据集封装成一个可迭代的对象,使得我们可以按批次加载和处理数据。数据清洗和处理:Pandas提供了广泛的数据清洗和处理功能,包括数据过滤、排序、删除重复值、填充缺失值、数据转换、重塑和合并等操作。因此我们要先引入这个。原创 2023-11-29 16:56:16 · 817 阅读 · 0 评论