(self, params)
| 263 | |
| 264 | class Transformer(nn.Module): |
| 265 | def __init__(self, params): |
| 266 | super().__init__() |
| 267 | self.params = params |
| 268 | self.vocab_size = params.vocab_size |
| 269 | self.n_layers = params.num_hidden_layers |
| 270 | |
| 271 | self.embed_tokens = nn.Embedding(params.vocab_size, params.hidden_size) |
| 272 | |
| 273 | self.layers = torch.nn.ModuleList() |
| 274 | for layer_id in range(params.num_hidden_layers): |
| 275 | self.layers.append(TransformerBlock(layer_id, params)) |
| 276 | |
| 277 | self.norm = RMSNorm(params.hidden_size, eps=params.rms_norm_eps) |
| 278 | |
| 279 | self.freqs_cis = precompute_freqs_cis( |
| 280 | self.params.hidden_size // self.params.num_attention_heads, |
| 281 | self.params.max_position_embeddings * 2, |
| 282 | ) |
| 283 | |
| 284 | @torch.inference_mode() |
| 285 | def forward(self, tokens: torch.Tensor, start_pos: int): |
nothing calls this directly
no test coverage detected