当前位置: 首页 > 网络应用技术

如何使用Spage v3.0 fine -Tuning Bert Transformer

时间:2023-03-09 00:59:35 网络应用技术

  关于如何为Spacy v3.0罚款,以成功预测各种实体(例如工作经验和恢复教育)。

  自Vaswani等人以来。发表了一篇开创性的论文“您需要的一切”,变压器模型已成为NLP技术中的最新技术。从NER,文本分类,问答或文本生成的应用,这种惊人的技术的应用是无限的。

  更具体地说,伯特(Bert) - 代表来自变压器的两条道路编码器 - 一种新颖的方式使用变压器体系结构。例如,伯特(Bert,伯特还通过将分类令牌[cls]添加到第一个句子的开头,并尝试预测第一个句子之后的两个句子之间的第二个句子中是否在第二句话中,可以预测句子的顺序。

  在本教程中,我将向您展示如何罚款BERT模型,以预测软件职位描述描述中的技能,文凭,文凭和经验。

  Fine -Tune Transformers需要具有并行处理功能的功能强大的GPU。为此,我们使用Google COLAB,因为它为GPU提供了免费的可用服务器。

  在本教程中,我们将使用新发布的香料v3.0库来罚款转换器。在这里,是fin -step fin -step the spage v3.0.github repo的步骤 - 步骤指南。。

  要使用Spage v3.0罚款bert,我们需要在香料v3.0 JSON格式中提供培训和开发数据(请参阅此处),然后将其转换为二进制文件。我们将提供包含TSV中包含的IOB格式的数据文件,然后将其转换为SPICES JSON格式。

  我仅标记了120个职位的描述,包括诸如培训数据集,文凭,文凭专业和经验的技能,以及数据集开发所描述的大约70个职位。

  在本教程中,我使用了UBIAI注释工具,因为它具有广泛的功能,例如:

  使用UBIAI中的正则表达函数,我预先注销了“ d。*+。*”模型之前的所有经验,例如“ 5年以上的C ++经验”。软件语言和分配的物理技能。pre -Notitation可以节省大量时间,并帮助您最大程度地减少手动注释。

  有关UBIAI注释工具的更多信息,请访问文档页面。

  导出的注释将如下显示:

  为了从IOB转换为JSON(请参阅此处的文档),我们使用Spage V3.0命令:

  转换为SPAGE v3.0 JSON后,我们需要使用此命令将JSON文件的培训和开发转换为二进制文件(使用您自己的更新文件路径):

  打开一个新的Google COLAB项目,并确保您在笔记本设置中选择GPU作为硬件加速器。

  为了加速培训过程,我们需要在GPU上进行并行处理。为此,我们安装了NVIDIA 9.2 CUDA库:

  要检查是否安装了正确的CUDA编译器,请运行:

  安装Spage库和空间转换器管道:

  接下来,我们安装了为CUDA 9.2的配置的Pytorch机器学习库:

  安装Pytorch后,我们需要安装CUDA 9.2调整和更改的空间转换器,如下所示。在本文中,安装cupy库,该库等同于Numpy库,但适用于GPU:

  Spacy v3.0使用包含所有模型培训组件的配置文件来训练模型。在SPAGE培训页面上,您可以选择模型语言(在本教程中,英语),组件(NER)和硬件(GPU)并下载配置文件模板。

  我们唯一需要做的就是填写火车和开发文件的路径。完成后,我们将文件上传到Google COLAB。

  现在,我们需要使用BERT模型所需的剩余参数自动填充配置文件;您需要做的是运行此命令:

  如果有错误,我建议您调试您的配置文件:

  我们终于准备好培训BERT模型!只需运行此命令即可开始训练:

  注意:如果存在错误,则PTX JIT汇编失败。卸载并重新安装它,它应该能够解决问题。

  如果一切顺利,您应该开始看到模型得分和损失正在更新。

  在培训结束时,模型将保存在文件夹中。模型分数位于文件夹中:

  由于培训数据集有限,得分必须远远低于生产模型水平,但是值得在示例工作描述中检查其性能。

  要在示例文本上测试模型,我们需要加载模型并在文本中运行它:

  这是从我们的示例立场描述中提取的实体:

  Python

  仅使用120个培训文件令人印象深刻!我们可以正确提取大多数技能,文凭和文凭专业和经验。

  有了更多的培训数据,该模型肯定会改善并产生更高的分数。

  由于惊人的Spage v3.0库,我们仅使用几行代码训练了功能性NER变换模型。您的数据。

  像往常一样,如果您有任何意见,请留言或发送电子邮件至admin@ubiai.tools。