ludwig 自监督预训练语言模型(LLMs)

eni9jsuy  于 2个月前  发布在  其他
关注(0)|答案(6)|浏览(28)

自监督预训练是在没有指令数据集或人类偏好的情况下,通过文本文档进行LMs的预训练和微调的一种机制。这个机制实际上很简单:将每个文档视为一系列标记,创建标记窗口作为输入,并使用下一个标记作为输出进行预测。

在Ludwig中,我们现在有能力以这种方式训练模型,但我们还没有实现窗口数据转换的功能,这使得它变得困难。因此,建议的功能是让用户能够无缝地在一组文档上进行预训练和微调。

理想情况下,该功能可以分为以下几点:

  • 编写一个预处理函数,给定一个文档,为自监督训练创建输入和输出
  • 将Ludwig配置系统扩展到包括一个转换部分,该部分可以包含上述函数
  • 优化上述函数,使其能够在流水线/批处理/流式/缓冲模式下工作,以避免产生大量重复的数据
qqrboqgw

qqrboqgw1#

类似于torch_geometric中的Dataset概念会很好,并且可以容纳类似的事情。
https://pytorch-geometric.readthedocs.io/en/latest/generated/torch_geometric.data.Dataset.html#torch_geometric.data.Dataset
从概念上讲,这将把转换部分移动为数据集的属性。然而,我理解基于yaml的工作流程更适合提出的添加。

jw5wzhpr

jw5wzhpr2#

我来这里是为了更多地了解Ludwig,我可以开始工作了。我相信在您的指导下,我能成功地合并一个PR。我需要先被指派吗?

wko9yo5t

wko9yo5t3#

对不起,回答得有些慢。@arnavgarg1 已经开始进行预训练工作了,你应该同步一下并为它找到一个自包含的 PR(Pull Request,即代码提交请求)。非常感谢你提出帮助,但我的消息被忽略了。

igetnqfo

igetnqfo4#

感谢您的回复。
@arnavgarg1,您能帮助我继续处理这个问题吗?

qlfbtfca

qlfbtfca5#

你好@JaynouOliver - 让我们找个时间同步一下。你加入Ludwig的slack了吗?

3okqufwl

3okqufwl6#

是的,我已经加入了Slack并参加了比赛!我会给你发消息。

相关问题