BERT文本向量化(MaxCompute)

更新时间: 2023-10-31 13:56:08

BERT文本向量化(MaxCompute)是以原始文本作为输入,系统提取特征后输出一个向量序列。您还可以将CLS输出的向量经过Dense后的向量作为整个句子的句向量。本文为您介绍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文本分析组件不同,计费详情请参见Designer(原PAI-Studio)计费说明中的深度学习组件部分

组件配置

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

方式一:可视化方式

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~512

128

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

阿里云首页 人工智能平台 PAI 相关技术圈