Архив рубрики ~Лента новостей~

Найдите идеальный баланс размера модели и размера набора данных при фиксированном бюджете для студентов магистратуры права

Найдите идеальный баланс размера модели и размера набора данных при фиксированном бюджете для студентов магистратуры права

Небольшое исследование с использованием крошечных трансформеров

Делиться

bc2cd90db9a3a0eb732c9411b990e901

Введение

При обучении больших языковых моделей (LLM) мы постоянно ограничены бюджетом. Это ограничение приводит к фундаментальному компромиссу: представьте, что если вы фиксируете вычислительный бюджет, увеличение размера модели означает необходимость уменьшения размера модели, на которой можно обучать, и наоборот. Итак, вы задаёте вопрос:

Стоит ли выделить больше ресурсов модели с большим количеством параметров или обучить ее на большем количестве данных?

В частности, производительность и эффективность LLM во многом зависят от этого компромисса. Поэтому крайне важно найти оптимальный баланс между количеством параметров модели и количеством используемых токенов.

Общее время обучения трансформатора приблизительно масштабируется как: C∝N×D, где

  • N — количество параметров модели.
  • D — количество токенов.
  • C — фиксированный бюджет вычислений.

Легко видеть, что при фиксированном C, N и D обратно пропорциональны друг другу.

Предыдущие исследования (Каплан и др., 2020; Хоффман и др., 2022) показали, что потери при обучении моделей машинного обучения подчиняются степенному закону с вычислением: L(C)∝C^{−α}, а оптимальный размер модели и размер набора данных масштабируются с вычислением как: N_opt∝C^a, D_opt∝C^b для некоторых положительных значений a и b.

В этой статье мы будем использовать крошечные Трансформеры, чтобы изучить, как сбалансировать N и D при фиксированном вычислительном C.

Установка эксперимента

Мы проектируем минимальную модель трансформатора и называем ее «крошечным трансформатором» со следующими настраиваемыми свойствами, которые влияют на размер параметров модели:

  • Размерность модели (d_model)
  • Измерение MLP (d_mlp)
  • Количество слоев (n_layers​)

Мы хотели бы обучить преобразователь различных конфигураций на токенизированных последовательностях длиной 64 из набора данных WikiText-2.

Чтобы изучить эффект масштабирования, мы определили сетку моделей от очень маленьких (16 скрытых единиц, 1 слой) до относительно больших (128 скрытых единиц, 4 слоя) и объединили их с диапазоном токенов от 5 тыс. до 1 млн. См. код ниже:

model_configs = [ {«d_model»: 16, «d_mlp»: 64, «n_layers»: 1}, {«d_model»: 24, «d_mlp»: 96, «n_layers»: 1}, {«d_model»: 32, «d_mlp»: 128, «n_layers»: 2}, {«d_model»: 48, «d_mlp»: 192, «n_layers»: 2}, {«d_model»: 64, «d_mlp»: 256, «n_layers»: 3}, {«d_model»: 96, «d_mlp»: 384, «n_layers»: 3}, {«d_model»: 128, «d_mlp»: 512, «n_layers»: 4}, ] # количество токенов (D), на которых мы обучаемся — симулируется в несколько шагов × batch × seq_len token_budgets = [5e3, 1e4, 3e4, 5e4, 1e5, 3e5, 5e5, 1e6] # small for demo

Приблизительно оценивая стоимость вычислений как C≈N×D, наша идея состоит в том, чтобы вычислить функцию потерь для каждой пары (N,D) и найти пару (N,D), с которой модель достигает минимальной функции потерь для заданного C: это и есть баланс, который мы ищем.

Реализация и наблюдения

Мы используем код ниже для обучения модели фиксированному количеству шагов с различными парами (N,D) и записываем результат.

