Автор: Dwarkesh Patel
Переклад: Shenchao TechFlow
Огляд Shenchao: За останні шість років здатності моделей ШІ стрімко зросли, але цей прогрес походить саме з алгоритмів чи даних? У цій статті за допомогою серії невеликих контрольних експериментів наводиться неочікуваний висновок: підвищення ефективності обчислень завдяки покращенню даних перевищує ефект вдосконалення моделей більш ніж у три рази. Для тих, хто стежить за інвестиціями в інфраструктуру ШІ та конкуренцією між передовими лабораторіями, це розкриває недооцінений драйвер: інженерію даних.
За останні кілька років, який відсоток швидкого прогресу в галузі ШІ пояснюється покращенням даних, а який — покращенням моделей? Відповідь на це питання має величезний вплив на економічні моделі передових лабораторій та швидкість майбутніх досягнень.
Ми провели відносно невелике дослідження цього питання, зосереджене на попередньому навчанні з 2019 по 2025 рік. У ці роки щороку публікувалися нові відкриті моделі, які узагальнювали відомі на той момент алгоритмічні покращення (наприклад, архітектура, оптимізатори, ініціалізація, планування швидкості навчання, гіперпараметри тощо). Разом із цим щороку з’являлися нові відкриті мовні корпуси (створені завдяки більш масштабному збиранню та новим методам кураторства, вилучення та фільтрації).
Ми навчали ці моделі, що представляють різні рівні років, з різними комбінаціями даних і корпусів, на різних обчислювальних потужностях (до 1e19 FLOPs).
Звичайно, ми не можемо порівнювати ці різні моделі за перехресною ентропією на фіксованому наборі даних, оскільки ми змінюємо набори даних, на яких вони навчаються. Тому ми оцінюємо ці моделі на основі їх кінцевої здатності, використовуючи оцінку OLMES (яка агрегує 10 відносно простих бенчмарок, більшість з яких — питання з вибором відповіді). На жаль, оцінка кінцевої здатності замість втрат під час попереднього навчання додає деякий шум до наших результатів, що ви побачите на наведених нижче графіках, але ми намагаємося отримати більш чіткі межі, використовуючи кілька випадкових посівів.
Ми виявили, що з 2019 по 2025 рік при бюджеті обчислювальних ресурсів 1e19 FLOPs більше ніж 3,24-кратне збільшення ефективності обчислень стало результатом покращення даних, а не моделей (дані — 12,0-кратне, моделі — 3,7-кратне).

Нижче наведена таблиця, яка показує, наскільки покращилася кінцева тестова здатність наших моделей при обчислювальній потужності 3,16e18 FLOPs порівняно з базовою лінією 2019 року за даними та архітектурою.

