AxiomAI-1.0 / AI.py
yannyoper's picture
Upload 2 files
cf6354c verified
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, # Размер словаря (как в оригинальном T5)
d_model=1024, # Размерность скрытого слоя
d_kv=128, # Размерность ключей/значений в attention
num_heads=32, # Количество голов внимания
num_layers=24, # Количество слоёв в encoder и decoder
d_ff=16384, # Размерность feed‑forward слоя
dropout_rate=0.1, # Вероятность dropout
feed_forward_proj="gated-gelu", # Тип проекции (T5 v1.1 использует gated‑GELU)
tie_word_embeddings=False, # Не связываем входные и выходные эмбеддинги (обычно False для T5)
# Дополнительные параметры можно оставить по умолчанию
)
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")
# model.save_pretrained("./t5-3b-random") # раскомментировать для сохранения весов (около 12 ГБ)
print("Конфигурация сохранена в папку ./t5-3b-config")