(self, config: ChatGLMConfig)
| 175 | class ChatGLMModel(Module): |
| 176 | |
| 177 | def __init__(self, config: ChatGLMConfig): |
| 178 | super().__init__() |
| 179 | self.chatglm_version = config.chatglm_version |
| 180 | norm_cls = RmsNorm if config.rmsnorm else LayerNorm |
| 181 | |
| 182 | self.vocab_embedding = Embedding(config.vocab_size, |
| 183 | config.hidden_size, |
| 184 | dtype=config.dtype) |
| 185 | |
| 186 | if config.chatglm_version == 'glm': |
| 187 | self.position_embedding = Embedding( |
| 188 | config.max_position_embeddings + 1, |
| 189 | config.hidden_size, |
| 190 | dtype=config.dtype, |
| 191 | ) |
| 192 | self.block_embedding = Embedding( |
| 193 | config.max_position_embeddings + 1, |
| 194 | config.hidden_size, |
| 195 | dtype=config.dtype, |
| 196 | ) |
| 197 | |
| 198 | self.layers = DecoderLayerList(ChatGLMDecoderLayer, config) |
| 199 | |
| 200 | self.ln_f = norm_cls( |
| 201 | normalized_shape=config.hidden_size, |
| 202 | eps=config.norm_epsilon, |
| 203 | elementwise_affine=True, |
| 204 | dtype=config.dtype, |
| 205 | ) |
| 206 | |
| 207 | def forward( |
| 208 | self, |
no test coverage detected