Как много языковые модели действительно запоминают? Новый подход Meta к определению емкости модели на уровне бит
Введение: Проблема запоминания в языковых моделях
Современные языковые модели вызывают все больше вопросов относительно их способности к запоминанию. Модели с миллиардами параметров, обученные на триллионах токенов, ставят под сомнение, действительно ли они запоминают свои обучающие данные таким образом, который имеет реальную ценность. Традиционные методы, такие как извлечение данных и проверка на принадлежность, зачастую не могут четко разделить запоминание и обобщение.
Ограничения существующих подходов
Ранее использованные методы, такие как основанные на извлечении или дифференциальная приватность, действуют на уровне наборов данных, не учитывая конкретные случаи запоминания. Моделирование языка через сжатие и оценка емкости через запоминание фактов (например, в RNN и квантованных трансформерах) дают лишь частичное представление и страдают от нехватки масштабируемости и точности, особенно в контексте глубоких трансформерных архитектур.
Новый подход к измерению запоминания
Исследователи из FAIR в Meta, Google DeepMind, Корнеллского университета и NVIDIA предложили новый метод оценки того, сколько информации модель «знает» о конкретных данных. Они разделяют запоминание на две составляющие: непреднамеренное запоминание, которое представляет информацию, содержащуюся в модели о наборе данных, и обобщение, которое отражает информацию о реальном процессе генерации данных. Это позволяет более точно оценивать общую емкость модели, исключая обобщение. Например, модели семейства GPT имеют емкость примерно 3.6 бит на параметр.
Экспериментальная методология и подход к обучению
Команда использовала архитектуру GPT-2 и обучила сотни моделей с количеством параметров от 100K до 20M, варьируя глубину (от 1 до 8 слоев) и размер скрытых слоев (от 32 до 512). Обучение проходило в:
- 106 шагов
- Размер батча: 2048
- Точность: bfloat16
- Аппаратное обеспечение: один A100 GPU
Эти модели обучались как на синтетических последовательностях, так и на дедублицированных текстовых последовательностях из набора данных FineWeb. Эксперименты минимизировали влияние обобщения благодаря тщательной конструкции набора данных.
Ин insights о емкости модели и ключевые находки
Биты на параметр: модели последовательно хранили от 3.5 до 3.6 бит/параметр в разных конфигурациях.
- Двойное спускание: По мере приближения размера обучающего набора к емкости модели, тестовые потери сначала уменьшаются (переподгонка), а затем снова улучшаются, когда модели начинают обобщать.
- Влияние точности: Обучение в float32 увеличивает емкость хранения немного (до ~3.83 бит на параметр) по сравнению с bfloat16 (~3.51 бит на параметр).
Разделение запоминания и обобщения
При переходе с синтетических наборов данных на реальные текстовые наборы команда заметила:
- Непреднамеренное запоминание на уровне образца увеличивается с ростом количества параметров.
- Запоминание уменьшается по мере увеличения размера обучающего набора.
- Точное определение запоминания модели требует дедубликации и ссылки на эталонную модель для базовых коэффициентов сжатия.
Законы масштабирования проверки на принадлежность
Исследователи смоделировали вероятность успеха (F1 score) проверки на принадлежность на основе потерь как функцию соотношения между емкостью модели и размером набора данных. Ключевые наблюдения:
- Проверка на принадлежность становится ненадежной по мере роста наборов данных.
- Прогностические законы масштабирования остаются точными в пределах 1-2% для моделей до 1.5B параметров.
Заключение: Лучшее понимание поведения модели
Эта работа устанавливает принципиальную основу для измерения запоминания в языковых моделях. Внедряя количественные метрики и масштабируемые эксперименты, она углубляет наше понимание того, как трансформерные модели кодируют обучающие данные и четко проводит грань между запоминанием и обобщением. ПолученныеInsights могут направлять будущие разработки в области оценки моделей, приватности и интерпретируемости.
Хотите продвигать свой продукт/вебинар/услугу для более чем 1 миллиона инженеров ИИ/разработчиков/ученых данных/архитекторов/CTO/CIO? Давайте сотрудничать.