Ми виявили, що вигоди від покращення даних і покращення моделей переважно є незалежними одна від одної і не мають взаємодії (тобто вигода від реалізації певного покращення моделі не залежить від конкретного набору навчальних даних, і навпаки). За допомогою лінійної моделі 88% дисперсії в оцінці OLMES можна пояснити адитивним ефектом покращень моделей і даних.
Обговорення
Як контекст, скоротимо розглянемо, що змінилося на стороні даних і на стороні моделей з 2019 по 2025 рік.
На стороні моделі ми перейшли від GPT-2 до OLMo-2, включая ключові інновації в оптимізаторах, позиційному кодуванні, нормалізації, функціях активації та ініціалізації.
На стороні даних ми почали з OpenWebText у 2019 році, який містив лише посилання на веб-сторінки з Reddit, які отримали достатню кількість лайків, і після видалення дублікатів та фільтрації залишилося лише близько 9 мільярдів токенів (це майже вся навчальна вибірка GPT-2). До 2025 року такі відкриті корпуси даних, як UltraFineWeb, мають значно більший обсяг (шляхом сканування всього Інтернету) і використовують набагато складніші методи фільтрації (наприклад, навчання класифікатора для передбачення, які дані дійсно покращують продуктивність моделі).
Проста інтерпретація наших результатів: більшість прогресу в ІО з 2019 по 2024 рік (епоха попереднього навчання) насправді була пов’язана з кращою інженерією даних (вибірка, кураторство тощо), а робота з моделями за цей період була значно менш важливою.
Але це може бути неправильний підхід до оцінки цінності покращень моделі. Основний внесок покращень моделі не обов’язково полягає у ефективності обчислень, тобто досягненні тієї ж продуктивності за допомогою меншої кількості FLOPs. Навпаки, він спочатку робить більш масштабні обчислення доступними. Зі збільшенням кількості параметрів, довжини контексту, тривалості виконання та розміру кластера виникають різні проблеми (вибух або згасання градієнтів, вичерпання пам’яті та пропускної здатності, неприйнятно повільне навчання). Велика частина досліджень моделей полягає у видаленні або відкладанні цих обмежень масштабування. Багато найважливіших інновацій належать до цього класу, наприклад MoE, різновиди розрідженої уваги, інновації щодо стабільності (розташування нормалізації, ініціалізація тощо), а також системні та ядерні оптимізації, як FlashAttention.
Досліджені нами покращення даних можуть бути менш важливими для більших моделей. Малі моделі (такі, як ті, які ми навчали) значно вигодовують від підвищення якості даних, оскільки вони мають обмежену ємність, і вам потрібно дуже уважно вирішувати, що в них вводити. Натомість великі моделі мають величезний надлишок ємності, і, можливо, ви просто хочете завантажити якомога більше даних, навіть якщо більшість з них — сміття, бо магія випадкового градієнтного спуску відокремить сигнал від шуму. Якщо ви обираєте агресивну фільтрацію, вам доведеться провести десятки епох, і емпіричні результати часто гірші, ніж при використанні більшого набору даних із середньою нижчою якістю. Фактично, якщо врахувати, що сучасні моделі можуть бути переосвічені до 100 разів більше, ніж оптимальний стандарт Chinchilla, щоб мінімізувати обчислювальну потужність, необхідну для підсиленого навчання та розгортання, то шкода від агресивного кураторства даних ще більша.
Аналогією може бути різниця між парусником і контейнеровозом: контейнеровоз не обов’язково рухається швидше, але він може перевозити тисячі тонн вантажу (що відповідає сотням трильйонів токенів у даних для попереднього навчання) і не перевертається на хвилях (що відповідає стабільному навчанню на десятках тисяч GPU).
Зараз, коли у нас є більш великі та міцніші контейнерні судна, нам не потрібно переживати про те, що завантажувати — ми можемо завантажити все, що хоча б трохи корисне. А для маленьких та хрупких парусників 2019 року треба було дуже обережно вибирати та перевозити лише найцінніші вантажі.
Але якщо суть прогресу підготовки перед тренуванням полягає лише у завантаженні більше вантажу на цей корабель, чи не закінчується наш вантаж? Це питання стосується «стіни даних» і того, наскільки синтетичні дані можуть допомогти нам подолати цю стіну. Синтетичні дані вже широко використовуються в лабораторіях, але ми зовсім не дослідили, чи можуть вони ефективно розширити корпус даних без зниження продуктивності моделі. Якщо такі досягнення обмежені, то основний драйвер прогресу підготовки перед тренуванням зупиниться, оскільки ми не зможемо генерувати більше інтернет-контенту, а ступінь, на який фіксований набір даних може бути кураторськи оброблений, також обмежений. Варто зазначити, що наразі у нас немає жодних позитивних підстав вважати, що це дійсно станеться. Але враховуючи, що дані здаються настільки важливими для просування прогресу підготовки перед тренуванням, це здається ключовим питанням, яке варто дослідити глибше.
Райан Гринблатт зазначив, що багато історичних покращень корпусів даних для попереднього навчання виглядають як прогрес, який автоматизовані дослідники можуть безпосередньо продвигати за допомогою емпіричних тестів, наприклад, запускаючи абляційні експерименти з різними даними, щоб побачити, як поводяться моделі. Тому це повністю збігається з нашими результатами: якщо розробка ШІ буде автоматизована, ті прогреси в даних, що сприяли попередньому навчанню з 2019 року, можуть значно прискоритися.
Ми хочемо прояснити один момент: чи прискорюється чи уповільнюється прогрес у попередньому навчанні саме по собі — це не найважливіший питання загального прогресу в галузі ШІ, оскільки багато досягнень за останні два роки походять із підсиленого навчання.
Майбутні напрямки досліджень
Ось кілька напрямків та питань майбутніх досліджень, які, на нашу думку, будуть цікавими та важливими:
- Ви можете провести цей експеримент у більшому масштабі, щоб перевірити, чи залежать дані або покращення моделі від масштабу, що впливає на передові області.
- Яка гранична цінність якісних нових даних у попередньому та післятренуванні, виміряна за кінцевою продуктивністю?
- Ми хочемо отримати загальне уявлення про реальну ефективність синтетичних даних. Однією з конкретних питань, які варто дослідити, є: якщо у вас є невеликий набір якісних даних, наскільки кращим буде результат за допомогою генерації синтетичних даних для їх розширення порівняно з просто багаторазовим навчанням на цьому наборі даних?
- Ви можете оцінити приховану вартість даних, порівнюючи витрати на лабораторії з витратами на обчислювальну потужність та дослідників у контексті постачальників даних та екологічних виробників.
Ми хочемо дослідити, яку роль відіграють дані у просуванні штучного інтелекту. Існує багато інших способів дослідження цього питання, деякі з яких можуть бути більш витонченими та інформативними, ніж наш підхід. Крім того, наш експеримент має дуже малий масштаб. Ми вважаємо, що можливо щось пропустили, і дуже цікаво дізнатися, як інші люди могли б досліджувати це питання, а також побачити їхні результати!
Особлива подяка Чарлі О’Ніллу за багато корисних обговорень.
Додаток: методологія


