使用 Trainer API 进行微调
在您的数据上训练分类器
使用 Trainer API 进行微调 是 CoddyKit 上的免费 NLP Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 NLP Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 NLP Academy 课程共包含 4 节课。
为何进行微调
预训练模型已经掌握了语言;微调会利用带标签的数据对其进行调整,使其在您的特定任务上表现出色。
从检查点开始
加载一个分类头大小与标签数量相匹配的模型。基础权重会被复用,只有分类头从头开始训练。
from transformers import AutoModelForSequenceClassification
m = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2)认识训练器
Trainer API 会为您处理完整的训练循环:批处理、梯度计算、评估和保存,全部封装在一个类中。
准备数据集
对文本进行分词并保留标签。Hugging Face Dataset 对象可以直接接入 Trainer。
ds = ds.map(lambda x: tok(x["text"], truncation=True), batched=True)设置训练参数
TrainingArguments 将所有设置集中在一处:学习率、批次大小、训练轮数,以及保存检查点的位置。
from transformers import TrainingArguments
args = TrainingArguments("out", num_train_epochs=3)构建训练器
将模型、参数和数据集传入 Trainer。现在,训练所需的一切都位于同一个对象中。
from transformers import Trainer
trainer = Trainer(model=m, args=args, train_dataset=train, eval_dataset=val)开始训练
一次调用即可运行完整循环。Trainer 会逐轮处理数据,并在学习过程中更新权重。
trainer.train()学习率很重要
微调会使用较小的学习率,通常约为 2e-5,这样可以温和地调整预训练权重,而不会破坏它们。
只需几个训练轮次
变换器模型通常只需遍历数据两到四次。训练轮数过多,模型就会开始过拟合。
跟踪指标
为 Trainer 提供一个 compute_metrics 函数,它就会在每次评估时报告准确率或 F1,让您实时了解进展。
trainer = Trainer(..., compute_metrics=metric_fn)使用数据整理器
数据整理器会根据批次中最长的样本动态填充每个批次,相比将所有内容填充到统一长度,可以节省内存。
快速检查
为什么微调要使用较小的学习率?
回顾
加载带有新分类头的模型,对数据进行分词,设置TrainingArguments,然后让 Trainer 以较低学习率运行几个训练轮次。✅
常见问题解答
「使用 Trainer API 进行微调」课时是免费的吗?
是的 — 「使用 Trainer API 进行微调」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 NLP Academy 课程的其余内容,请升级到 CoddyKit PRO。 NLP Academy 课程共包含 4 节课。
「使用 Trainer API 进行微调」这节课中我会学到什么?
在您的数据上训练分类器 你通过在浏览器中直接运行的动手代码来练习 NLP Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 NLP Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 NLP Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。
「使用 Trainer API 进行微调」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 NLP Academy 课中编写并运行代码吗?
能。每节 NLP Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- Transformer 库导览
- 为 Transformer 模型进行分词
- 使用 Trainer API 进行微调
- 评估并保存您的模型