（滑动嗖嗖声） (slide whooshes)
- 本节将带来 Hugging Face Datasets 库的快速概览。 - The Hugging Face Datasets library, a quick overview.
Hugging Face Datasets 库 The Hugging Face Datasets library
是一个提供 API 来快速下载的库 is a library that provides an API to quickly download
许多公共数据集并对其进行预处理。 many public datasets and preprocess them.
在本视频中，我们将探索如何做到这一点。 In this video we will explore how to do that.
下载部分很简单， The downloading part is easy,
使用 load_dataset 函数。 with the load_dataset function.
你可以直接下载并缓存数据集 You can directly download and cache a dataset
来自其在数据集中心的标识符。 from its identifier on the Dataset hub.
在这里，我们从 GLUE 基准中获取 MRPC 数据集， Here, we fetch the MRPC dataset from the GLUE benchmark,
这是一个包含成对句子的数据集 which is a dataset containing pairs of sentences
任务是确定释义。 where the task is to determine the paraphrases.
load_dataset 函数返回的对象 The object returned by the load_dataset function
是一个 DatasetDict，它是一种字典 is a DatasetDict, which is a sort of dictionary
包含我们数据集的每个分割。 containing each split of our dataset.
我们可以通过使用其名称进行索引来访问每个拆分。 We can access each split by indexing with its name.
这个拆分然后是 Dataset 类的一个实例， This split is then an instance of the Dataset class,
有列，这里是 sentence1，sentence2， with columns, here sentence1, sentence2,
标签和 idx，以及行。 label and idx, and rows.
我们可以通过索引访问给定的元素。 We can access a given element by its index.
Hugging Face Datasets 库的神奇之处 The amazing thing about the Hugging Face Datasets library
是所有内容都使用 Apache Arrow 保存到磁盘， is that everything is saved to disk using Apache Arrow,
这意味着即使你的数据集很大， which means that even if your dataset is huge,
你不会离开 RAM。 you won't get out of RAM.
只有你请求的元素才会加载到内存中。 Only the elements you request are loaded in memory.
访问数据集的一部分就像访问一个元素一样简单。 Accessing a slice of your dataset is as easy as one element.
结果是一个包含值列表的字典 The result is then a dictionary with list of values
对于每个键。 for each keys.
这里是标签列表， Here the list of labels,
第一句话列表 the list of first sentences
和第二句话的列表。 and the list of second sentences.
数据集的特征属性 The features attribute of a Dataset
为我们提供有关其专栏的更多信息。 gives us more information about its columns.
特别是，我们可以在这里看到 In particular, we can see here
它给了我们信件 it gives us the correspondence
在标签的整数和名称之间。 between the integers and names for the labels.
零代表不等价，一代表等价。 Zero stands for not equivalent and one for equivalent.
要预处理数据集的所有元素， To preprocess all the elements of our dataset,
我们需要将它们标记化。 we need to tokenize them.
看看视频 “预处理句子对” Have a look at the video "Preprocess sentence pairs"
复习一下， for a refresher,
但你只需要发送这两个句子 but you just have to send the two sentences
带有一些额外的关键字参数的分词器。 to the tokenizer with some additional keyword arguments.
这里我们表示最大长度为 128 Here we indicate a maximum length of 128
和垫输入短于这个长度， and pad inputs shorter than this length,
截断更长的输入。 truncate inputs that are longer.
我们把所有这些都放在一个 tokenize_function 中 We put all of this in a tokenize_function
我们可以直接应用于数据集中的所有拆分 that we can directly apply to all the splits in our dataset
用地图的方法。 with the map method.
只要函数返回一个类似字典的对象， As long as the function returns a dictionary-like object,
map 方法将根据需要添加新列 the map method will add new columns as needed
或更新现有的。 or update existing ones.
加快预处理 To speed up preprocessing
并利用我们的分词器这一事实 and take advantage of the fact our tokenizer
由 Rust 支持， is backed by Rust,
感谢 Hugging Face Tokenizers 库， thanks to the Hugging Face Tokenizers library,
我们可以同时处理多个元素 we can process several elements at the same time
到我们的 tokenize 函数，使用 batched=True 参数。 to our tokenize function, using the batched=True argument.
由于分词器可以处理 Since the tokenizer can handle
第一句话列表，第二句列表， list of first sentences, list of second sentences,
tokenize_function 不需要为此更改。 the tokenize_function does not need to change for this.
你还可以将多处理与 map 方法一起使用。 You can also use multiprocessing with the map method.
在链接的视频中查看其文档。 Check out its documentation in the linked video.
完成后，我们几乎可以进行培训了。 Once this is done, we are almost ready for training.
我们只是删除不再需要的列 We just remove the columns we don't need anymore
使用 remove_columns 方法， with the remove_columns method,
将标签重命名为标签， rename label to labels,
因为来自 Hugging Face Transformers 的模型 since the models from the Hugging Face Transformers
图书馆期望， library expect that,
并将输出格式设置为我们想要的后端， and set the output format to our desired backend,
火炬、TensorFlow 或 NumPy。 Torch, TensorFlow or NumPy.
如果需要，我们还可以生成一个简短的数据集样本 If needed, we can also generate a short sample of a dataset
使用选择方法。 using the select method.
（滑动嗖嗖声） (slide whooshes)