Ми з нуля передтренували ці моделі на різних наборах даних, використовуючи різні обчислювальні бюджети та налаштовуючи кілька незалежних посівів 6. Наші обчислювальні бюджети: 1e17, 3,16e17, 1e18, 3,16e18 та 1e19 FLOP. Практика обчислення обчислювального бюджету полягає у використанні номінального обчислення C = 6ND (N — кількість параметрів, крім вкладень, D — кількість токенів даних).
При кожному бюджеті на обчислювальну потужність ми налаштовуємо кількість параметрів, щоб відповідно змінити кількість токенів для навчання і визначити оптимальне співвідношення обчислювальної потужності для кожної комбінації методу навчання та корпусу. Ми використовуємо втрати на вибірці з корпусу для визначення цієї оптимальної точки обчислювальної потужності. Потім ми отримуємо криві масштабування обчислювальної потужності для продуктивності на нижчих рівнях для кожної комбінації і з них витягуємо коефіцієнт обчислювальної потужності.
Ми вимушено використовуємо спільний токенізатор і довжину контексту для всіх запусків: GPT-2 BPE (tiktoken, словник 50257) і T=2048, пакет = 262144 токенів.
Кінцева продуктивність нашого навчання дуже залежить від гіперпараметрів. Очевидно, що неможливо перебрати всі можливі комбінації гіперпараметрів — налаштування гіперпараметрів справді є тонким мистецтвом! Ми намагаємося контролювати це і вважаємо пикову швидкість навчання найважливішим ключовим гіперпараметром.
Деякі версії алгоритмів надають чіткі рекомендації щодо того, до якого значення слід налаштувати пикову швидкість навчання, як функцію інших пов’язаних змінних, таких як розмір моделі, бюджет даних, розмір пакету тощо. Вони надають нам добру априорну інформацію для визначення оптимальної швидкості навчання.
Ми спочатку сканували швидкість навчання на 5 опорних точках: 3 різних розміри моделей і 2 різних співвідношення D/N. Ми визначили оптимальну швидкість навчання для цих опорних точок і апроксимували параметричну форму оптимальної швидкості навчання.
Для всіх моделей, крім OLMo-2, ми підбираємо спільні показники a і b, а також початкову швидкість навчання lr₀, специфічну для кожної моделі. Для OLMo-2 ми використовуємо оптимальну швидкість навчання, вказану у відповідній рецептурі моделі. Причина такого підходу до OLMo-2 полягає в тому, що Ai2 опублікувала кроковий набір малих моделей як частину рецепту, у якому визначено оптимальні гіперпараметри для розмірів, що нас цікавлять. Ми також перевірили, що наша виробнича швидкість навчання знаходиться на або поблизу оптимуму при 3,16e18 FLOP.
Основні технічні результати


