准备数据微调拥抱脸模型

本文演示了如何准备您的数据微调开源大型语言模型bob下载地址拥抱的脸变形金刚拥抱面临数据集

加载数据从拥抱的脸

拥抱面临数据集是一个拥抱脸库访问和共享数据集音频、计算机视觉、自然语言处理(NLP)任务。和拥抱的脸数据集你可以加载数据从不同的地方。的数据集图书馆事业拥抱阅读数据集的脸中心。有很多数据下载和可读的拥抱脸中心使用load_dataset函数。BOB低频彩了解更多关于与拥抱面临数据集加载数据在拥抱的脸文档。

数据集进口load_dataset数据集=load_dataset(“imdb”)

拥抱的脸中心提供的一些数据集的大小下载时生成的数据load_dataset被称为。您可以使用load_dataset_builder知道大小之前下载的数据集load_dataset

数据集进口load_dataset_builderpsutil._common进口bytes2humandefprint_dataset_size_if_provided(*arg游戏,* *kwargs):dataset_builder=load_dataset_builder(*arg游戏,* *kwargs)如果dataset_builder信息download_sizedataset_builder信息dataset_size:打印(f' download_size ={bytes2human(dataset_builder信息download_size)}dataset_size ={bytes2human(dataset_builder信息dataset_size)})其他的:打印(数据集的大小不是由上传者提供的)print_dataset_size_if_provided(“imdb”)

看到下载数据集从拥抱脸上笔记本的最佳实践指导如何下载和准备数据集对砖的不同大小的数据。

你的培训和评估数据格式

使用自己的数据模型微调,你必须先将你的培训和评估数据格式化为引发DataFrames。然后,加载DataFrames使用拥抱的脸数据集图书馆。

先格式化你的训练数据导入表中满足教练的期望。对文本分类来说,这是一个表有两列:文本列和列标签。

要执行微调,您需要提供一个模型。拥抱脸变压器AutoClasses图书馆很容易负荷模型和配置设置,包括广泛的汽车模型自然语言处理

例如,拥抱的脸变形金刚提供了AutoModelForSequenceClassification作为文本分类模型加载程序,预计整数id分类标签。然而,如果你有DataFrame字符串标签,您还必须指定整数字符串标签和标签之间的映射在创建模型。你可以收集这些信息如下:

标签=df选择(df标签)groupBy(df标签)()收集()id2label={指数:标签(指数,)列举(标签)}label2id={标签:指数(指数,)列举(标签)}

然后,创建一个标签的整数id列熊猫UDF:

pyspark.sql.functions进口pandas_udf进口熊猫作为pd@pandas_udf(“整数”)defreplace_labels_with_ids(标签:pd系列)- >pd系列:返回标签应用(λx:label2id(x])df_id_labels=df选择(replace_labels_with_ids(df标签)别名(“标签”),df文本)

加载一个拥抱的脸从火花DataFrame数据集

拥抱的脸数据集支持从火花DataFrames加载使用datasets.Dataset.from_spark。看到文档以了解更多关于拥抱的脸BOB低频彩from_spark ()方法。

例如,如果你有train_dftest_dfDataFrames,您可以创建数据集对于每个下面的代码:

进口数据集train_dataset=数据集数据集from_spark(train_df,cache_dir=“/ dbfs /缓存/列车”)test_dataset=数据集数据集from_spark(test_df,cache_dir=“/ dbfs /缓存/测试”)

Dataset.from_spark缓存数据集。这个例子描述了模型训练的司机,所以数据都必须是可用的。此外,由于缓存实体化并行使用火花,所提供的cache_dir必须可以访问所有的工人。为了满足这些约束,cache_dir应该是一个砖文件系统(DBFS)根体积挂载点

DBFS根卷的所有用户都可以访问工作区和只能用于数据没有访问限制。如果您的数据需要访问控制,使用挂载点而不是DBFS根。

如果您的数据集很大,写DBFS需要花很长时间。加快这一进程,你可以使用working_dir参数有拥抱的脸数据集写磁盘上的数据集到一个临时位置,然后把它移动到DBFS。例如,使用SSD临时位置:

进口数据集数据集=数据集数据集from_spark(train_df,cache_dir=“/ dbfs /缓存/列车”,working_dir=“/ local_disk0 / tmp /火车”,)

缓存的数据集

缓存的方法之一数据集提高了效率。它存储所有数据下载和处理用户需要使用中间数据集时,他们是直接从缓存中加载。

默认的缓存目录的数据集~ / .cache / huggingface /数据集。终止一个集群时,缓存数据丢失。坚持终止集群的缓存文件,砖建议改变缓存位置DBFS通过设置环境变量HF_DATASETS_CACHE:

进口操作系统操作系统环境(“HF_DATASETS_CACHE”]=“dbfs /地方/你/想要/ /保存”

调整模型

当你的数据已经准备好了,你可以用它来微调拥抱脸模型

笔记本:下载数据集从拥抱的脸

这个例子使用拥抱的笔记本提供推荐的最佳实践的脸load_dataset函数来下载和准备数据集对砖不同大小的数据。

下载数据集从拥抱脸上笔记本的最佳实践

在新标签页打开笔记本