配置模型
ESM2DataConfig
基类:DataConfig[ESMDataModule]
ESM2DataConfig 是用于设置 ESM2 预训练数据模块的配置类。
ESM2DataModule 实现了 ESM2 出版物中定义的面向集群的采样方法。
属性
名称 | 类型 | 描述 |
---|---|---|
train_cluster_path |
路径
|
训练集群数据的路径。 |
train_database_path |
路径
|
训练数据库的路径。 |
valid_cluster_path |
路径
|
验证集群数据的路径。 |
valid_database_path |
路径
|
验证数据库的路径。 |
micro_batch_size |
int
|
微批次的大小。默认为 8。 |
result_dir |
str
|
用于存储结果的目录。默认为“./results”。 |
min_seq_length |
int
|
最小序列长度。默认为 128。 |
max_seq_length |
int
|
最大序列长度。默认为 128。 |
random_mask_strategy |
RandomMaskStrategy
|
随机掩码策略。默认为 RandomMaskStrategy.ALL_TOKENS。 |
num_dataset_workers |
int
|
数据集的工作线程数。默认为 0。 |
方法
名称 | 描述 |
---|---|
construct_data_module |
int) -> ESMDataModule:构建并返回具有提供的全局批次大小的 ESMDataModule 实例。 |
源代码位于 bionemo/esm2/run/config_models.py
39 40 41 42 43 44 45 46 47 48 49 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 115 116 117 118 119 120 |
|
construct_data_module(global_batch_size)
构建并返回具有提供的全局批次大小的 ESMDataModule 实例。
此方法提供了构建数据模块的方法,应在此处获取 DataModule 的任何先决条件。例如,分词器、预处理可能需要在此方法中实现。
参数
名称 | 类型 | 描述 | 默认 |
---|---|---|---|
global_batch_size
|
int
|
数据模块的全局批次大小。全局批次大小必须是并行设置和 |
必需 |
源代码位于 bionemo/esm2/run/config_models.py
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 |
|
ExposedESM2PretrainConfig
基类:ExposedModelConfig[ESM2Config]
用于 ESM2 预训练的配置类,带有选择的公开参数。
有关基类的属性和方法,请参阅继承的 ExposedModelConfig。使用此类作为自定义配置的模板或扩展。重要的是,此类应执行两项操作:选择要向用户公开的属性,以及提供任何属性的验证和序列化。
属性
名称 | 类型 | 描述 |
---|---|---|
use_esm_attention |
bool
|
用于跳过 ESM2 自定义注意力以进行 TE 加速的标志。默认为 False。 |
token_dropout |
bool
|
用于启用令牌 dropout 的标志。默认为 True。 |
normalize_attention_scores |
bool
|
用于标准化注意力分数的标志。默认为 False。 |
variable_seq_lengths |
bool
|
用于启用可变序列长度的标志。默认为 False。 |
core_attention_override |
Optional[Type[Module]]
|
核心注意力模块的可选覆盖。默认为 None。 |
方法
名称 | 描述 |
---|---|
restrict_biobert_spec_to_esm2 |
BiobertSpecOption) -> BiobertSpecOption:验证 BiobertSpecOption 以确保其与 ESM2 兼容。 |
serialize_core_attention_override |
Optional[Type[torch.nn.Module]]) -> Optional[str]:将核心注意力覆盖模块序列化为字符串。 |
validate_core_attention_override |
验证核心注意力覆盖模块,确保它是 torch.nn.Module 的子类。 |
validate_and_set_attention_and_scaling |
根据 biobert_spec_option 验证并设置注意力和缩放参数。 |
model_validator |
MainConfig) -> MainConfig:验证全局配置,确保与 ESM2DataConfig 和并行设置兼容。 |
model_class |
返回与此配置关联的模型类。 |
源代码位于 bionemo/esm2/run/config_models.py
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 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 |
|
model_class()
返回与此配置关联的模型类。
源代码位于 bionemo/esm2/run/config_models.py
223 224 225 |
|
model_validator(global_cfg)
验证全局配置,确保与 ESM2DataConfig 和并行设置兼容。
全局验证器作用于 MainConfig,这会将 ESM2DataConfig 与 ESM2PretrainingConfig 耦合在一起。此外,它还为序列长度和并行设置提供验证。
参数
名称 | 类型 | 描述 | 默认 |
---|---|---|---|
global_cfg
|
MainConfig
|
全局配置对象。 |
必需 |
源代码位于 bionemo/esm2/run/config_models.py
198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 |
|
serialize_core_attention_override(value)
将核心注意力覆盖模块序列化为字符串。
源代码位于 bionemo/esm2/run/config_models.py
158 159 160 161 162 163 |
|
validate_and_set_attention_and_scaling()
根据 biobert_spec_option 验证并设置注意力和缩放参数。
源代码位于 bionemo/esm2/run/config_models.py
182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 |
|
validate_core_attention_override(value)
验证核心注意力覆盖模块,确保它是 torch.nn.Module 的子类。
源代码位于 bionemo/esm2/run/config_models.py
165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 |
|