方便使用,支持多模态,多任务的统一训练框架
能力列表:
- bert + 分类任务
- 自定义任务训练(插件注册)
框架采用分层的**组织模型训练流程。
- DATA 层负责读取用户数据,根据 field 管理数据。
- Parser 层负责转换原始数据为模型的输入。
- MODEL 层为模型层,具体由表示层(REPRESENTATION)和任务层(TASK)组成。
- 表示层用于抽取数据的高维特征,框架里内置了一些成熟实现(包括bert、NeXtVLAD等)。
- 任务层用于拟合具体的训练任务,框架里提供一些默认实现(包括分类任务等),用户也可以根据训练任务,自定义任务模型。
- 任务层可用于实现多任务训练。
- 框架通过配置文件组合 DATA、Parser、MODEL、Optimizer、Scheduler,构建具体的训练流程。
- 框架还内置了成熟的组件模块(Module),包括 Metrics、Loss、Layer 等,供用户选择使用。
详细可参考文档
参考文档
cd examples/base_bert_cls_mac
sh train.sh
sh eval.sh
sh predict.sh
模型训练任务被拆分为三步,每个步骤可以独立运行:
任务执行均依赖配置文件,详细介绍可参考文档
若框架默认实现无法满足需求,也可以实现自定义插件,详细介绍可参考文档
如果你有好的意见或建议,欢迎给我们提 Issues 或 Pull Requests,为蓝鲸开源社区贡献力量。关于标准运维分支管理、Issue 以及 PR 规范, 请阅读 Contributing Guide。