00333 NLP Course - Training a causal language model from scratch


前言

到目前为止,我们主要使用预训练模型,并通过重用预训练的权重来微调它们以适用于新的用例。正如我们在第一章中看到的,这通常被称为迁移学习,这是一种非常成功的策略,用于将Transformer模型应用于大多数现实世界的用例,其中标记数据稀缺。在本章中,我们将采用不同的方法,从零开始训练一个全新的模型。如果您拥有大量数据并且这些数据与用于现有模型的预训练数据有很大不同,这是一种很好的方法。然而,与微调语言模型相比,预训练语言模型需要更多的计算资源。

训练新模型可能有意义的示例包括由音乐音符、DNA等分子序列或编程语言组成的数据集。后者最近因TabNine和GitHub的Copilot等工具而备受关注,这些工具由OpenAI的Codex模型提供支持,能够生成长序列的代码。这种文本生成任务最好使用自回归或因果语言模型,如GPT-2来解决。

在这一部分,我们将构建一个简化的代码生成模型:我们将专注于一行代码的补全,而不是完整的函数或类,使用的是Python代码的一个子集。在使用Python处理数据时,您经常会接触到Python数据科学栈,包括matplotlib、seaborn、pandas和scikit-learn库。当使用这些框架时,通常需要查找特定的命令,所以如果我们能有一个模型来为我们完成这些调用,那就太好了。

在第6章中,我们创建了一个高效的标记器来处理Python源代码,但我们仍然需要一个大规模的数据集来预训练模型。在这里,我们将把我们的标记器应用到从GitHub仓库中获得的Python代码语料库中。然后我们将使用Trainer API和🤗 Accelerate来训练模型。让我们开始吧!

这实际上是在展示使用本节所示代码训练并上传到Hub的模型。您可以在这里找到它。请注意,由于文本生成过程中存在一些随机性,所以您可能会得到略有不同的结果。

src link: https://huggingface.co/learn/llm-course/chapter7/6

Operating System: Ubuntu 22.04.4 LTS

参考文档

  1. NLP Course - Training a causal language model from scratch

收集数据

结语

第三百三十三篇博文写完,开心!!!!

今天,也是充满希望的一天。


文章作者: LuYF-Lemon-love
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuYF-Lemon-love !
  目录