Ми щойно з'ясували, як передавати ОДИН ТРИЛЬЙОН параметрів між графічними процесорами за 1,3 секунди. Це 20-кратне прискорення в порівнянні з традиційними методами. Дозвольте мені показати вам, як ми це зробили:
Perplexity
Perplexity16 годин тому
Перенесення ваги є одним з найбільших вузьких місць при виконанні розподіленого RL на моделях великої місткості. У нашому першому блозі Perplexity Research пояснюється, як інженери Perplexity використовували зв'язок RDMA «точка-точка» для розблокування надшвидкого оновлення параметрів для моделей із трильйонами параметрів. Використовуючи низькорівневі примітиви RDMA, статичне планування та конвеєр, ми прискорюємо оновлення на порядок, лише до 1,3 секунди за оновлення.
1/ Проблема Під час навчання масивних моделей штучного інтелекту за допомогою навчання з підкріпленням вам потрібні два окремі кластери графічних процесорів, які працюють разом: навчальні графічні процесори, які оновлюють модель, і графічні процесори логічного висновку, які її запускають. Після кожного тренувального кроку вам потрібно копіювати всі ці оновлені ваги з тренування до висновку. Для моделей з трильйонними параметрами більшості систем потрібно від 30 секунд до декількох ХВИЛИН, щоб зробити це. Це величезне вузьке місце. Ваш тренувальний крок може зайняти 5 секунд, але потім ви чекаєте 30 секунд, просто копіюючи ваги.
1/ Проблема Коли ми тренуємо масивні моделі штучного інтелекту за допомогою навчання з підкріпленням, нам потрібні два окремі кластери графічних процесорів, які працюють разом: навчальні графічні процесори, які оновлюють модель, і графічні процесори логічного висновку, які її виконують. Після кожного тренувального кроку ми повинні копіювати всі ці оновлені ваги від тренування до висновку. Для нашої моделі Kimi-K2 з трильйонними параметрами більшості існуючих систем потрібно від 30 секунд до кількох ХВИЛИН, щоб зробити це. Це величезне вузьке місце. Наш тренувальний крок може зайняти 5 секунд, але потім ми будемо чекати 30 секунд, просто копіюючи ваги. Неприйнятно.
2/ Старий шлях Традиційні системи спрямовують все через один графічний процесор «рангу 0». Усі навчальні графічні процесори надсилають на один основний графічний процесор, який надсилає одному графічному процесору висновок, який розподіляє на решту. Це все одно, що змусити всю пошту проходити через одне поштове відділення. Це одне з'єднання стає вузьким місцем - обмеженим приблизно 50 гігабайтами в секунду. Ми знали, що має бути кращий спосіб.
3/ Наш прорив Наше рішення: RDMA WRITE - віддалений прямий доступ до пам'яті. За допомогою RDMA наші навчальні графічні процесори можуть безпосередньо записувати в пам'ять графічного процесора логічного висновку. Без посередників. Не питаючи дозволу. Ми просто телепортуємо дані безпосередньо в оперативну пам'ять іншого комп'ютера. Приймаючий графічний процесор навіть не отримує сповіщення. Це "одностороння" операція. І ось ключове питання: КОЖЕН тренувальний графічний процесор спілкується безпосередньо з КОЖНИМ графічним процесором з висновком. Все й одразу. Паралельно. Ми насичуємо всю тканину мережі замість того, щоб забивати вузьке місце на одній ланці. Ми також використовуємо пайплайнінг - розбиття передач на етапи, що перетинаються, щоб різні апаратні ресурси залишалися зайнятими одночасно. Крім того, ми обчислюємо графік передачі один раз під час запуску і просто відтворюємо його. Відсутність повторних накладних витрат.
4/ Наші результати Для Kimi-K2 з 1 трильйоном параметрів: 1,3 секунди для передачі від 256 навчальних графічних процесорів до 128 графічних процесорів з висновком. Це переміщення близько 2 терабайт даних трохи більше ніж за секунду. Через мережу. Між машинами. Коли ми спалюємо тисячі доларів на годину на кластерах графічних процесорів, усунення цього вузького місця означає величезну економію коштів і швидші цикли ітерацій.
4/ Наші результати Для Kimi-K2 з 1 трильйоном параметрів: 1,3 секунди для передачі від 256 навчальних графічних процесорів до 128 графічних процесорів з висновком. Це переміщення близько 2 терабайт даних трохи більше ніж за секунду. Через мережу. Між машинами. Коли ми спалюємо тисячі доларів на годину на кластерах графічних процесорів, усунення цього вузького місця означає величезну економію коштів і швидші цикли ітерацій.
5/ Чому це важливо Елегантна частина? Ми не винаходили нове залізо. Ми щойно використовували існуючу технологію RDMA з інженерією інтелектуальних систем. Іноді найкращі рішення полягають не у винаході чогось нового, а в тому, щоб дуже, дуже добре використовувати існуючі інструменти. Саме так ми будуємо в Perplexity.
Отже, це загальний огляд нашої системи перенесення ваги. Але я впевнений, що у всіх вас є питання, чи не так? Запитайте мене про що-небудь.
87,29K