掩码
BertMaskConfig
dataclass
用于在 BERT 风格模型中掩码令牌的配置。
属性
名称 | 类型 | 描述 |
---|---|---|
mask_prob |
float
|
掩码令牌的概率。 |
mask_token_prob |
float
|
用掩码令牌替换被掩码令牌的概率。 |
random_token_prob |
float
|
用随机令牌替换被掩码令牌的概率。 |
源代码在 bionemo/llm/data/masking.py
中
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
__post_init__()
检查 mask_token_prob
和 random_token_prob
的总和是否小于或等于 1.0。
引发
类型 | 描述 |
---|---|
ValueError
|
如果 |
源代码在 bionemo/llm/data/masking.py
中
40 41 42 43 44 45 46 47 |
|
add_cls_and_eos_tokens(sequence, labels, loss_mask, cls_token=None, eos_token=None)
将 CLS 令牌前置,并将 EOS 令牌附加到掩码序列,更新损失掩码和标签。
这些标签永远不应被掩码,因此这是在掩码步骤之后完成的。
参数
名称 | 类型 | 描述 | 默认 |
---|---|---|---|
sequence
|
Tensor
|
输入(可能是掩码的)序列。 |
必需 |
labels
|
Tensor
|
掩码位置处输入序列的真值。 |
必需 |
loss_mask
|
Tensor
|
一个布尔张量,指示哪些令牌应包含在损失中。 |
必需 |
cls_token
|
int | None
|
用于 CLS 令牌的令牌。如果为 None,则不添加 CLS 令牌。 |
None
|
eos_token
|
int | None
|
用于 EOS 令牌的令牌。如果为 None,则不添加 EOS 令牌。 |
None
|
返回
类型 | 描述 |
---|---|
tuple[Tensor, Tensor, Tensor]
|
相同的输入张量,其中添加了 CLS 和 EOS 令牌,并且标签和 loss_mask 相应地更新。 |
源代码在 bionemo/llm/data/masking.py
中
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
|
apply_bert_pretraining_mask(tokenized_sequence, random_seed, mask_config)
将预训练掩码应用于令牌化序列。
参数
名称 | 类型 | 描述 | 默认 |
---|---|---|---|
tokenized_sequence
|
Tensor
|
令牌化的蛋白质序列。 |
必需 |
random_seed
|
int
|
用于可重复性的随机种子。 |
必需 |
mask_config
|
BertMaskConfig
|
用于在 BERT 风格模型中掩码令牌的配置。 |
必需 |
返回
名称 | 类型 | 描述 |
---|---|---|
masked_sequence |
Tensor
|
令牌化的序列,其中某些令牌被掩码。 |
labels |
Tensor
|
与 |
loss_mask |
Tensor
|
与 |
源代码在 bionemo/llm/data/masking.py
中
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 |
|