Mat*_*agu 7 machine-learning gpt-2
我正在尝试微调 gpt2 以完成生成性问答任务。
基本上我的数据格式类似于:
背景:马特今天撞坏了他的车。问:马特这一天过得怎么样?答案:不好
我正在查看 Huggingface 文档,以了解如何在自定义数据集上微调 GPT2,并且我确实在以下地址找到了有关微调的说明: https ://github.com/huggingface/transformers/tree/main/examples/pytorch /语言建模
问题是他们没有提供任何关于如何准备数据以便模型可以从中学习的指导。他们提供了可用的不同数据集,但没有一个格式适合我的任务。
如果有更多经验的人可以帮助我,我将非常感激。
祝你今天过得愉快!
Jay*_*ody 11
您现在的任务不明确,可能是以下任何一个:
如果你所有的例子都有Answer: X,其中X是分类的(即总是“好”,“坏”等......),你可以进行分类。
在此设置中,您将拥有文本标签对:
文本
Context: Matt wrecked his car today.
Question: How was Matt's day?
Run Code Online (Sandbox Code Playgroud)
标签
Bad
Run Code Online (Sandbox Code Playgroud)
对于分类,您可能最好只微调 BERT 风格的模型(例如 RoBERTTa)。
如果所有示例都有Answer: X, whereX是文本中的一个单词(或连续单词)(例如),那么最好使用 BERT 风格的模型进行 SQuAD 风格的微调。在此设置中,您的输入(基本上)是text, start_pos, end_pos三元组:
文本
Context: In early 2012, NFL Commissioner Roger Goodell stated that the league planned to make the 50th Super Bowl "spectacular" and that it would be "an important game for us as a league".
Question: Who was the NFL Commissioner in early 2012?
Run Code Online (Sandbox Code Playgroud)
起始位置、结束位置
Context: Matt wrecked his car today.
Question: How was Matt's day?
Run Code Online (Sandbox Code Playgroud)
注意:标记的课程位置的开始/结束位置值,因此这些值将取决于您如何标记输入
在此设置中,您最好使用 BERT 风格的模型。事实上,huggingface hub 上已经有在 SQuAD(和类似数据集)上训练的模型。他们应该已经擅长这些开箱即用的任务(但您始终可以在此基础上进行微调)。
如果所有示例都有Answer: X, whereX基本上可以是任何东西(它不需要包含在文本中,并且不是分类的),那么您需要进行语言建模。
在此设置中,您必须使用 GPT 样式模型,并且您的输入将是整个文本:
Context: Matt wrecked his car today.
Question: How was Matt's day?
Answer: Bad
Run Code Online (Sandbox Code Playgroud)
不需要标签,因为文本本身就是标签(我们要求模型为每个单词预测下一个单词)。像 GPT-3 这样的大型模型应该擅长这些任务,无需任何微调(如果你给它正确的提示+示例),但当然,这些是在 API 后面访问的。https://cohere.com还拥有非常强大的法学硕士,还允许您微调模型(通过语言建模),因此您不需要自己运行任何代码。不确定通过微调 GPT-2 这样的较小模型可以获得多少里程。如果这个项目是为了学习,那么是的,一定要继续微调 GPT-2 模型!但如果性能是关键,我强烈建议使用像https://cohere.com这样的解决方案,它可以开箱即用。
| 归档时间: |
|
| 查看次数: |
6345 次 |
| 最近记录: |