算法简介

通用NLP预测用来加载训练好的模型,对输入数据表进行预测,产出预测结果。该组件需要和其他组件组合使用,比方说可以和BERT文本分类,BERT文本匹配,BERT序列标注训练等组件组合。

可视化配置参数

【输入桩配置】

输入桩(从左到右) 限制数据类型 建议上游组件 是否必选
测试数据 odps 读数据表odps
模型输出checkpoint oss BERT训练组件,包括
BERT文本分类训练,
BERT文本匹配训练,
BERT序列标注训练等

【右侧参数表单】

image.png
参数设置:

参数名称 参数描述 取值类型 必选,默认值
第一文本列选择 第一个文本序列在输入格式中对应的列名 string类型 必选
第二文本列选择 第二个文本序列在输入格式中对应的列名 string类型 可选,默认为空,’’
输出列 选择输出数据中需要哪几个预测值 string类型,格式: featname1, featname2 可选,默认为’predictions’;该参数根据模型不同所填不同, 详细可以参照下面的对照表
预测概率截断 预测的概率截断阈值 double类型 可选,默认为无
附加列 用户输入表中添加到输出的列 string类型 可选,默认为空,’’
batchSize 特征提取批大小 int 可选,默认为256
使用自定义模型 是否使用自定义模型 是/否 默认否,自动拉取连接的组件的导出模型,否则需要手动填写导出模型地址

outputSchema与模型对应表:

  • textclassify[bert|textcnn], textmatch[bert|bert_two_tower|dam|dam_plus|bicnn|hcnn]可输出的字段
    • predictions,对单标签模型而言,输出相应类型的id,其中id与训练时的labelEnumerateValue顺序对应;对于多标签而言,输出multi-hot的向量,逗号分隔
    • probabilities,输出每一个类的概率,逗号分隔
    • logits,输出每一个类的概率,逗号分隔

执行调优:

参数名称 参数描述 取值类型 必选,默认值
指定Worker数 worker的数量 int 可选,默认为3个Worker
指定Worker的GPU卡数 每个worker的GPU卡数 int 可选,标识是否使用GPU。默认是2张卡
指定Worker的CPU卡数 每个worker的CPU核数 int 可选,标识是否使用GPU。默认是4张卡。
分布式策略 定义分布式策略 MirroredStrategy
或者:
ExascaleStrategy
必须,单机单卡或者单机多卡选
MirroredStrategy
多机多卡选ExascaleStrategy

【输出桩配置】

输出桩 限制数据类型 建议下游组件 是否必选
结果数据 odps 写odps数据表

支持计算资源


【MaxCompute】

具体示例

image.png
参考以上工作流示例,创建工作流,新建两个输入组件:

  • 读数据表组件,对应预测数据
  • 训练组件:需要和其他组件组合使用,候选组件为:BERT文本分类训练,BERT文本匹配训练,和BERT序列标注训练

将两个输入组件和模型组件连接,运行即可获得结果。