Упс! Не вдала спроба:(
Будь ласка, спробуйте ще раз.

Як тренують нейромережі і скільки це коштує

Олександр Тартачний
Олександр Тартачний журналіст
28 червня 2023 10 хвилин читання

Чому навчання однієї нейромережі може коштувати кілька мільйонів доларів, а іншої сто мільйонів? Чи завжди більша кількість елементів дорівнює точнішій роботі алгоритму? Чому машинне навчання потребує величезної кількості обчислювальної потужності й даних та чи є спосіб спростити їх навчання? SPEKA спробувала розібратись у цих питаннях та розповісти про основні тренди у deep learning. 

Як тренують нейромережі Як тренують нейромережі

Скільки коштує натренувати нейромережу 

Більшість сучасних систем штучного інтелекту побудовані за типом LLM — Large language model. Ця нейромережа з багатьма параметрами навчена на великій кількості тексту за допомогою самоконтрольованого або напівконтрольованого навчання. LLM добре працюють із широким спектром завдань на відміну від навчання для одного конкретного завдання.

LLM використовують обчислювальний механізм під назвою трансформер. Трансформер приймає на вхід один набір послідовностей (даних) і видає на виході теж набір послідовностей, але інший, перетворений за певним алгоритмом. 

Найпростіше пояснення роботи нейромережі та передачі інформації між її шарами  Найпростіше пояснення роботи нейромережі та передачі інформації між її шарами 
Оскільки текст, картинки, звук (та майже все у цьому світі) можна подати у вигляді послідовностей чисел, то за допомогою трансформера можна вирішувати чи не всі завдання.

GPT-3 під час свого навчання обробив текстовий набір даних обсягом 420 Гб! Тобто «просканував» мільйони книг та мільярди текстів з усього інтернету. Для порівняння: увесь обсяг світової «Вікіпедії» становив лише 3% від усього датасету нейромережі. 

Вважається, що тренування GPT-3 коштувало щонайменше $4,6 млн. Навчання сучасної великої моделі ШІ коштує від $3 до $12 млн.

Але це далеко не межа. За оцінками Сема Альтмана, директора компанії OpenAI, розроблення GPT-4, який окрім тексту може працювати з графікою, коштувало понад $100 млн. У 2022 році дослідницька компанія Epoch AI підрахувала, що обчислювальна потужність, необхідна для навчання передової моделі, подвоюється кожні шість-десять місяців. Якщо розрахунки правильні, а кількість тренувальних даних зростатиме, то витрати на навчання моделей перевищить $1 млрд ще у 2026 році.

Чому тренувати нейромережі так дорого

Вартість тренування нейромереж зростає через їхнє ускладнення, тобто збільшення кількості параметрів. 

Щоб передбачати послідовність слів, виконувати математичні операції та аналізувати отриману інформацію, нейромережі мають розуміти взаємозв’язки між словами та логічні операції. Для відображення кореляції між явищами (наприклад вища зарплата корелює із роками досвіду у галузі) використовують рівняння лінійної регресії.

Графік залежності зарплати від досвіду роботи. Червона лінія — прогнозована залежність або ж лінійна регресія. Чим більша даних вона охоплює, тим точнішим є її прогноз. Графік залежності зарплати від досвіду роботи. Червона лінія — прогнозована залежність або ж лінійна регресія. Чим більша даних вона охоплює, тим точнішим є її прогноз.

Але це лише кореляція одного параметра. Натомість у сучасних нейромереж їх мільярди. Параметри (їх ще називають ваги або коефіцієнти) визначають під час тренування моделі. У це гігантське рівняння щоразу підставляють різні слова, але самі параметри рівняння залишаються незмінними.

Що складніше рівняння (що більше у ньому параметрів), то краще модель передбачає ймовірності та правдоподібнішу й точнішу відповідь здатна згенерувати. Основне завдання під час тренування мовної моделі — підібрати такі коефіцієнти, щоб вони дійсно відображали залежність (наприклад, зв’язок між словами). 

Мовні моделі мають дуже велику кількість параметрів. Наприклад, GPT-3 та чатбот на його основі ChatGPT був справді гігантською нейромережею. Він мав 175 млрд параметрів. GPT-4 натомість має вже 1 трлн параметрів — майже у шість разів більше, ніж у його попередника.

Щоб обробляти величезні датасети навчальних даних та виявити таку кількість параметрів, потрібні великі обчислювальні потужності — тисячі спеціалізованих графічних процесорів. 

Тренування неромережі вимагає значних обчислювальних ресурсів Тренування неромережі вимагає значних обчислювальних ресурсів

Ці чинники зумовлюють високу вартість тренування нейромереж, не кажучи вже про високі зарплати спеціалістів зі штучного інтелекту.

Чи вистачить у мережі даних, щоб тренувати штучний інтелект 

Оскільки розміри навчальних датасетів постійно зростають, дослідники буквально парсять всю мережу, щоб забезпечити модель достатньою кількістю текстів чи зображень. 

Наприклад, ще для навчання GPT-2 у 2019 році не було великих та якісних наборів текстових даних, тому команда OpenAI вивантажила з онлайн-форуму Reddit гіперпосилання з усіх повідомлень, які мали понад три лайки. Разом це становило 8 млн посилань. Щоб прочитати все це, людині знадобиться 40 років без перерв на їжу та сон. 

Чи багато це для нейромережі? Для сучасної — ні. Весь датасет важив 40 гігабайтів, тобто менше десятої частини GPT-3.

Тренувальні дані в GPT-2 та GPT-3 Тренувальні дані в GPT-2 та GPT-3

За деякими оцінками, нейромережі відібрали весь високоякісний текст, який був у мережі ще у жовтні 2022 року.

Деякі моделі можна тренувати на штучно створених датасетах. Наприклад, для алгоритмів з розпізнавання облич. Багато сучасних моделей навчені на величезних бібліотеках справжніх облич, на що люди не завжди надавали згоду. Дослідники з лабораторії Microsoft Mixed Reality & AI Lab розв’язали цю проблему, випустивши колекцію зі 100 тис. синтетичних облич. Ці обличчя генеруються на основі набору з 500 осіб, які дали дозвіл на сканування. Система Microsoft бере елементи облич із початкового набору, щоб створювати нові унікальні комбінації.

Синтезовані обличчя людей, створені Microsoft Синтезовані обличчя людей, створені Microsoft

Схожий підхід застосовують і для генерування текстів або чутливих даних, як-от рентгенівські знімки та комп’ютерна томографія, щоб навчити систему краще діагностувати захворювання. 

Чи більші нейронні мережі завжди ефективніші  

Кількість даних не безмежна, тому дослідники шукають способи зробити моделі ефективнішими із меншою кількість параметрів або навчальних даних. Адже великі моделі не лише дорогі у тренуванні, їх експлуатація також дорога.

Кожен діалог із ChatGPT або запит у Bing, де інтегрований чатбот, коштує 1-2 центи. У 2022-му 3,3 трлн пошукових запитів Google, за підрахунками Morgan Stanley, коштували приблизно по 0,2 цента кожен. 

Якщо половина пошукових запитів Google оброблятиме поточна програма у стилі GPT, це може коштувати компанії додаткові $6 млрд на рік.

Один із підходів, над яким працюють дослідники, — зменшити кількість параметрів, але навчати моделі з іще більшою кількістю даних. 

Успішні кейси вже є. У 2022 році дослідники DeepMind, підрозділу Google, створили велику мовну модель (LLM) під назвою Chinchilla. Вона має 70 млрд параметрів, але навчалася на датасеті з 1,4 трлн слів (у ChatGPT 175 млрд параметрів і 300 млрд слів). 

Розробники стверджують, що попри простішу архітектуру, Chinchilla досягла майже таких самих результатів, що й GPT-3.

ШІ Chinchilla має середню точність 67,5% за тестом MMLU (Measuring Massive Multitask Language Understanding). У GPT-3 цей показник становить 70%, але Chinchilla менша, швидша та дешевша у використанні (поки що модель не у вільному доступі). 

Кількість параметрів у GPT-3 та Chinchilla та кількох інших нейромереж Кількість параметрів у GPT-3 та Chinchilla та кількох інших нейромереж

Як зробити навчання та використання нейромереж дешевшими

Ще один спосіб — спрости обрахунки. Оскільки мовні моделі прораховують ймовірності і декодують слова у числа, відстеження меншої кількості знаків після коми, тобто їх округлення, може значно спростити роботу процесорам

Дослідники з Інституту науки і технологій в Австрії показали, що округлення може зменшити обсяг пам’яті, який споживає модель, схожа на GPT-3. Це дозволяє алгоритму  працювати на одному графічному процесорі високого класу замість п’яти з «незначним зниженням точності».

А команда у Google тим часом розробила альтернативу для тих, кому буде достатньо менших моделей. Цей підхід зосереджений на вилученні необхідних знань із великої моделі загального призначення у меншу спеціалізовану.

Велика модель виступає в ролі вчителя, а менша — в ролі учня. Дослідники просять вчителя відповісти на запитання та показати, як він доходить до своїх висновків. І відповіді, і міркування вчителя використовують для навчання моделі учня. Врешті модель учня, яка мала лише 770 млн параметрів, перевершила свого вчителя (540 млрд параметрів) у спеціалізованому завданні з мислення. 

Як кодування та нові процесори можуть спростити розробку нейромереж

Значну частину програмування штучного інтелекту виконують мовою Python. Її перевага у простоті та зручності, але код, який запускає процесори, досить повільний.

Python переважно повільніший за більшість мов програмування, таких як c++, Java Python переважно повільніший за більшість мов програмування, таких як c++, Java

Кращий код також можна отримати за допомогою інших інструментів. На початку цього року Meta випустила оновлену версію PyTorch, фреймворку програмування штучного інтелекту, який має вдвічі пришвидшити навчання моделей. 

Modular (стартап, заснований колишніми інженерами Apple і Google) минулого місяця випустив орієнтовану на ШІ мову програмування під назвою Mojo, яка базується на Python. У деяких випадках код, написаний на Mojo, може працювати у тисячі разів швидше, ніж той самий код на Python.

Ще одна опція — вдосконалення мікросхем, на яких працює цей код. Графічні процесори можуть працювати з програмним забезпеченням штучного інтелекту, але їх розробили для оброблення графіки у відеоіграх.

Зокрема, каже дослідник апаратного забезпечення у Meta, графічні процесори не ідеально розроблені для роботи з «виведенням» даних з моделі. Тому деякі компанії розробляють більш спеціалізоване обладнання. Google вже запускає більшість своїх проєктів штучного інтелекту на власних чипах TPU. Meta створює чипи MTIA, а Amazon — Inferentia.

Чип MTIA адаптований для операцій з машинного навчання Чип MTIA адаптований для операцій з машинного навчання

Чому оптимізацію розроблення ШІ не використовували раніше

Підвищити продуктивність можна завдяки відносно простим змінам, як-от округленню чисел або перемиканню мов програмування. Це може здатися дивним, але пояснюється шаленою швидкістю розробки LLM.  

Протягом багатьох років вони були радше академічними проєктами, і просто змусити їх працювати було важливіше, ніж зробити ефективними.

Лише нещодавно вони перейшли до комерційних, масових продуктів. Більшість експертів вважають, що існує ще багато можливостей для вдосконалення. Кріс Меннінг, комп’ютерний науковець зі Стенфордського університету, заявив: «Немає жодних підстав вважати, що це найкраща нейронна архітектура, і ми ніколи не знайдемо нічого кращого». 

0
Прокоментувати
Інші матеріали

Хакери з росії Midnight Blizzard зламали листування між Microsoft та держустановами Техасу

Максим Красіков 8 годин тому

Microsoft розкриває нові деталі масштабної російської кібератаки

Вікторія Рудзінська 28 червня 2024 09:37

Google Translate навчився кримськотатарської

Олеся Дерзська 27 червня 2024 16:26

Чи може сервісна економіка зробити світ багатим?

Олександр Тартачний 27 червня 2024 14:40

Amazon досяг ринкової вартості у $2 трлн завдяки оптимізму щодо ШІ

Вікторія Рудзінська 27 червня 2024 10:27