【AI大模型】Transformers大模型库(十三):Datasets库

 

目录​​​​​​​

一、引言 

二、Datasets数据处理库

2.1 概述

2.2 使用方法

2.2.1 步骤1: 安装并导入datasets库

2.2.2 步骤2: 加载数据集

2.2.3 步骤3: 查看数据集

2.2.4 步骤4: 数据预处理

2.2.5 步骤5: 分割数据集为训练集和验证集(如果数据集未预先分割)

2.2.6 步骤6: 使用Transformers进行训练或评估

三、总结


一、引言 

 这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。

🤗 Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。
🤗 Transformers 提供了便于快速下载和使用的API,让你可以把预训练模型用在给定文本、在你的数据集上微调然后通过 model hub 与社区共享。同时,每个定义的 Python 模块均完全独立,方便修改和快速研究实验。
🤗 Transformers 支持三个最热门的深度学习库: Jax, PyTorch 以及 TensorFlow — 并与之无缝整合。你可以直接使用一个框架训练你的模型然后用另一个加载和推理。

本文重点介绍Transformers的Datasets用法

二、Datasets数据处理库

2.1 概述

Transformers库通常与Hugging Face的datasets库一起使用来处理和准备数据。以下是如何使用datasets库加载数据集和进行基本预处理的步骤,以用于Transformers的模型训练和评估

2.2 使用方法

2.2.1 步骤1: 安装并导入datasets

首先,确保你安装了datasets库。可以通过pip安装:

pip install datasets

然后在Python脚本中导入:

from datasets import load_dataset

2.2.2 步骤2: 加载数据集

Hugging Face Hub提供了大量的数据集,你可以直接加载。例如,加载IMDB数据集:

dataset = load_dataset('imdb')

这将加载IMDB电影评论数据集,它是一个文本分类任务,用于判断评论是正面还是负面。 

2.2.3 步骤3: 查看数据集

查看数据集的结构和前几条数据:

print(dataset['train'][:5])

2.2.4 步骤4: 数据预处理

通常需要对数据进行预处理,比如使用Transformers的分词器进行文本编码。假设你已经有了一个分词器实例tokenizer

from transformers import AutoTokenizer

model_name = "bert-base-uncased"
tokenizer = AutoTokenizer.from_pretrained(model_name)

def tokenize_function(examples):
    return tokenizer(examples['text'], padding='max_length', truncation=True)

# 使用map函数批量应用到数据集上
tokenized_dataset = dataset.map(tokenize_function, batched=True)

2.2.5 步骤5: 分割数据集为训练集和验证集(如果数据集未预先分割)

如果数据集没有内置的训练/验证分割,你可以使用train_test_split方法: 

train_test_split = tokenized_dataset['train'].train_test_split(test_size=0.2)
train_dataset = train_test_split['train']
eval_dataset = train_test_split['test']

2.2.6 步骤6: 使用Transformers进行训练或评估

这一步通常涉及到创建Trainer对象,但这里仅展示数据处理部分。实际训练过程会涉及更多Transformers的使用,如定义TrainingArguments和创建Trainer实例。

三、总结

以上步骤展示了如何使用datasets库来准备数据,这是使用Transformers进行自然语言处理任务的关键步骤之一。

如果您还有时间,可以看看我的其他文章:

《AI—工程篇》

AI智能体研发之路-工程篇(一):Docker助力AI智能体开发提效

AI智能体研发之路-工程篇(二):Dify智能体开发平台一键部署

AI智能体研发之路-工程篇(三):大模型推理服务框架Ollama一键部署

AI智能体研发之路-工程篇(四):大模型推理服务框架Xinference一键部署

AI智能体研发之路-工程篇(五):大模型推理服务框架LocalAI一键部署

《AI—模型篇》

AI智能体研发之路-模型篇(一):大模型训练框架LLaMA-Factory在国内网络环境下的安装、部署及使用

AI智能体研发之路-模型篇(二):DeepSeek-V2-Chat 训练与推理实战

AI智能体研发之路-模型篇(三):中文大模型开、闭源之争

AI智能体研发之路-模型篇(四):一文入门pytorch开发

AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比

AI智能体研发之路-模型篇(六):【机器学习】基于tensorflow实现你的第一个DNN网络

AI智能体研发之路-模型篇(七):【机器学习】基于YOLOv10实现你的第一个视觉AI大模型

AI智能体研发之路-模型篇(八):【机器学习】Qwen1.5-14B-Chat大模型训练与推理实战

AI智能体研发之路-模型篇(九):【机器学习】GLM4-9B-Chat大模型/GLM-4V-9B多模态大模型概述、原理及推理实战

《AI—Transformers应用》

【AI大模型】Transformers大模型库(一):Tokenizer

【AI大模型】Transformers大模型库(二):AutoModelForCausalLM

【AI大模型】Transformers大模型库(三):特殊标记(special tokens)

【AI大模型】Transformers大模型库(四):AutoTokenizer

【AI大模型】Transformers大模型库(五):AutoModel、Model Head及查看模型结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值