Семён большой фанат мультсериала «Трансформеры». Ему хочется узнать буквально все, что связано с его любимыми героями. И Семён решил поступить соответствующе, а именно: использовать силу искусственного интеллекта, чтобы найти любые упоминания своих друзей в самых разных текстах. К счастью, Семён уже давно изучает вселенную роботов, и у него накопилось достаточно данных, чтобы создать собственного трансформера!
Для начала он решил обучить совсем простую нейросеть: первый слой — это эмбеддинги, затем идет блок Multi-Head Attention, а в конце — Linear слой для классификации десяти наиболее важных тем. Максимальная длина последовательности, которую сможет обработать модель, равна 128 токенам, а размер словаря равен 1024. Семён решил, что embed_dim
будет равен 64, а bias
нужен только в последнем слое сети.
Однако Семён не был уверен, сможет ли его обыкновенный компьютер справиться с обучением даже такой простой сети. Чтобы хоть как-то оценить свои возможности, он решил посчитать количество обучаемых параметров в сети и быстро справился с задачей.
А вы сможете?
Формат вывода
Единственное число −− число обучаемых параметров модели.
Примечания
В подобных архитектурах помимо обычного блока эмбеддингов почти всегда используются и дополнительные −− для кодирования позиции слова. Как ни странно, называются они позиционными. Семён решил сделать их обучаемыми и складывать с эмбеддингами токенов.