Хочете заробляти на великих моделях? Це нове потужне обличчя вирішило спочатку знизити ціну міркувань.
Першоджерело: Heart of the Machine
Джерело зображення: Створено Unbounded AI
Скільки грошей спалює масштабний модельний бізнес? Деякий час тому в Wall Street Journal з’явилася довідкова відповідь.
Згідно зі звітом, бізнес Microsoft GitHub Copilot (підтримується моделлю GPT від OpenAI) стягує 10 доларів на місяць, але все одно коштує в середньому 20 доларів за користувача. Постачальники послуг штучного інтелекту стикаються зі значними економічними проблемами – ці послуги не тільки дорогі у створенні, але й дуже дорогі в експлуатації.
Хтось порівняв це з тим, що «використання штучного інтелекту для узагальнення електронного листа схоже на прохання до Lamborghini доставити піцу».
OpenAI розрахувала більш детальний рахунок цього: коли довжина контексту становить 8 тис., вартість кожного вхідного токена 1K становить 3 центи, а вартість виходу — 6 центів. Наразі OpenAI налічує 180 мільйонів користувачів і отримує понад 10 мільйонів запитів на день. Таким чином, щоб керувати такою моделлю, як ChatGPT, OpenAI потрібно інвестувати близько 7 мільйонів доларів на день у необхідне обчислювальне обладнання, яке, можна сказати, лякаюче дороге.
Зниження вартості логічного висновку для LLM є обов’язковим, а збільшення швидкості висновків є перевіреним критичним шляхом. **
Фактично, дослідницьке співтовариство запропонувало ряд технологій для прискорення завдань логічного висновку LLM, включаючи DeepSpeed, FlexGen, vLLM, OpenPPL, FlashDecoding і TensorRT-LLM. Природно, у цих технологій теж є свої переваги і недоліки. Серед них FlashDecoding є найсучаснішим методом, запропонованим авторами FlashAttention та Трі Дао та іншими з команди Стенфордського університету минулого місяця, який значно покращує швидкість висновків LLM шляхом паралельного завантаження даних, і вважається таким, що має великий потенціал. Але в той же час це вносить деякі непотрібні обчислювальні витрати, тому все ще залишається багато можливостей для оптимізації.
Щоб ще більше вирішити проблему, спільна команда з Infinigence-AI, Університету Цінхуа та Шанхайського університету Цзяо Тун нещодавно запропонувала новий метод FlashDecoding++, який не тільки забезпечує більше прискорення, ніж попередній метод (може прискорити висновок графічного процесора в 2-4 рази), але, що важливіше, підтримує графічні процесори NVIDIA та AMD! Його основна ідея полягає в тому, щоб досягти справжнього паралелізму в обчисленнях уваги за допомогою асинхронного підходу та прискорити обчислення на стадії декодування для оптимізації «масивних» матричних продуктів. **
Адреса:
Прискорює виведення даних із графічного процесора в 2–4 рази,
Як це робить FlashDecoding++? **
Завдання логічного висновку LLM, як правило, полягає у введенні фрагмента тексту (токена) і продовженні генерації тексту або інших форм контенту за допомогою обчислення моделі LLM.
Обчислення логічного висновку LLM можна розділити на два етапи: Попереднє заповнення та Декодування, де етап Prefill генерує перший токен, розуміючи вхідний текст; На етапі декодування послідовно виводяться наступні токени. На двох етапах обчислення висновку LLM можна розділити на дві основні частини: обчислення уваги та обчислення множення матриць.
Для обчислень уваги існуюча робота, така як FlashDecoding, реалізує паралельне завантаження даних оператором softmax в обчисленнях уваги. Цей метод вводить 20% обчислювальних накладних витрат при розрахунках уваги через необхідність синхронізації максимальних значень в різних частинах софтмакса. Для обчислень множення матриць, на етапі декодування, матриці множення зліва в основному виглядають як «масивні» матриці, тобто кількість рядків, як правило, невелика (наприклад, <=8), а існуючий механізм логічного висновку LLM розширює кількість рядків до 64, доповнюючи 0, щоб прискорити його архітектурою, такою як тензорні ядра, що призводить до великої кількості недійсних обчислень (помножити на 0).
Для того, щоб вирішити вищезазначені проблеми, основна ідея “FlashDecoding++” полягає в тому, щоб реалізувати справжній паралелізм обчислення уваги за допомогою асинхронних методів і прискорити обчислення на етапі декодування для оптимізації множення матриць “Humpty Dumpty”. **
Попередня робота вводила максимальне значення для кожної частини обчислення softmax як масштабний коефіцієнт, щоб уникнути переповнення показника e в обчисленні softmax, що призвело до накладних витрат на синхронізацію різних частин обчислення softmax (рисунок 1(a)(b)).
Рисунок 2 Статистичний розподіл вхідних значень Softmax
Рис.3 Шардинг множення матриці Humpty Dumpty та механізм подвійного кешування
Оскільки вхідними даними для етапу декодування є один або кілька векторів токенів, матричний добуток для цього етапу поводиться в «масивній» формі. Візьмемо для прикладу матрицю A×B=C, де форма матриць A і B дорівнює M×K і K×N, а матриця «Humpty Dumpty» множить M, коли M менша. “FlashDecoding++” вказує на те, що матриця “Humpty Dumpty” обмежена загальним кешем, і пропонує методи оптимізації, такі як механізм подвійного кешу для його прискорення (рис. 3).
Рисунок 4 Реалізація адаптивного множення матриць
Крім того, “FlashDecoding++” також вказує на те, що на етапі логічного висновку LLM значення N і K фіксуються для конкретної моделі. Тому “FlashDecoding++” адаптивно вибирає оптимальну реалізацію матричного добутку за величиною M.
Прискорює виведення даних із графічного процесора в 2–4 рази
5 “FlashDecoding++” Виведення LLM на платформі NVIDIA та AMD (модель Llama2-7B, batchsize=1)*
В даний час FlashDecoding++ може прискорити висновок LLM на серверній частині декількох графічних процесорів, таких як NVIDIA і AMD (Малюнок 5). Прискорюючи генерацію першого токена на етапі попереднього заповнення та швидкість генерації кожного токена на етапі декодування, “FlashDecoding++” може прискорити генерацію як довгих, так і коротких текстів. **FlashDecoding++ прискорює виведення даних у середньому на 37% на NVIDIA A100 порівняно з FlashDecoding і до 2-4 разів швидше, ніж Hugging Face на серверах NVIDIA та AMD із кількома графічними процесорами. **
Новачок у підприємництві великої моделі штучного інтелекту: Wuwen Core Dome
Трьома співавторами дослідження є доктор Дай Гохао, головний науковий співробітник Wuwen Core Dome і доцент Шанхайського університету Цзяо Тун, Хонг Ке, стажер-дослідник Wuwen Core Dome і студент магістратури Університету Цінхуа, і Сюй Цзямін, стажер-дослідник Wuwen Core Dome і докторант Шанхайського університету Цзяо Тун. Авторами-кореспондентами є професор Дай Гохао з Шанхайського університету Цзяо Тун і професор Ван Юй, декан факультету електронної інженерії Університету Цінхуа.
Заснована в травні 2023 року, мета полягає в тому, щоб створити найкраще рішення для інтеграції програмного та апаратного забезпечення для великих моделей, а FlashDecoding++ було інтегровано в обчислювальний движок великої моделі “Infini-ACC”. За підтримки «Infini-ACC» Wuwen Core Dome розробляє серію великомасштабних програмно-апаратних рішень для інтеграції, включаючи великомасштабну модель «Infini-Megrez», програмно-апаратну машину «все в одному» тощо.
Зрозуміло, що “Infini-Megrez” дуже добре показав себе в обробці довгих текстів, збільшивши довжину тексту, який можна обробити, до рекордних 256 тисяч токенів**, а фактична обробка близько 400 000 слів всієї “Проблеми трьох тіл 3: Вічна смерть” не є проблемою. Це найдовший обсяг тексту, який може бути оброблений великою моделлю на сьогоднішній день.
Крім того, велика модель «Infini-Megrez» досягла продуктивності алгоритмів першого рівня на таких наборах даних, як C (MEDIUM), MMLU (англійська), cmmlu (середня) та AGI, і постійно розвивається на основі обчислювального движка «Infini-ACC».
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Висновок GPU прискорюється в 4 рази, а контекст 256K є найдовшим у світі: Wuwen Core Dome встановив новий рекорд з оптимізації великих моделей
Першоджерело: Heart of the Machine
Скільки грошей спалює масштабний модельний бізнес? Деякий час тому в Wall Street Journal з’явилася довідкова відповідь.
Згідно зі звітом, бізнес Microsoft GitHub Copilot (підтримується моделлю GPT від OpenAI) стягує 10 доларів на місяць, але все одно коштує в середньому 20 доларів за користувача. Постачальники послуг штучного інтелекту стикаються зі значними економічними проблемами – ці послуги не тільки дорогі у створенні, але й дуже дорогі в експлуатації.
Хтось порівняв це з тим, що «використання штучного інтелекту для узагальнення електронного листа схоже на прохання до Lamborghini доставити піцу».
OpenAI розрахувала більш детальний рахунок цього: коли довжина контексту становить 8 тис., вартість кожного вхідного токена 1K становить 3 центи, а вартість виходу — 6 центів. Наразі OpenAI налічує 180 мільйонів користувачів і отримує понад 10 мільйонів запитів на день. Таким чином, щоб керувати такою моделлю, як ChatGPT, OpenAI потрібно інвестувати близько 7 мільйонів доларів на день у необхідне обчислювальне обладнання, яке, можна сказати, лякаюче дороге.
Фактично, дослідницьке співтовариство запропонувало ряд технологій для прискорення завдань логічного висновку LLM, включаючи DeepSpeed, FlexGen, vLLM, OpenPPL, FlashDecoding і TensorRT-LLM. Природно, у цих технологій теж є свої переваги і недоліки. Серед них FlashDecoding є найсучаснішим методом, запропонованим авторами FlashAttention та Трі Дао та іншими з команди Стенфордського університету минулого місяця, який значно покращує швидкість висновків LLM шляхом паралельного завантаження даних, і вважається таким, що має великий потенціал. Але в той же час це вносить деякі непотрібні обчислювальні витрати, тому все ще залишається багато можливостей для оптимізації.
Щоб ще більше вирішити проблему, спільна команда з Infinigence-AI, Університету Цінхуа та Шанхайського університету Цзяо Тун нещодавно запропонувала новий метод FlashDecoding++, який не тільки забезпечує більше прискорення, ніж попередній метод (може прискорити висновок графічного процесора в 2-4 рази), але, що важливіше, підтримує графічні процесори NVIDIA та AMD! Його основна ідея полягає в тому, щоб досягти справжнього паралелізму в обчисленнях уваги за допомогою асинхронного підходу та прискорити обчислення на стадії декодування для оптимізації «масивних» матричних продуктів. **
Прискорює виведення даних із графічного процесора в 2–4 рази,
Як це робить FlashDecoding++? **
Завдання логічного висновку LLM, як правило, полягає у введенні фрагмента тексту (токена) і продовженні генерації тексту або інших форм контенту за допомогою обчислення моделі LLM.
Обчислення логічного висновку LLM можна розділити на два етапи: Попереднє заповнення та Декодування, де етап Prefill генерує перший токен, розуміючи вхідний текст; На етапі декодування послідовно виводяться наступні токени. На двох етапах обчислення висновку LLM можна розділити на дві основні частини: обчислення уваги та обчислення множення матриць.
Для обчислень уваги існуюча робота, така як FlashDecoding, реалізує паралельне завантаження даних оператором softmax в обчисленнях уваги. Цей метод вводить 20% обчислювальних накладних витрат при розрахунках уваги через необхідність синхронізації максимальних значень в різних частинах софтмакса. Для обчислень множення матриць, на етапі декодування, матриці множення зліва в основному виглядають як «масивні» матриці, тобто кількість рядків, як правило, невелика (наприклад, <=8), а існуючий механізм логічного висновку LLM розширює кількість рядків до 64, доповнюючи 0, щоб прискорити його архітектурою, такою як тензорні ядра, що призводить до великої кількості недійсних обчислень (помножити на 0).
Для того, щоб вирішити вищезазначені проблеми, основна ідея “FlashDecoding++” полягає в тому, щоб реалізувати справжній паралелізм обчислення уваги за допомогою асинхронних методів і прискорити обчислення на етапі декодування для оптимізації множення матриць “Humpty Dumpty”. **
Асинхронні паралельні часткові розрахунки Softmax
Попередня робота вводила максимальне значення для кожної частини обчислення softmax як масштабний коефіцієнт, щоб уникнути переповнення показника e в обчисленні softmax, що призвело до накладних витрат на синхронізацію різних частин обчислення softmax (рисунок 1(a)(b)).
“FlashDecoding++” вказує на те, що для більшості LLM розподіл вхідних даних softmax є більш концентрованим. Як показано на рисунку 2, більше 99,99% входу софтмакса для Llama2-7B зосереджено в діапазоні [-16.8, 6.5]. Тому “FlashDecoding++” пропонує використовувати фіксоване максимальне значення для деяких обчислень softmax (рис. 1 ©), таким чином уникаючи частої синхронізації між різними обчисленнями softmax. Коли вхід з невеликою ймовірністю виходить за межі заданого діапазону, софтмакс обчислення цієї частини “FlashDecoding++” вироджується до початкового методу обчислення.
Оптимізація продукту Humpty Dumpty Matrix
Оскільки вхідними даними для етапу декодування є один або кілька векторів токенів, матричний добуток для цього етапу поводиться в «масивній» формі. Візьмемо для прикладу матрицю A×B=C, де форма матриць A і B дорівнює M×K і K×N, а матриця «Humpty Dumpty» множить M, коли M менша. “FlashDecoding++” вказує на те, що матриця “Humpty Dumpty” обмежена загальним кешем, і пропонує методи оптимізації, такі як механізм подвійного кешу для його прискорення (рис. 3).
Крім того, “FlashDecoding++” також вказує на те, що на етапі логічного висновку LLM значення N і K фіксуються для конкретної моделі. Тому “FlashDecoding++” адаптивно вибирає оптимальну реалізацію матричного добутку за величиною M.
Прискорює виведення даних із графічного процесора в 2–4 рази
В даний час FlashDecoding++ може прискорити висновок LLM на серверній частині декількох графічних процесорів, таких як NVIDIA і AMD (Малюнок 5). Прискорюючи генерацію першого токена на етапі попереднього заповнення та швидкість генерації кожного токена на етапі декодування, “FlashDecoding++” може прискорити генерацію як довгих, так і коротких текстів. **FlashDecoding++ прискорює виведення даних у середньому на 37% на NVIDIA A100 порівняно з FlashDecoding і до 2-4 разів швидше, ніж Hugging Face на серверах NVIDIA та AMD із кількома графічними процесорами. **
Новачок у підприємництві великої моделі штучного інтелекту: Wuwen Core Dome
Трьома співавторами дослідження є доктор Дай Гохао, головний науковий співробітник Wuwen Core Dome і доцент Шанхайського університету Цзяо Тун, Хонг Ке, стажер-дослідник Wuwen Core Dome і студент магістратури Університету Цінхуа, і Сюй Цзямін, стажер-дослідник Wuwen Core Dome і докторант Шанхайського університету Цзяо Тун. Авторами-кореспондентами є професор Дай Гохао з Шанхайського університету Цзяо Тун і професор Ван Юй, декан факультету електронної інженерії Університету Цінхуа.
Заснована в травні 2023 року, мета полягає в тому, щоб створити найкраще рішення для інтеграції програмного та апаратного забезпечення для великих моделей, а FlashDecoding++ було інтегровано в обчислювальний движок великої моделі “Infini-ACC”. За підтримки «Infini-ACC» Wuwen Core Dome розробляє серію великомасштабних програмно-апаратних рішень для інтеграції, включаючи великомасштабну модель «Infini-Megrez», програмно-апаратну машину «все в одному» тощо.
Зрозуміло, що “Infini-Megrez” дуже добре показав себе в обробці довгих текстів, збільшивши довжину тексту, який можна обробити, до рекордних 256 тисяч токенів**, а фактична обробка близько 400 000 слів всієї “Проблеми трьох тіл 3: Вічна смерть” не є проблемою. Це найдовший обсяг тексту, який може бути оброблений великою моделлю на сьогоднішній день.