Пояснення деяких аномалій на графіку
Ми спостерігаємо, що ефективність обчислювальних потужностей з часом загалом зростає як у моделях, так і в даних, що відповідає очікуванням. Деякі винятки, які ми спостерігаємо:
- NeoX при 1e19 показує гірші результати, ніж GPT-2 (хоча краще в діапазоні від 1e17 до 3,16e18). Це може бути пов’язано з шумом у оцінках OLMES. Ми також зауважили, що NeoX показує кращі результати, ніж GPT-2, щодо втрат підготовки на вибірці FineWeb-Edu.
- Видно, що Piles показує значно гірший результат, ніж OpenWebText. Це не дивно, оскільки основна перевага Pile полягає у різноманітності даних, а не у фільтрації. Він містить добре підібраний змішаний набір з 22 джерел, включаючи статті PubMed і arXiv, код GitHub, юридичні консультації, патенти та парламентські записи. Для багатьох з цих токенів перенесення між доменами до OLMES (англомовний веб-есей з вибором відповіді) може бути мінімальним, що призводить до нижчої ефективності обчислень. Ми зауважуємо, що через більший розмір ми очікуємо, що Pile в кінцевому підсумку перевершить (дуже малий) OpenWebText при більшому масштабі.
- Варто зазначити, що мультиплікатори хешрейту для NeoX і Pile були отримані шляхом екстраполяції, що вносить додатковий потенційний ефект похибки.
Як розраховується мультиплікатор хеш-потужності та його лінії похибки
- Кожна точка на кривій розширення обчислювальної потужності походить з кількох незалежних тренувальних запусків з початковими значеннями. Помилки на цих точках — це стандартне відхилення оцінок OLMES на цих початкових значеннях.
- Розгляньте модель або навчальні дані при певному рівні обчислювальних потужностей і заданому рівні ефективності.
- Ми обчислюємо коефіцієнт обчислювальної потужності, знаходячи найбільш ліву точку на кривій масштабування обчислювальної потужності кандидатської моделі або корпусу, де вперше досягається цей еталонний рівень продуктивності. Відношення обчислювальної потужності, необхідної для еталону, до обчислювальної потужності, необхідної для кандидата, є коефіцієнтом обчислювальної потужності кандидата.
- Помилка для коефіцієнта потужності обчислень походить з бутстреп-оцінки параметрів усього процесу оцінки і становить інтервал в 1 стандартне відхилення.
- Ми хочемо підкреслити, що реальна невизначеність щодо коефіцієнта обчислювальних потужностей моделі вища, ніж показано на графіку похибок. Це пов’язано з обмеженим діапазоном налаштування гіперпараметрів, який ми провели, і тим, що кінцева продуктивність або втрата на перевірці можуть бути досить чутливими до точного вибору пікової швидкості навчання, розміру пакету тощо.
Також важливо зазначити, що наші абляційні експерименти через багато причин не можуть повністю відобразити весь діапазон зростання ефективності обчислювальних потужностей. Насправді, з 2019 по 2025 рік ми спостерігали щорічне зростання ефективності обчислювальних потужностей на боку моделей на 1,24 рази [1,19; 1,29], а на боку даних — на 1,51 рази [1,45; 1,57]. При спільному вимірюванні ми зафіксували щорічне зростання ефективності обчислювальних потужностей на 1,57 рази [1,49; 1,65]7. Це значно нижче середньої оцінки Anson Ho та інших у 3 рази щорічно, і ось чому:
- Багато переваг можуть залежати від масштабу або бути особливо важливими у довгих контекстах, але наш масштаб операцій занадто малий, щоб продемонструвати багато з цих переваг. Наприклад, норми шарів і норми QK у OLMo-2, паралельні блоки уваги та MLP у NeoX.
- Оптимізація ефективності висновку (наприклад, GQA в LLama-3, що є оптимізацією кешу KV) у нашому дослідженні не відображається як множник обчислювальної потужності. Ми також не досліджували покращення токенізаторів.
- Отриманий множник обчислювальної потужності досить чутливий до вибору моделі або корпусу даних, який ми обираємо щороку. Ми вибрали ті моделі або корпуси даних, які вважаємо репрезентативними, але це не є вичерпним доказом того, що вони є найкращими щороку.
- Ми звертаємо увагу на множник обчислювальної потужності щодо базису OLMES (який поєднує 10 відносно простих типів завдань), а не на множник обчислювальної потужності для досягнення певного показника перплексії. Якщо ми розглянемо інші базиси (наприклад, спеціалізовані базиси для кодування чи розв’язання задач), цифри будуть зовсім іншими, оскільки ці базиси можуть винагороджувати зовсім інші методи інженерії даних.
Ми також хочемо зазначити, що не досліджували покращення з інших боків даних, наприклад, збирання більше якісних даних з нових джерел, дані, створені людськими експертами, методи синтетичного генерування даних тощо. Більшість корпусів, які ми досліджували, є тими самими кураторськими (підмножинами) Common Crawl, а не розширенням доступного набору даних. Це очевидно призводить до вичерпання обмеженого запасу, і ступінь, на який цей важіль може просунути прогрес, обмежений.
Дохідність незалежно від рецепту моделі та набору даних
Ми провели наступне дослідження, щоб визначити, наскільки незалежними є вигоди від рецептур моделей та наборів даних. Ми проаналізували сітку оцінок OLMES при 3,16e18 FLOPs. Лінійна регресія оцінок OLMES за моделлю OLMES = середнє + ефект моделі + ефект даних дала R² = 0,88. Це означає, що 88% дисперсії оцінок OLMES можна пояснити адитивними ефектами покращення моделі та даних, лише близько 12% дисперсії припадає на інтеракційні або вищі порядки, а також шум оцінки. Це вказує на те, що складні взаємодії між моделлю та даними (тобто використання певного покращення моделі залежить від певної інженерії даних, або навпаки) є відносно малими.