results = [] device = «cuda» if torch.cuda.is_available() else «cpu» for cfg in model_configs: model = TinyTransformer(vocab_size=len(tokenizer), **cfg) N_params = count_params(model) for D in token_budgets: steps = int(D // (SEQ_LEN * 16)) # предполагая, что batch_size=16 dataloader = DataLoader( tokenized_dataset[«train»].shuffle(seed=0), batch_size=16, collate_fn=collate_fn ) avg_loss = train_one(model, dataloader, steps=steps, device=device) compute = N_params * D results.append({ «N»: N_params, «D»: D, «C»: compute, «loss»: avg_loss })

Затем мы строим график окончательной потери в зависимости от вычисления (N×D):

У нас есть следующие важные наблюдения:

  1. При небольшом бюджете вычислительных ресурсов небольшие модели, обученные на большинстве доступных данных, работают лучше, чем более крупные модели, обученные на очень небольшом количестве данных.
  2. При больших вычислительных бюджетах более крупные модели оказываются более эффективными, если доступно достаточно данных.
  3. Оптимальный размер модели не растёт линейно с увеличением вычислительного бюджета. Например, удвоение вычислительного бюджета не приводит к увеличению оптимального количества параметров вдвое.

На графике ниже показана эффективная граница для разных размеров моделей, то есть набор размеров моделей, которые имеют наименьшие потери для заданного вычисления.

«Лучшая» модель

Чтобы определить «лучшую» модель, мы бы выбрали пару размера модели и количества токенов, которая минимизирует потери при фиксированном бюджете.

Мы предполагаем, что оба показателя подчиняются степенному закону: N_opt∝C^α, D_opt∝C^β, и мы хотели бы оценить неизвестные показатели α и β, выполнив следующие шаги:

  1. Возьмем логарифм величин: log?(N_opt)=αlog?(C)+const, log?(D_opt)=βlog?(C)+const.
  2. Подберите линейную регрессию. Наклон регрессии — это не что иное, как показатель степени.

Следующий код дает такую ​​регрессию:

# Подгонка логарифмической линейной регрессии a_slope, a_intercept, *_ = st.linregress(np.log(frontier.C), np.log(frontier.N)) b_slope, b_intercept, *_ = st.linregress(np.log(frontier.C), np.log(frontier.D))

В нашем пробном эксперименте мы обнаружили, что N_opt ~C^0,14, а D_opt ~C^0,86. Этот результат может не отражать всей картины, поскольку эксперимент проводился на упрощённой модели и конфигурациях. Но мы всё же видим, что рост вычислительной мощности приводит к увеличению оптимального размера модели, но с убывающей скоростью. Очевидно, что оставшийся бюджет следует отнести на увеличение количества обучающих токенов.

Более того, приведённые выше расчёты показывают, что наилучшее соотношение N_opt/D_opt = C^-0,72. Это означает, что при увеличении вычислительной мощности следует добавлять больше обучающих токенов, а не увеличивать размер модели.

Практические выводы

Из этого эксперимента, хотя он и игрушечный, мы можем извлечь несколько выводов:

  1. При фиксированном бюджете использование средней модели с большим объемом данных может превзойти очень большую модель с ограниченным объемом данных.
  2. Оптимальный размер модели и объём данных растут по мере роста вычислений. Не обучайте модель с большим количеством параметров, если у вас небольшой бюджет.
  3. При увеличении бюджета сначала рассмотрите оптимальное соотношение N_opt/D_opt, чтобы определить, следует ли увеличивать размер модели или добавлять больше обучающих данных.

Заключение

В этой публикации блога мы представляем исследование компромисса между размером модели и объёмом данных при фиксированном вычислительном бюджете для LLM в рамках модели. Эксперимент показывает, что мы можем найти оптимальное сочетание размера модели и количества токенов для достижения наилучшей производительности модели при заданном бюджете, что позволяет исследователям и практикам грамотно проектировать LLM и достигать наилучших результатов.

Ссылка

[1] Каплан, Дж., Маккэндлиш, С., Хениган, Т., Браун, Т.Б., Чесс, Б., Чайлд, Р., Грей, С., Рэдфорд, А., Ву, Дж. и Амодеи, Д. (2020). Законы масштабирования для нейронных языковых моделей.

[2] Хоффманн Дж., Боржо С., Менш А., Бучацкая Э., Кай Т., Резерфорд Э., де Лас Касас Д., Хендрикс Л.А., Уэлбл Дж., Кларк А., Хенниган Т., Ноланд Э., Милликан К., ван ден Дриссе Г., Дамок Б., Гай А., Осиндеро С., Симонян К., Элсен Э.,… Сифре Л. (2022). Обучение вычислительно-оптимальных моделей большого языка.

Источник: towardsdatascience.com

Оцените материал:

Поделиться
Понравилась статья? Расскажите другим
ВКонтакте
Читайте также
Новости робототехники Sonair представляет собой «первый в мире», сертифицированный по безопасности ультразвуковой 3D-датчик для совместной работы человека и робота. Новости робототехники Первые американские беспилотные наземные транспортные средства участвуют в боевых действиях на Украине. Архив рубрики ~Коротко из Telegram~ Инструменты недели 🧪 ChatPlayground запускает ChatGPT, Claude, Gemini и многое другое на… Новости робототехники Ubtech показала U1 Ultra — андроида с порами, эмоциями и… Архив рубрики ~Обо всем~ Учёные собрали клетку с нуля — она ест, растёт и… Архив рубрики ~Коротко из Telegram~ OpenReel — бесплатный браузерный CapCut без лимитов и вотермарок OpenReel… Архив рубрики ~Коротко из Telegram~ GitHub решил вернуть код на болванки GitHub запускает Repo CD… Архив рубрики ~Коротко из Telegram~ Tencent Hunyuan ускоряет генерацию картинок в 10 раз Команда Tencent… Новости робототехники Boston Dynamics привозит своих роботов на ноги на чемпионат мира по футболу ИИ-помощник для юристов: как искусственный интеллект меняет правовую индустрию Архив рубрики ~Обо всем~ От пламени прошлого — до сверхсовременных дальнобойных фонарей: история света, часть-1 Новости робототехники Quantum Systems инвестирует 1,2 миллиарда долларов на расширение производства и развития дронов Новости робототехники Почему бионика застряла между лабораторией и жизнью Новости робототехники Дайджест ИИ: миллиардное IPO, рекорды венчура и суровая реальность дефицита ИИ-инфраструктуры Новости робототехники Sonair представляет собой «первый в мире», сертифицированный по безопасности ультразвуковой 3D-датчик для совместной работы человека и робота. Новости робототехники Первые американские беспилотные наземные транспортные средства участвуют в боевых действиях на Украине. Архив рубрики ~Коротко из Telegram~ Инструменты недели 🧪 ChatPlayground запускает ChatGPT, Claude, Gemini и многое другое на… Новости робототехники Ubtech показала U1 Ultra — андроида с порами, эмоциями и… Архив рубрики ~Обо всем~ Учёные собрали клетку с нуля — она ест, растёт и… Архив рубрики ~Коротко из Telegram~ OpenReel — бесплатный браузерный CapCut без лимитов и вотермарок OpenReel… Архив рубрики ~Коротко из Telegram~ GitHub решил вернуть код на болванки GitHub запускает Repo CD… Архив рубрики ~Коротко из Telegram~ Tencent Hunyuan ускоряет генерацию картинок в 10 раз Команда Tencent… Новости робототехники Boston Dynamics привозит своих роботов на ноги на чемпионат мира по футболу ИИ-помощник для юристов: как искусственный интеллект меняет правовую индустрию Архив рубрики ~Обо всем~ От пламени прошлого — до сверхсовременных дальнобойных фонарей: история света, часть-1 Новости робототехники Quantum Systems инвестирует 1,2 миллиарда долларов на расширение производства и развития дронов Новости робототехники Почему бионика застряла между лабораторией и жизнью Новости робототехники Дайджест ИИ: миллиардное IPO, рекорды венчура и суровая реальность дефицита ИИ-инфраструктуры