Skip to content

828Tina/BERT-Chinese-QA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BERT-Chinese-QA

基于BERT的中文问答微调训练

swanlab

环境安装

需要安装以下内容:

torch
transformers
swanlab

本文的代码测试于torch==2.2.2、transformers==4.40.0、swanlab==0.3.0,更多库版本可查看SwanLab记录的Python环境

加载模型

BERT模型我们直接下载来自HuggingFace上由Google发布的bert-base-chinese预训练模型。

当然也可以直接执行下面的代码,会自动下载模型权重并加载模型:

from transformers import AutoTokenizer, AutoModelForSequenceClassification, Trainer, TrainingArguments


model = AutoModelForSequenceClassification.from_pretrained('bert-base-chinese')

下载数据集

本次训练使用的是CMRC2018数据集,CMRC2018是第二届[讯飞杯]中文机器阅读理解颁奖研讨会中相关赛事所使用的资料集,它主要用于中文机器阅读理解的跨度提取资料集,以增加该领域的语言多样性.

该资料集有人类专家在维基百科段落上注释的近20000个真实问题组成。

同时也注释了一个挑战集,其中包含需要在整个上下文中进行全面理解和多句推理的问题。

代码链接:ymcui/cmrc2018

# 加载数据集
with open("./data/cmrc2018_train.json", encoding="utf-8") as f:
    train = json.load(f)

with open("./data/cmrc2018_dev.json", encoding="utf-8") as f:
    dev = json.load(f)

使用swanlab可视化结果

# 可视化部署
swanlab.init(
    project="Bert_fine-tuning",
    experiment_name="epoch-5",
    workspace=None,
    description="基于BERT的问答模型",
    config={'epochs': args.epochs, 'learning_rate': args.lr},  # 通过config参数保存输入或超参数
    logdir="./logs",  # 指定日志文件的保存路径
)

想了解更多关于SwanLab的知识,请看SwanLab官方文档

训练

训练过程可视化:BERT-QA-Swanlab

在首次使用SwanLab时,需要去官网注册一下账号,然后在用户设置复制一下你的API Key。

然后在终端输入swanlab login:

swanlab login

把API Key粘贴进去即可完成登录,之后就不需要再次登录了。

About

基于BERT的中文问答微调训练

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages