核心框架设计
更新时间:2022-07-05
文心核心框架设计
文心的核心设计是将数据处理(Reader)、网络(Model)、控制流(Trainer)三大部分封装起来,统一调度。封装底层复杂逻辑细节,简化操作逻辑,操作代码行数更少,让开发更高效。
核心框架结构如下图所示:每一个Task使用统一的处理脚本,构造一个Trainer实例,一个Trainer实例中包含一个Reader和Model的实例,Reader实例负责读取明文数据集并将其处理为飞桨可用的Tensor结构;Model实例负责构建神经网络、确定模型指标计算。Trainer实例在train方法(模型训练)中启动一个循环,不断的调用Reader获取数据、然后将数据传递到Model的网络结构中进行计算,并根据用户对模型评估频率和保存频率参数的设置,在指定的时机进行模型评估和模型保存,直到整个训练任务结束。