【AI大模型】Transformers大模型库(十一):Trainer训练类

简介: 【AI大模型】Transformers大模型库(十一):Trainer训练类

一、引言

这里的Transformers指的是huggingface开发的大模型库,为huggingface上数以万计的预训练大模型提供预测、训练等服务。

🤗 Transformers 提供了数以千计的预训练模型,支持 100 多种语言的文本分类、信息抽取、问答、摘要、翻译、文本生成。它的宗旨是让最先进的 NLP 技术人人易用。

🤗 Transformers 提供了便于快速下载和使用的API,让你可以把预训练模型用在给定文本、在你的数据集上微调然后通过 model hub 与社区共享。同时,每个定义的 Python 模块均完全独立,方便修改和快速研究实验。

🤗 Transformers 支持三个最热门的深度学习库: Jax, PyTorch 以及 TensorFlow — 并与之无缝整合。你可以直接使用一个框架训练你的模型然后用另一个加载和推理。

本文重点介绍Trainer训练类

二、Trainer训练类

2.1 概述

2.2 使用示例

from transformers import AutoModelForSequenceClassification, Trainer, TrainingArguments
from datasets import load_dataset
 
# 1. 加载数据集
# 假设我们使用的是Hugging Face的内置数据集,例如SST-2
dataset = load_dataset('sst2')  # 或者使用你自己的数据集
 
# 2. 数据预处理,可能需要根据模型进行Tokenization
# 以BERT为例,使用AutoTokenizer
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
def tokenize_function(examples):
    return tokenizer(examples["sentence"], truncation=True)
tokenized_datasets = dataset.map(tokenize_function, batched=True)
 
# 3. 准备训练参数
training_args = TrainingArguments(
    output_dir='./results',          # 输出目录
    num_train_epochs=3,              # 总的训练轮数
    per_device_train_batch_size=16,  # 每个GPU的训练批次大小
    per_device_eval_batch_size=64,   # 每个GPU的评估批次大小
    warmup_steps=500,                # 预热步数
    weight_decay=0.01,               # 权重衰减
    logging_dir='./logs',            # 日志目录
    logging_steps=10,
)
 
# 4. 准备模型
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased")
 
# 5. 创建Trainer并开始训练
trainer = Trainer(
    model=model,                         # 要训练的模型
    args=training_args,                  # 训练参数
    train_dataset=tokenized_datasets['train'],  # 训练数据集
    eval_dataset=tokenized_datasets['validation'], # 验证数据集
)
 
# 开始训练
trainer.train()

整个流程是机器学习项目中的标准流程:数据准备、模型选择、参数设置、训练与评估。每个步骤都是为了确保模型能够高效、正确地训练,以解决特定的机器学习任务:

  • 加载数据集 (load_dataset('sst2')):这行代码是使用Hugging Face的datasets库加载SST-2数据集,这是一个情感分析任务的数据集。如果你使用自定义数据集,需要相应地处理和加载数据。
  • 数据预处理 (tokenizer(examples["sentence"], truncation=True)):在训练模型之前,需要将文本数据转换为模型可以理解的格式。这里使用AutoTokenizer对文本进行分词(Tokenization),truncation=True意味着如果句子超过模型的最大输入长度,将截断超出部分。这一步是将文本转换为模型输入的张量格式。
  • 训练参数 (TrainingArguments):这部分定义了训练过程的配置,包括训练轮数(num_train_epochs)、每个设备的训练和评估批次大小、预热步数(warmup_steps)、权重衰减(weight_decay)等。这些参数对训练效率和模型性能有重要影响。
  • 准备模型 (AutoModelForSequenceClassification.from_pretrained()):这里选择或初始化模型,AutoModelForSequenceClassification是用于序列分类任务的模型,from_pretrained方法加载预训练的模型权重。选择的模型(如BERT的“bert-base-uncased”)是基于任务需求的。
  • 创建Trainer (Trainer):Trainer是Transformers库中的核心类,它负责模型的训练和评估流程。它接收模型、训练参数、训练数据集和评估数据集作为输入。Trainer自动处理了训练循环、损失计算、优化器更新、评估、日志记录等复杂操作,使得训练过程更加简洁和高效。
  • 开始训练 (trainer.train()):调用此方法开始模型的训练过程。Trainer会根据之前设定的参数和数据进行模型训练,并在每个指定的步骤打印日志,训练完成后,模型的权重会保存到指定的输出目录。

三、总结

本文对transformers训练类Trainer进行讲述并赋予应用代码,希望可以帮到大家!


