Доступность SLM: обучение на RTX 5050
Разработка Small Language Models (SLM) перестала быть прерогатой корпораций с дата-центрами. Автор проекта успешно реплицировал подход из исследования TinyStories (arXiv:2305.077), обучив нейросеть с нуля на базе репозитория nanoGPT от Андрея Карпаты. Ключевое достижение — использование потребительской видеокарты NVIDIA GeForce RTX 5050 с 8 ГБ VRAM. Это доказывает, что создание базовых языковых моделей теперь доступно энтузиастам и стартапам без облачных затрат.
Метрики и производительность
Эксперимент проводился на датасете TinyStories (900 млн токенов). Автор протестировал два сценария обучения, используя библиотеку Optuna для автоматической оптимизации гиперпараметров (размер эмбеддинга, количество голов внимания, learning rate и dropout). Результаты демонстрируют высокую эффективность даже при частичном проходе по данным (22% эпохи):
| Параметр | Быстрый эксперимент | Оптимизированный эксперимент |
|---|---|---|
| Количество итераций | 20,000 | 50,000 |
| Время обучения | ~1 час | ~3 часа |
| Обработано токенов | ~81.6 млн | ~204 млн (22% эпохи) |
| Размер модели | 1M – 33M параметров | |
Архитектурные особенности
Модель построена на базе архитектуры GPT с использованием токенизатора GPT-2 (tiktoken). Ключевые технические решения включали:
- Блок трансформера: 6 слоев, каждый из которых содержит LayerNorm, механизм CausalSelfAttention и MLP.
- Внимание (Attention): 6 параллельных голов внимания. Размер эмбеддинга (384) делился на 6 голов, давая 64 измерения на голову. Использовалось ручное каузальное маскирование и автоматическое включение Flash Attention (при поддержке PyTorch 2.0+).
- Обучение: Градиентная аккумуляция за 32 шага перед обновлением весов. Оценка потерь проводилась каждые 500 итераций на 100 батчах.
- Размер батча: 32 последовательности по 128 токенов (всего 4,096 токенов на итерацию).
Зачем нужны SLM?
Сдвиг в сторону малых моделей обусловлен не только экономией, но и специфическими преимуществами для edge-устройств и приватности:
- Скорость и задержка: Мгновенный инференс, идеальный для чат-ботов в реальном времени.
- Экономика: Кратное снижение затрат на вычисления, энергию и память.
- Приватность: Возможность локального запуска без отправки данных в облако.
- Специализация: Высокая точность на узких задачах благодаря фокусировке на меньшем объеме данных.
Доступность кода и моделей
Готовые модели различных размеров (TinyStories-1M, 3M, 9M, 28M, 33M) уже доступны на Hugging Face. Автор подчеркивает, что даже использование бесплатного GPU T4 в Jupyter Notebook позволяет достичь сопоставимых результатов, что делает этот стек технологий идеальной точкой входа для изучения архитектуры LLM.
Источник: Towards AI pub ↗
