2025年预训练模型微调(预训练模型微调流程)

预训练模型微调(预训练模型微调流程)提供了一个 类 处理微调在数据集上提供的任何预训练模型 完成所有数据预处理工作后 只需执行几个步骤即可定义 Trainer 最困难的部分可能是准备运行 的环境 因为它在 CPU 上运行速度非常慢 如果没有设置 GPU 可以在 Google Colab 上访问免费的 GPU 或 TPU 下面的代码示例假设已经完成了数据预处理的操作 map 函数与 DataCollator 函数请查阅



提供了一个 类,处理微调在数据集上提供的任何预训练模型。 完成所有数据预处理工作后,只需执行几个步骤即可定义 Trainer。 最困难的部分可能是准备运行 的环境,因为它在 CPU 上运行速度非常慢。 如果没有设置 GPU,可以在 Google Colab 上访问免费的 GPU 或 TPU。
下面的代码示例假设已经完成了数据预处理的操作:

 

map函数与DataCollatorWithPadding函数请查阅:Processing the data

Traning(训练)

定义 之前的第一步是定义一个 类,该类将包含 用于训练和评估的所有超参数。 必须提供的唯一参数是保存训练模型的目录以及checkpoint。 对于其余所有内容,可以保留默认值,这对于基本的微调应该非常有效。

 

第二步是定义我们的模型。 使用 AutoModelForSequenceClassification 类,它带有两个标签:

 

一旦我们有了模型,我们就可以通过传递迄今为止构建的所有对象来定义 —、、 和、 和 :

 

要在数据集上微调模型,我们只需调用训练器的 train() 方法:

 

这将开始微调(在 GPU 上应该需要几分钟)并每 500 步报告一次训练损失。 但是,它不会告诉你模型的表现有多好(或多差)。 这是因为:

  1. 我们没有告诉训练器在训练期间通过将设置为“”(评估每个)或“”(在每个结束时评估)来进行评估。
  2. 我们没有为训练器提供函数来在所述评估期间计算指标(否则评估只会打印损失,这不是一个非常直观的数字)。

Evaluation(评估)

让我们看看如何构建一个有用的函数并在下次训练时使用它。 该函数必须采用 对象(这是一个带有预测字段和 label_ids 字段的命名元组),并将返回一个将字符串映射到浮点数的字典(字符串是返回的指标的名称,浮点数是它们的值)。 为了从我们的模型中获得一些预测,我们可以使用 方法:

 

方法的输出是另一个具有三个字段的命名元组:预测、label_ids 和指标。 指标字段将仅包含传递的数据集的损失,以及一些时间指标(预测所需的总时间和平均时间)。 一旦我们完成了函数并将其传递给Trainer,该字段还将包含返回的指标。
结果所展示的预测是一个形状为 408 x 2 的二维数组(408 是我们使用的数据集中的元素数量)。 这些是我们传递给的数据集每个元素的logits。 为了将它们转换为可以与标签进行比较的预测,我们需要在第二个轴上获取最大值的索引:

 

我们现在可以将这些预测与标签进行比较。 为了构建我们的函数,我们将依赖于HuggingFace Evaluate库中的指标。 我们可以像加载数据集一样轻松地加载与 MRPC 数据集关联的指标,这次使用 函数。 返回的对象有一个方法,我们可以用它来进行度量计算:

 

获得的确切结果可能会有所不同,因为部分的随机初始化可能会改变它实现的指标。 在这里,我们可以看到我们的模型在验证集上的准确率为 85.78%,F1 得分为 89.97。 这些是用于评估 GLUE 基准的 MRPC 数据集结果的两个指标。 BERT 论文中的表格报告了基本模型的 F1 分数为 88.9,这是非case的模型,而我们目前使用的是case的模型,这解释了更好的结果。
将所有内容包装在一起,我们得到了函数:

 

为了查看它在每个epoch结束时报告指标的实际使用情况,下面是我们如何使用这个函数定义一个新的:

 

请注意,我们创建了一个新的 ,其评估策略设置为“”和一个新模型 - 否则,我们将继续训练已经训练过的模型。 要启动新的训练运行,我们执行:

 

这次,除了训练损失之外,它将在每个时期结束时报告验证损失和指标。 同样,由于模型的Model Head初始化,你达到的确切准确度/F1 分数可能与我们发现的有所不同,但它应该处于相同的范围内。
Trainer 将在多个 GPU 或 TPU 上开箱即用,并提供许多选项,例如混合精度训练(在训练参数中使用 fp16 = True)。

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下。
在这里插入图片描述

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【】

编程小号
上一篇 2025-01-28 21:06
下一篇 2025-03-05 13:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/46759.html