Pytorch
TensorFlow

#
章末小测验

现在来测试一下本章所学内容吧！

###
1. “emotion”数据集包含带有情绪标记的 Twitter 消息。请在 Hub 中进行搜索并读取数据集的数据卡片。判断哪一个基本情感不在这个数据集中？

Joy（欢乐） Love（爱） Confusion（困惑） Surprise（惊喜）

###
2. 在 Hub 中搜索 ar_sarcasm 数据集，该数据集支持哪个任务？

情绪分类 机器翻译 命名实体识别 回答问题

###
3. 当输入一对句子时 BERT 模型会需要进行怎么样的预处理？

句子1的token序列 [ SEP ] 句子2的token序列 [CLS] 句子1的token序列 句子2的token序列 [CLS] 句子1的token序列 [SEP] 句子2的token序列 [SEP] [CLS] 句子1的token序列 [SEP] 句子2的token序列

###
4. Dataset.map () 方法的好处是什么？

该函数执行后的结果被缓存，重新执行代码时不会花费多余时间。 它可以进行并行化处理，比在数据集的每个元素上依次使用函数进行处理更快。 它不会将整个数据集加载到内存中，而是在处理一个元素后立即保存结果。

###
5. 什么是动态填充？

就是将每个批处理的输入填充到整个数据集中的最大长度。 这是当你在创建 batch 时将输入填充到该 batch 内句子的最大长度。 当你将每个句子填充到与数据集中的前一个句子相同数量的 token 时。

###
6. collate 函数的用途是什么？

它确保数据集中的所有序列具有相同的长度。 它把所有的样本地放在一个 batch 里。 它预处理整个数据集。 它截断数据集中的序列。

###
7. 当你用一个预先训练过的语言模型（例如 bert-base-uncased ）实例化一个 AutoModelForXxx 类，这个类与它所被训练的任务不匹配时会发生什么？

什么都没有，但会出现一个警告。 丢弃预训练模型的头部，取而代之的是一个适合该任务的新头部。 丢弃预先训练好的模型头部。 没有，因为模型仍然可以针对不同的任务进行微调。

###
8． TrainingArguments 的用途是什么？

它包含了所有用于训练和评估的超参数。 它指定模型的大小。 它只包含用于评估的超参数。

###
9．为什么要使用🤗 Accelerate 库？

它可以对更快地访问的模型。 它提供了一个高级 API，因此我不必实现自己的训练循环。 它使我们的训练循环运行在分布式架构上 它提供了更多的优化功能。
Update on GitHub