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