目录
相关文章
|
17天前
|
人工智能 Java Serverless
阿里云函数计算助力AI大模型快速部署
随着人工智能技术的快速发展,AI大模型已经成为企业数字化转型的重要工具。然而,对于许多业务人员、开发者以及企业来说,探索和利用AI大模型仍然面临诸多挑战。业务人员可能缺乏编程技能,难以快速上手AI模型;开发者可能受限于GPU资源,无法高效构建和部署AI应用;企业则希望简化技术门槛,以更低的成本和更高的效率利用AI大模型。
81 12
|
3天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
12月14日,由中国软件行业校园招聘与实习公共服务平台携手魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·湖南大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——湖南大学站圆满结营
|
15天前
|
人工智能 安全 数据安全/隐私保护
文档智能 & RAG让AI大模型更懂业务测评
文档智能 & RAG让AI大模型更懂业务
144 74
|
3天前
|
机器学习/深度学习 人工智能 智能设计
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
VisionFM 是一个多模态多任务的视觉基础模型,专为通用眼科人工智能设计。通过预训练大量眼科图像,模型能够处理多种眼科成像模态,并在多种眼科任务中展现出专家级别的智能性和准确性。
27 4
VisionFM:通用眼科 AI 大模型,具备眼科疾病诊断能力,展现出专家级别的准确性
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
GLM-4V-Flash:智谱 AI 免费开放的图像理解大模型 API 接口
智谱AI推出的GLM-4V-Flash是一款专注于图像理解的免费开放大模型,提供API接口支持用户上传图片URL或Base64编码图片获取详细的图像描述。该模型通过深度学习和卷积神经网络技术,简化了图像分析流程,提高了开发效率,适用于内容审核、辅助视障人士、社交媒体、教育和电子商务等多个应用场景。
102 14
GLM-4V-Flash:智谱 AI 免费开放的图像理解大模型 API 接口
|
15天前
|
机器学习/深度学习 人工智能 物联网
AI赋能大学计划·大模型技术与应用实战学生训练营——电子科技大学站圆满结营
12月05日,由中国软件行业校园招聘与实习公共服务平台携手阿里魔搭社区共同举办的AI赋能大学计划·大模型技术与产业趋势高校行AIGC项目实战营·电子科技大学站圆满结营。
AI赋能大学计划·大模型技术与应用实战学生训练营——电子科技大学站圆满结营
|
3天前
|
人工智能 安全 机器人
OpenAI重拾规则系统,用AI版机器人定律守护大模型安全
在人工智能领域,大语言模型(LLM)展现出强大的语言理解和生成能力,但也带来了安全性和可靠性挑战。OpenAI研究人员提出“规则基于奖励(RBR)”方法,通过明确规则引导LLM行为,确保其符合人类价值观和道德准则。实验显示,RBR方法在安全性与有用性之间取得了良好平衡,F1分数达97.1。然而,规则制定和维护复杂,且难以完全捕捉语言的多样性。论文:https://arxiv.org/pdf/2411.01111。
33 13
|
1天前
|
人工智能 自然语言处理 计算机视觉
AI大模型开启智能化新时代
12月19日下午,复旦大学计算机科学技术学院第十二期“步青讲坛”在江湾校区二号交叉学科楼E1006报告厅举行。本期讲坛特别邀请了阿里巴巴集团副总裁、IEEE Fellow叶杰平教授做题为《AI大模型开启智能化新时代》的精彩技术报告。
37 4
|
2天前
|
人工智能 安全 图形学
【AI落地应用实战】篡改检测技术前沿探索——从基于检测分割到大模型
在数字化洪流席卷全球的当下,视觉内容已成为信息交流与传播的核心媒介,然而,随着PS技术和AIGC技术的飞速发展,图像篡改给视觉内容安全带来了前所未有的挑战。 本文将探讨篡改检测技术的现实挑战,分享篡改检测技术前沿和最新应用成果。
|
9天前
|
人工智能 API Windows
免费部署本地AI大语言模型聊天系统:Chatbox AI + 马斯克grok2.0大模型(简单5步实现,免费且比GPT4.0更好用)
本文介绍了如何部署本地AI大语言模型聊天系统,使用Chatbox AI客户端应用和Grok-beta大模型。通过获取API密钥、下载并安装Chatbox AI、配置模型,最终实现高效、智能的聊天体验。Grok 2大模型由马斯克X-AI发布,支持超长文本上下文理解,免费且易于使用。
41 0

热门文章

最新文章