BERT文本向量化(MaxCompute)是以原始文本作为输入,系统提取特征后输出一个向量序列。您还可以将CLS输出的向量经过Dense后的向量作为整个句子的句向量。本文为您介绍PAI-Designer提供的BERT文本向量化。

BERT文本向量化(MaxCompute)组件以原始文本作为输入,端到端输出经过BERT后的向量。注意在使用前必须开通MaxCompute资源组,并且使用GPU。1
  • pool_output :图中的C’,即对句子进行编码后的向量。
  • first_token_output:图中的C。
  • all_hidden_outputs:图中的[C, T, T, …, TN, TSEP]
BERT文本向量化组件拥有以下特性:
  • 命令简单,最短只需要4个PAI命令参数。
  • MaxCompute表端到端输出,输入原始数据,输出向量,仅需指定输出表名。
  • 支持对输入表中字段添加到输出表中。

价格说明

本组件调用GPU计算资源,收费标准与基础NLP文本分析组件不同,计费详情请参见PAI-Designer(原PAI-Studio)计费说明中的深度学习组件部分

组件配置

您可以使用以下任意一种方式,配置BERT文本向量化(MaxCompute)组件参数。

方式一:可视化方式

在PAI-Designer工作流页面配置组件参数。
页签参数描述
字段设置第一文本列选择选择第一列文本的输出字段。
第二列文本列选择选择第二列文本的输出字段。
附加列选择附加列文本的输出字段。
参数设置batchSize默认值为256
sequenceLength默认值为128
输出向量选项支持pool_outputfirst_token_outputall_hidden_outputs
模型选择支持pai-bert-base-zhpai-bert-small-zhpai-bert-large-zh
执行调优指定Worker数支持输入1234
指定Worker的GPU卡数支持输入12
指定Worker的CPU卡数默认值为1

方式二:PAI命令方式

使用PAI命令方式,配置该组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见SQL脚本
PAI -name ez_bert_feat_ext
    -DinputTable=odps://{project}/tables/{表名}
    -DoutputTable=odps://{project}/tables/{表名}
    -DfirstSequence=col0
    -DsecondSequence=''
    -DappendCols=co1,col2,col0
    -DoutputSchema=pool_output,first_token_output,all_hidden_outputs
    -DsequenceLength=128
    -DmodelName=pai-bert-base-zh
    -DbatchSize=100
    -DworkerCount=1
    -DworkerCPU=1
    -DworkerGPU=1
    -Dbuckets=oss://atp-modelzoo/tmp/?role_arn=${role_arn}&host=oss-cn-hangzhou.aliyuncs.com
参数名称是否必选描述默认值
inputTable输入待特征提取文本表格。STRING类型,格式为project.table
outputTable输出特征表格。STRING类型,格式为project.table
firstSequence第一个文本序列在输入格式中对应的列名。STRING类型。
secondSequence第二个文本序列在输入格式中对应的列名。STRING类型。默认为空。
appendCols用户输入表中添加到输出的列。STRING类型。默认为空。
outputSchema选择输出数据中需要哪几个特征。STRING类型。'pool_output’ ,’pool_output,first_token_output,all_hidden_outputs'(支持选择多个特征)
sequenceLength序列整体最大长度。INT类型。范围为1~512128
modelName预训练模型名。STRING类型。pai-bert-base-zh
batchSize特征提取批大小。STRING类型。256
workerCount指定Worker数。INT类型。1个Worker
workerGPU指定Worker的GPU卡数,标识是否使用GPU。INT类型。1张卡
workerCPU指定Worker的CPU卡数,标识是否使用CPU。INT类型。1张卡
buckets用于指定算法将要读取的OSS Bucket。
与其他MaxCompute的IO不同,使用OSS需要配置role_arnhost