| | import torch |
| | from transformers import T5Config, T5ForConditionalGeneration |
| |
|
| | def create_t5_3b_model(vocab_size: int = 32128) -> T5ForConditionalGeneration: |
| | """ |
| | Создаёт encoder-decoder модель T5 с ~3 миллиардами параметров. |
| | Параметры взяты из официальной спецификации T5-3B (v1.1). |
| | """ |
| | config = T5Config( |
| | vocab_size=vocab_size, |
| | d_model=1024, |
| | d_kv=128, |
| | num_heads=32, |
| | num_layers=24, |
| | d_ff=16384, |
| | dropout_rate=0.1, |
| | feed_forward_proj="gated-gelu", |
| | tie_word_embeddings=False, |
| | |
| | ) |
| | model = T5ForConditionalGeneration(config) |
| | return model |
| |
|
| | if __name__ == "__main__": |
| | |
| | model = create_t5_3b_model() |
| | |
| | |
| | num_params = model.num_parameters() |
| | print(f"Модель содержит {num_params:,} параметров.") |
| | |
| | |
| | model.config.save_pretrained("./t5-3b-config") |
| | |
| | print("Конфигурация сохранена в папку ./t5-3b-config") |