UnpadOperation
功能
对于输入input_ids,把所有有效的token拼接在一起,并在最后补0。
定义
struct UnpadParam {};
输入
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
input_ids |
[batch, max_seq_len] |
int64 |
ND |
输入tensor:经过pad(末尾填充0)之后,batch个token id序列。 |
cum_offsets_now |
[batch, 1] |
int32 |
ND |
输入tensor:每个batch末尾填充0的数量组成的序列的前缀和。 |
token_num |
[1, 1] |
int64 |
ND |
输入tensor:有效token数量总和。 |
seq_len |
[batch, 1] |
int32 |
ND |
输入tensor:每个batch中的有效token数量。 |
输出
参数 |
维度 |
数据类型 |
格式 |
描述 |
---|---|---|---|---|
x_remove_padding |
[1, batch * max_seq_len] |
int64 |
ND |
输出tensor:从input_ids中去除填充的0后得到的有效token序列(为了保持shape,在末尾填充0)。 |
cum_offsets_out |
[batch, 1] |
int32 |
ND |
输出tensor:去除cum_offsets_now最后一个batch的数值,再将其整体后移一个batch,并将第一个batch的值置为0。 |
padding_offset |
[1, batch * max_seq_len] |
int32 |
ND |
输出tensor:由seq_len和cum_offsets_out组合计算得到。 |