Ансон Хо та інші оцінили підвищення ефективності програмного забезпечення (у процесі попереднього навчання) у 3 рази на рік (95% довірчий інтервал: від 1,5 до 64 разів). Як Хо зазначив у цьому блозі, «більшість прогресу в програмному забезпеченні, ймовірно, походить від покращення якості даних», а також «від масштабування декількох алгоритмічних змін, пов’язаних із розміром».
Ми використовуємо умовну домовленість C = 6ND для розрахунку хеш-потужності.
Рецепт моделі 2019 року — GPT-2, рецепт моделі 2025 року — OLMo-2. Набір даних 2019 року — OpenWebText, набір даних 2025 року — UltraFineWeb.
Ми зіткнулися з деякими проблемами з нестабільністю навчання GPT3 на Pile (спайки градієнта).
Це включає: покращення оптимізатора, розігрів зі зменшенням за розкладом, заміна навчання абсолютної позиції на RoPE, RMSNorm зі SwiGLU-відкриванням MLP, перестановка Norm, QK-norm, регуляризація Z-loss та чистішу ініціалізацію.
Для графіків розширення обчислювальної потужності ми використовували щонайменше 3 насіння. Для комбінацій рецептів моделей і наборів даних у сітці 7x7 з бюджетом 3,16e18 ми використовували лише по 1 насінню.
Коефіцієнт збільшення 1,57 розрахований за допомогою спільного покращення моделей і корпусів з 2019 року до 2025 року, а не як добуток покращення на стороні моделі (1,24) і покращення на стороні даних (1,51).
