Hugging Face Model Hub拥有范围广泛的模型,可以处理许多任务。虽然这些模型表现良好,但通常在使用特定于任务的数据微调模型时会发现最佳性能。
Hugging Face 提供了许多功能齐全的示例来帮助训练特定于任务的模型。从命令行构建模型时,这些脚本是开始的好方法。
txtai 提供了一个训练管道,可用于使用 Transformers Trainer 框架以编程方式训练新模型。
此示例训练一个小型 QA 模型,然后使用几个新示例(小样本学习)进一步对其进行微调。
安装依赖
安装txtai和所有依赖项。
pip install txtai datasets pandas
训练 SQuAD 2.0 模型
第一步是训练 SQuAD 2.0 模型。SQuAD 是一个问答数据集,它提出一个带有上下文的问题以及已识别的答案。也有可能得不到答案。有关详细信息,请参阅SQuAD 数据集网站。
为了提高效率,我们将使用带有一部分 SQuAD 2.0 的小型 Bert 模型。
from datasets import load_dataset
from txtai.pipeline import HFTrainer
ds = load_dataset(“squad_v2”)
trainer = HFTrainer()
trainer(“google/bert_uncased_L-2_H-128_A-2”, ds[“train”].select(range(3000)), task=“question-answering”, output_dir=“bert-tiny-squadv2”)
print(“Training complete”)
使用新数据进行微调
接下来我们将添加一些额外的例子。微调 QA 模型将有助于构建特定类型的问题或提高特定用例的性能。