«Бедные ГПУ» собираются попрощаться со своим затруднительным положением!
Только что NVIDIA выпустила программное обеспечение с открытым исходным кодом TensorRT-LLM, которое может ускорить рассуждение больших языковых моделей на H100.
Итак, сколько раз его можно улучшить?
После добавления TensorRT-LLM и ряда его функций оптимизации (включая пакетную обработку в полете) общая производительность модели увеличилась в 8 раз.
Сравнение GPT-J-6B A100 и H100 с TensorRT-LLM и без него
Кроме того, на примере Llama 2 TensorRT-LLM может повысить производительность вывода в 4,6 раза по сравнению с использованием только A100.
Сравнение Llama 2 70B, A100 и H100 с TensorRT-LLM и без него
Пользователи сети заявили, что сверхмощный H100 в сочетании с TensorRT-LLM, несомненно, полностью изменит текущую ситуацию с выводом крупномасштабных языковых моделей!
## TensorRT-LLM: артефакт ускорения вывода больших моделей
В настоящее время из-за огромного масштаба параметров больших моделей сложность и стоимость «развертывания и вывода» остаются высокими.
TensorRT-LLM, разработанный NVIDIA, призван значительно улучшить производительность LLM и снизить затраты за счет графического процессора.
В частности, TensorRT-LLM инкапсулирует компилятор глубокого обучения TensorRT, оптимизированное ядро FasterTransformer, предварительную и постобработку, а также связь между несколькими графическими процессорами и несколькими узлами в простой API Python с открытым исходным кодом.
NVIDIA еще больше усовершенствовала FasterTransformer, сделав его продуктивным решением.
Видно, что TensorRT-LLM предоставляет простой в использовании модульный интерфейс прикладного программирования Python с открытым исходным кодом.
Программистам не нужны глубокие знания C++ или CUDA для развертывания, запуска и отладки различных больших языковых моделей, а также они могут добиться максимальной производительности и быстрой настройки.
Согласно официальному блогу Nvidia, TensorRT-LLM оптимизирует производительность вывода LLM на графических процессорах Nvidia четырьмя способами.
Во-первых, TensorRT-LLM представлен для более чем 10 текущих крупных моделей, что позволяет разработчикам сразу запускать их.
Во-вторых, TensorRT-LLM, как библиотека программного обеспечения с открытым исходным кодом, позволяет LLM выполнять логические выводы на нескольких графических процессорах и нескольких графических серверах одновременно.
Эти серверы соединены через межсоединения NVIDIA NVLink и InfiniBand.
Третья — «Пакетная обработка в полете», представляющая собой совершенно новую технологию планирования, которая позволяет различным задачам модели входить и выходить из графического процессора независимо от других задач.
Наконец, TensorRT-LLM оптимизирован для использования механизма преобразования H100, чтобы уменьшить использование памяти и задержку во время вывода модели.
Далее давайте подробнее рассмотрим, как TensorRT-LLM повышает производительность модели.
Поддержка богатой экологии LLM
TensorRT-LLM обеспечивает очень хорошую поддержку экосистемы моделей с открытым исходным кодом.
Самые крупные и продвинутые языковые модели, такие как Llama 2-70B от Meta, требуют совместной работы нескольких графических процессоров для предоставления ответов в режиме реального времени.
Раньше, если они хотели добиться оптимальной производительности для вывода LLM, разработчикам приходилось переписывать модель ИИ, вручную разбивать ее на несколько фрагментов и координировать выполнение на всех графических процессорах.
TensorRT-LLM использует тензорный параллелизм для распределения весовой матрицы по каждому устройству, тем самым упрощая этот процесс и обеспечивая крупномасштабный эффективный вывод.
Каждая модель может работать параллельно на нескольких графических процессорах и нескольких серверах, подключенных через NVLink, без вмешательства разработчика или изменения модели.
С появлением новых моделей и архитектур моделей разработчики могут оптимизировать свои модели, используя новейшее ядро NVIDIA AI (Kernal) с открытым исходным кодом в TensorRT-LLM.
Поддерживается слияние ядра (Kernal Fusion), включая самую передовую реализацию FlashAttention и скрытое многоголовое внимание для контекста и этапов генерации модели GPT и т. д.
Кроме того, TensorRT-LLM включает в себя полностью оптимизированные, готовые к использованию версии многих популярных сегодня крупных языковых моделей.
К ним относятся Meta Llama 2, OpenAI GPT-2 и GPT-3, Falcon, Mosaic MPT, BLOOM и более 10 моделей, все из которых можно вызвать с помощью простого и удобного в использовании Python API TensorRT-LLM.
Эти функции могут помочь разработчикам быстрее и точнее создавать индивидуальные модели большого языка для удовлетворения различных потребностей различных отраслей.
Пакетная обработка в реальном времени
Большие языковые модели сегодня используются в самых разных приложениях.
Модель можно использовать одновременно для множества, казалось бы, несопоставимых задач — от простых ответов на вопросы и ответы в чат-боте до обобщения документов или создания длинных блоков кода.Рабочие нагрузки очень динамичны, и размеры выходных данных должны быть разных порядков для каждой задачи. нуждаться.
Разнообразие задач может затруднить эффективное пакетирование запросов и эффективное параллельное выполнение, что может привести к тому, что некоторые запросы будут выполняться раньше, чем другие.
Для управления этими динамическими нагрузками TensorRT-LLM включает оптимизированную технологию планирования, называемую «Пакетная обработка во время полета».
Его основной принцип заключается в том, что весь процесс генерации текста большой языковой модели можно разбить на несколько итераций выполнения модели.
При пакетной обработке в реальном времени среда выполнения TensorRT-LLM немедленно освобождает завершенные последовательности из пакета, не дожидаясь завершения всего пакета, прежде чем продолжить обработку следующего набора запросов.
Пока выполняется новый запрос, другие незавершенные запросы из предыдущего пакета продолжают обрабатываться.
Пакетная обработка в реальном времени и дополнительная оптимизация на уровне ядра улучшают использование графического процессора и могут как минимум удвоить пропускную способность фактического теста запросов LLM на H100.
Трансформаторный двигатель H100 с использованием FP 8
TensorRT-LLM также предоставляет функцию под названием H100 Transformer Engine, которая может эффективно снизить потребление памяти и задержку во время вывода больших моделей.
Поскольку LLM содержит миллиарды весов моделей и функций активации, он обычно обучается и представляется значениями FP16 или BF16, каждое из которых занимает 16 бит памяти.
Однако во время вывода большинство моделей можно эффективно представить с меньшей точностью, используя методы квантования, такие как 8-битные или даже 4-битные целые числа (INT8 или INT4).
Квантование — это процесс уменьшения веса модели и точности активации без ущерба для точности. Использование более низкой точности означает, что каждый параметр становится меньше, и модель занимает меньше места в памяти графического процессора.
Это позволяет делать выводы на более крупных моделях, используя то же оборудование, тратя при этом меньше времени на операции с памятью во время выполнения.
Благодаря технологии H100 Transformer Engine графический процессор H100 с TensorRT-LLM позволяет пользователям легко конвертировать веса модели в новый формат FP8 и автоматически компилировать модель, чтобы воспользоваться преимуществами оптимизированного ядра FP8.
И этот процесс не требует никакого кодирования! Формат данных FP8, представленный H100, позволяет разработчикам количественно оценивать свои модели и значительно сокращать потребление памяти без снижения точности модели.
По сравнению с другими форматами данных, такими как INT8 или INT4, квантование FP8 сохраняет более высокую точность, обеспечивая при этом максимальную производительность, и является наиболее удобным в реализации.
Как получить TensorRT-LLM
Хотя TensorRT-LLM еще официально не выпущен, пользователи теперь могут получить ранний доступ.
Ссылка на приложение следующая:
NVIDIA также сообщила, что TensorRT-LLM скоро будет интегрирован в инфраструктуру NVIDIA NeMo.
Этот фреймворк является частью AI Enterprise, запущенного NVIDIA не так давно и предоставляющего корпоративным клиентам безопасную, стабильную и легкоуправляемую программную платформу искусственного интеллекта корпоративного уровня.
Разработчики и исследователи могут получить доступ к TensorRT-LLM через платформу NeMo на NVIDIA NGC или как проект на GitHub.
Однако следует отметить, что пользователи должны зарегистрироваться в программе разработчиков NVIDIA, чтобы подать заявку на версию раннего доступа.
Горячая дискуссия среди пользователей сети
Пользователи сети Reddit развернули бурную дискуссию по поводу запуска TensorRT-LLM.
Трудно представить, насколько улучшится эффект после оптимизации железа специально под LLM.
Но некоторые пользователи сети полагают, что цель этой штуки — помочь Лао Хуану продать больше H100.
Однако некоторые пользователи сети с этим не очень согласны: он считает, что Tensor RT также полезен для пользователей, которые развертывают SD локально, поэтому, пока есть графический процессор RTX, в будущем можно будет получить выгоду от аналогичных продуктов.
С более макроэкономической точки зрения, возможно, для LLM, также будет проведен ряд оптимизаций на аппаратном уровне, и даже в будущем появится оборудование, разработанное специально для LLM, чтобы улучшить производительность LLM. Эта ситуация на самом деле уже популярна во многих IT-сферах. появился в приложениях, и LLM не является исключением.
Использованная литература:
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Рассуждения H100 взлетели в 8 раз! NVIDIA официально анонсировала TensorRT-LLM с открытым исходным кодом, поддерживающую более 10 моделей
Первоисточник: Синьчжиюань
«Бедные ГПУ» собираются попрощаться со своим затруднительным положением!
Только что NVIDIA выпустила программное обеспечение с открытым исходным кодом TensorRT-LLM, которое может ускорить рассуждение больших языковых моделей на H100.
После добавления TensorRT-LLM и ряда его функций оптимизации (включая пакетную обработку в полете) общая производительность модели увеличилась в 8 раз.
Кроме того, на примере Llama 2 TensorRT-LLM может повысить производительность вывода в 4,6 раза по сравнению с использованием только A100.
Пользователи сети заявили, что сверхмощный H100 в сочетании с TensorRT-LLM, несомненно, полностью изменит текущую ситуацию с выводом крупномасштабных языковых моделей!
В настоящее время из-за огромного масштаба параметров больших моделей сложность и стоимость «развертывания и вывода» остаются высокими.
TensorRT-LLM, разработанный NVIDIA, призван значительно улучшить производительность LLM и снизить затраты за счет графического процессора.
NVIDIA еще больше усовершенствовала FasterTransformer, сделав его продуктивным решением.
Видно, что TensorRT-LLM предоставляет простой в использовании модульный интерфейс прикладного программирования Python с открытым исходным кодом.
Программистам не нужны глубокие знания C++ или CUDA для развертывания, запуска и отладки различных больших языковых моделей, а также они могут добиться максимальной производительности и быстрой настройки.
Во-первых, TensorRT-LLM представлен для более чем 10 текущих крупных моделей, что позволяет разработчикам сразу запускать их.
Во-вторых, TensorRT-LLM, как библиотека программного обеспечения с открытым исходным кодом, позволяет LLM выполнять логические выводы на нескольких графических процессорах и нескольких графических серверах одновременно.
Эти серверы соединены через межсоединения NVIDIA NVLink и InfiniBand.
Третья — «Пакетная обработка в полете», представляющая собой совершенно новую технологию планирования, которая позволяет различным задачам модели входить и выходить из графического процессора независимо от других задач.
Наконец, TensorRT-LLM оптимизирован для использования механизма преобразования H100, чтобы уменьшить использование памяти и задержку во время вывода модели.
Далее давайте подробнее рассмотрим, как TensorRT-LLM повышает производительность модели.
Поддержка богатой экологии LLM
TensorRT-LLM обеспечивает очень хорошую поддержку экосистемы моделей с открытым исходным кодом.
Самые крупные и продвинутые языковые модели, такие как Llama 2-70B от Meta, требуют совместной работы нескольких графических процессоров для предоставления ответов в режиме реального времени.
Раньше, если они хотели добиться оптимальной производительности для вывода LLM, разработчикам приходилось переписывать модель ИИ, вручную разбивать ее на несколько фрагментов и координировать выполнение на всех графических процессорах.
Каждая модель может работать параллельно на нескольких графических процессорах и нескольких серверах, подключенных через NVLink, без вмешательства разработчика или изменения модели.
Поддерживается слияние ядра (Kernal Fusion), включая самую передовую реализацию FlashAttention и скрытое многоголовое внимание для контекста и этапов генерации модели GPT и т. д.
Кроме того, TensorRT-LLM включает в себя полностью оптимизированные, готовые к использованию версии многих популярных сегодня крупных языковых моделей.
К ним относятся Meta Llama 2, OpenAI GPT-2 и GPT-3, Falcon, Mosaic MPT, BLOOM и более 10 моделей, все из которых можно вызвать с помощью простого и удобного в использовании Python API TensorRT-LLM.
Эти функции могут помочь разработчикам быстрее и точнее создавать индивидуальные модели большого языка для удовлетворения различных потребностей различных отраслей.
Пакетная обработка в реальном времени
Большие языковые модели сегодня используются в самых разных приложениях.
Модель можно использовать одновременно для множества, казалось бы, несопоставимых задач — от простых ответов на вопросы и ответы в чат-боте до обобщения документов или создания длинных блоков кода.Рабочие нагрузки очень динамичны, и размеры выходных данных должны быть разных порядков для каждой задачи. нуждаться.
Разнообразие задач может затруднить эффективное пакетирование запросов и эффективное параллельное выполнение, что может привести к тому, что некоторые запросы будут выполняться раньше, чем другие.
Его основной принцип заключается в том, что весь процесс генерации текста большой языковой модели можно разбить на несколько итераций выполнения модели.
При пакетной обработке в реальном времени среда выполнения TensorRT-LLM немедленно освобождает завершенные последовательности из пакета, не дожидаясь завершения всего пакета, прежде чем продолжить обработку следующего набора запросов.
Пока выполняется новый запрос, другие незавершенные запросы из предыдущего пакета продолжают обрабатываться.
Пакетная обработка в реальном времени и дополнительная оптимизация на уровне ядра улучшают использование графического процессора и могут как минимум удвоить пропускную способность фактического теста запросов LLM на H100.
Трансформаторный двигатель H100 с использованием FP 8
TensorRT-LLM также предоставляет функцию под названием H100 Transformer Engine, которая может эффективно снизить потребление памяти и задержку во время вывода больших моделей.
Поскольку LLM содержит миллиарды весов моделей и функций активации, он обычно обучается и представляется значениями FP16 или BF16, каждое из которых занимает 16 бит памяти.
Однако во время вывода большинство моделей можно эффективно представить с меньшей точностью, используя методы квантования, такие как 8-битные или даже 4-битные целые числа (INT8 или INT4).
Квантование — это процесс уменьшения веса модели и точности активации без ущерба для точности. Использование более низкой точности означает, что каждый параметр становится меньше, и модель занимает меньше места в памяти графического процессора.
Благодаря технологии H100 Transformer Engine графический процессор H100 с TensorRT-LLM позволяет пользователям легко конвертировать веса модели в новый формат FP8 и автоматически компилировать модель, чтобы воспользоваться преимуществами оптимизированного ядра FP8.
И этот процесс не требует никакого кодирования! Формат данных FP8, представленный H100, позволяет разработчикам количественно оценивать свои модели и значительно сокращать потребление памяти без снижения точности модели.
По сравнению с другими форматами данных, такими как INT8 или INT4, квантование FP8 сохраняет более высокую точность, обеспечивая при этом максимальную производительность, и является наиболее удобным в реализации.
Как получить TensorRT-LLM
Хотя TensorRT-LLM еще официально не выпущен, пользователи теперь могут получить ранний доступ.
Ссылка на приложение следующая:
NVIDIA также сообщила, что TensorRT-LLM скоро будет интегрирован в инфраструктуру NVIDIA NeMo.
Этот фреймворк является частью AI Enterprise, запущенного NVIDIA не так давно и предоставляющего корпоративным клиентам безопасную, стабильную и легкоуправляемую программную платформу искусственного интеллекта корпоративного уровня.
Разработчики и исследователи могут получить доступ к TensorRT-LLM через платформу NeMo на NVIDIA NGC или как проект на GitHub.
Однако следует отметить, что пользователи должны зарегистрироваться в программе разработчиков NVIDIA, чтобы подать заявку на версию раннего доступа.
Горячая дискуссия среди пользователей сети
Пользователи сети Reddit развернули бурную дискуссию по поводу запуска TensorRT-LLM.
Трудно представить, насколько улучшится эффект после оптимизации железа специально под LLM.