BLOOM: A 176B-Parameter Open-Access Multilingual Language Model
BigScience
arxiv.org/abs/2211.05100
Мы уже много говорили про BigScience и BLOOM и вот наконец-то вышла статья со всеми деталями включая особенности архитектуры, тренировки и то как модель эвалюировали.
Интересно насколько сильно мир больших моделей изменился за последний год. Если после релиза T0 я совершенно не знал как запихать 11B для инференса в 4 V100, сейчас совершенно без проблем инферить 30B (в int8) всего с двумя 3090, а 11B помещается и в одну. И мне кажется BigScience оказал огромное косвенное влияние на развитие как коммьюнити тренирующего большие модели, так и тулз вокруг них: DeepSpeed, Accelerate, Megatron, bitsandbytes, ...
Но давайте про интересные моменты:
1. ROOTS (статья) — корпус на 1.6Tb текста на котором тренировали модель он разбит на датасеты по языкам и доменам и доступен на 🤗 Datasets
1. Архитектура (статья) — Decoder-only transformer, ALiBi positional embeddings, embedding LayerNorm. Нормализация эмбеддингов сильно помогает стабильности тренировки (в fp16). Токенизация делалась с помощью BPE и словать оптимизировали под fertility токенизатора для всех языков.
1. Тренировка: bfloat16 (сильно улучшает стабильность), 3D parallelism, cosine scheduler, lr=6e-5, beta2=0.95, batch size=2048.
1. Environment impact (статья) — тренировка GPT-3 выработала порядка 500 тонн CO2, тренировка BLOOM — 25. Это стало возможно благодаря более современным GPU, эффективным методам параллелизации и, самое главное, атомной электростанции которая питает суперкомьютер Jean Zay.
В общем статья BLOOM неплохо суммаризирует результаты BigScience и на удивление не очень большая (42 страницы). Рекомендую пройтись по ней и почитать те главы что вам интересны.
С моделькой можно поиграться в Spaces или запустить её локально. Веса модели в fp32 (?) занимают 360Гб. Вот тут гайд по использованию int8 в трансформерах. С ними вы можете запустить модель хоть на картошке, но если у вас меньше 300Гб GPU RAM будет считаться довольно медленно.
Post #1428
4.04K

- 👍 10
- 🔥 2