🚀 生物语言模型(bio-lm)
本项目的生物语言模型基于预训练模型进一步训练,可用于生命科学领域的下游任务,特别是标记分类任务。
🚀 快速开始
此模型旨在针对下游任务进行微调,尤其是标记分类任务。若要快速验证模型在填空任务中的效果,可使用以下代码:
from transformers import pipeline, RobertaTokenizerFast
tokenizer = RobertaTokenizerFast.from_pretrained('roberta-base', max_len=512)
text = "Let us try this model to see if it <mask>."
fill_mask = pipeline(
"fill-mask",
model='EMBO/bio-lm',
tokenizer=tokenizer
)
fill_mask(text)
✨ 主要特性
📦 安装指南
文档未提供安装步骤,如需使用可参考 transformers
库的安装方法。
💻 使用示例
基础用法
以下代码展示了如何在填空任务中使用该模型:
from transformers import pipeline, RobertaTokenizerFast
tokenizer = RobertaTokenizerFast.from_pretrained('roberta-base', max_len=512)
text = "Let us try this model to see if it <mask>."
fill_mask = pipeline(
"fill-mask",
model='EMBO/bio-lm',
tokenizer=tokenizer
)
fill_mask(text)
📚 详细文档
模型描述
该模型是一个 RoBERTa基础预训练模型,使用 BioLang数据集 中的英文生命科学领域科学文本示例,通过掩码语言建模任务进行了进一步训练。
预期用途和限制
如何使用
该模型的预期用途是针对下游任务进行微调,特别是标记分类任务。
限制和偏差
此模型应针对特定任务(如标记分类)进行微调。并且,模型必须与 roberta-base
分词器一起使用。
训练数据
该模型在 BioLang数据集 上通过掩码语言建模任务进行训练,该数据集包含从生命科学领域发表的论文中提取的 1200 万个摘要和图注示例。
训练过程
训练在配备 4 个 Tesla V100 GPU 的 NVIDIA DGX Station 上进行。
训练代码可在 https://github.com/source-data/soda-roberta 找到。
- 命令:
python -m lm.train /data/json/oapmc_abstracts_figs/ MLM
- 分词器词汇量:50265
- 训练数据:EMBO/biolang MLM
- 训练样本数:12005390
- 评估样本数:36713
- 训练轮数:3.0
per_device_train_batch_size
:16
per_device_eval_batch_size
:16
learning_rate
:5e-05
weight_decay
:0.0
adam_beta1
:0.9
adam_beta2
:0.999
adam_epsilon
:1e-08
max_grad_norm
:1.0
- TensorBoard 运行记录:lm-MLM-2021-01-27T15-17-43.113766
训练结束时的结果:
训练集: 'loss': 0.8653350830078125
验证集: 'eval_loss': 0.8192330598831177, 'eval_recall': 0.8154601116513597
评估结果
测试集评估结果:
召回率: 0.814471959728645
🔧 技术细节
- 训练硬件:NVIDIA DGX Station(4 个 Tesla V100 GPU)
- 训练代码仓库:https://github.com/source-data/soda-roberta
- 训练任务:掩码语言建模
- 分词器:
roberta-base
- 训练参数:如上述训练过程部分所述
📄 许可证
文档未明确提及许可证信息。
📋 信息表格
属性 |
详情 |
模型类型 |
基于 RoBERTa 基础预训练模型进一步训练的生物语言模型 |
训练数据 |
BioLang数据集,包含 1200 万个生命科学领域的英文科学文本示例 |