GreenBoost: модуль Linux преобразует ОЗУ в память CUDA и совершает революцию в использовании LLM с NVIDIA
С появлением GreenBoost сценарий развития местного искусственного интеллекта претерпевает значительные изменения. Этот инновационный модуль для ядра Linux обещает преодолеть один из основных барьеров, с которыми сталкиваются разработчики и исследователи: ограничение видеопамяти (VRAM) на потребительских картах NVIDIA. Преобразуя системную оперативную память в ресурс, используемый архитектурой CUDA, GreenBoost открывает новые возможности для запуска сложных крупномасштабных языковых моделей (LLM) непосредственно на обычных ПК.
Инициатива, разработанная независимым программистом Ферраном Дуарри, представляет собой решающее достижение в среде, где высокопроизводительное оборудование, такое как графические процессоры корпоративного уровня с большим количеством видеопамяти, недоступно для большинства. Решение направлено на оптимизацию использования существующих ресурсов, позволяя полностью использовать вычислительную мощность графических процессоров NVIDIA даже при ограничениях видеопамяти, стимулируя исследования и разработки в области искусственного интеллекта с открытым исходным кодом.
Возможность запуска моделей, которым раньше требовались десятки гигабайт памяти, таких как «glm-4.7-flash:q8_0» с 31,8 ГБ памяти, на потребительском оборудовании была почти непреодолимой проблемой. Традиционные подходы часто приводили к снижению производительности или ухудшению качества вывода, что делало практическое взаимодействие с этими моделями невозможным для многих энтузиастов и мелких разработчиков.
Преодоление традиционных барьеров VRAM
Исторически сложилось так, что стратегии решения проблемы нехватки видеопамяти в потребительских графических процессорах были ограничены. Одним из наиболее распространенных решений была выгрузка избыточных слоев нейронной сети в системную память ЦП. Однако этот подход имел серьезные проблемы с производительностью. Отсутствие согласованности CUDA в памяти ЦП требовало массивной и сложной передачи данных между графическим процессором и ЦП, создавая узкое место, которое могло снизить скорость генерации токенов до десяти раз.
Другой изученной альтернативой было резкое снижение уровня квантования модели. Хотя это снизило потребность в памяти, это сопровождалось значительным ухудшением способностей LLM к выводам и логическим рассуждениям. Чтобы сохранить качество, единственным жизнеспособным вариантом было инвестировать в графические процессоры корпоративного уровня с 48 ГБ или более видеопамяти — расходы, которые превышают стоимость полной рабочей станции и недоступны для отдельных разработчиков и стартапов с ограниченным бюджетом.
Инновационная трехуровневая архитектура GreenBoost
GreenBoost — это не просто настройка драйвера или временное решение; — это тщательно разработанный модуль ядра Linux, лицензированный по лицензии GPLv2. Он действует независимо и параллельно с официальными драйверами NVIDIA, вмешиваясь непосредственно в уровень распределения памяти CUDA. Это гениальное вмешательство позволяет драйверу графического процессора распознавать системную оперативную память как «внешнюю память», создавая архитектуру расширения памяти, которая работает на трех различных уровнях для оптимизации производительности и емкости.
Первый уровень, известный как T1, представляет собой исходную видеопамять, интегрированную в графический процессор. В тестовой среде с использованием GeForce RTX 5070 с емкостью 12 ГБ и пропускной способностью примерно 336 ГБ/с этот уровень становится критическим путем для вычислений. Он хранит активные слои, к которым чаще всего обращаются в процессе вывода, обеспечивая максимальную скорость для самых требовательных операций.
Второй уровень, T2, состоит из оперативной памяти DDR4 или DDR5 материнской платы. Подключенный к графическому процессору через канал PCIe 4.0 x16, он обеспечивает скорость примерно 32 ГБ/с. Этот уровень служит эффективной областью хранения статических данных о весе модели и значительным кешем «ключ-значение» (KV), который имеет решающее значение для LLM для поддержки и ссылки на обширные контексты, позволяя ИИ работать с более полной информацией.
Наконец, третий уровень безопасности, T3, — это хранилище NVMe. Выделенное как пространство подкачки с относительно более медленной скоростью около 1,8 ГБ/с, оно предназначено для поглощения любых переполнений памяти. Этот уровень вступает в действие только в исключительных ситуациях, когда как видеопамять, так и системная оперативная память полностью исчерпаны, обеспечивая защиту от сбоев системы в экстремальных сценариях использования.
Сложность интеграции
Технический интеллект GreenBoost заключается в беспрепятственном взаимодействии компонентов ядра и пользовательского пространства. Модуль ядра (greenboost.ko) использует оптимизированный распределитель памяти для резервирования большого страничного пространства в DDR4, устраняя накладные расходы на подкачку и фрагментацию. Эти пространства экспортируются как файловые дескрипторы DMA-BUF, что обеспечивает прямой доступ к памяти.
Затем графический процессор импортирует эти страницы операционной системы как внешнюю память CUDA через API cudaImportExternalMemory. Этот процесс заставляет платформу CUDA интерпретировать физические страницы DDR4 так, как если бы они были памятью, напрямую подключенной к видеокарте, маскируя архитектуру материнской платы. Перемещение данных затем управляется как передача DMA через шину PCI Express 4.0, что исключает ненужные циклы копирования со стороны ЦП.
В пользовательском пространстве библиотека libgreenboost_cuda.so действует как умный перехватчик. Динамически вставляемый через LD_PRELOAD, он перехватывает вызовы API, такие как cudaMalloc и cudaFree. Небольшие запросы на выделение памяти направляются непосредственно в исходную VRAM без задержки. Однако большие запросы, превышающие ограничения VRAM, перенаправляются в модуль GreenBoost в ядре, который выделяет необходимую память из системной оперативной памяти и возвращает ее приложению в качестве законного указателя устройства CUDA. Для механизмов вывода, использующих dlopen и dlsym, GreenBoost имеет контрмеры, перехватывая саму функцию dlsym и даже изменяя сообщаемую емкость VRAM для принудительной разгрузки в RAM.
Синергия с оптимизаторами и практическая производительность
GreenBoost предназначен для работы вместе с новейшими подходами к выводу и предлагает многогранный набор инструментов оптимизации. Одним из примеров является его интеграция с ExLlamaV3, механизмом вывода, который изначально поддерживает путь к уровню кэша KV, предоставляемый GreenBoost. Это позволяет выделять тензор KV модели непосредственно из `/dev/greenboost` в Python через доступ `mmap` без копирования, что устраняет накладные расходы на ввод-вывод и повышает производительность.
Для длинных контекстов, превышающих 100 000 токенов, можно использовать инструмент kvpress, чтобы уменьшить нагрузку на пропускную способность системной оперативной памяти. Более того, интеграция с NVIDIA ModelOpt, официальным инструментом оптимизации NVIDIA, позволяет конвертировать модели объемом 31,8 ГБ в эффективный формат FP8 без необходимости повторного обучения, уменьшая размер до менее 16 ГБ. Эта стратегическая комбинация, которая распределяет VRAM для весов модели и системную память для KV-кеша, продемонстрировала среднюю скорость вывода от 10 до 25 токенов в секунду (ток/с) на GeForce RTX 5070, что является значительным увеличением по сравнению с тестовой средой (от 2 до 5 ток/с).
Проблема с шиной PCIe 4.0
Несмотря на революционный подход, GreenBoost не устраняет фундаментальные физические ограничения оборудования. Ферран Дуарри, разработчик, открыто говорит о самом узком месте: максимальная пропускная способность шины PCIe 4.0 x16 составляет примерно 32 ГБ/с. В то время как встроенная видеопамять современных графических процессоров предлагает сотни ГБ/с или даже более 1 ТБ/с в моделях высокого класса, скорость доступа к системной памяти через PCIe значительно медленнее, часто менее одной десятой.
Если данные о весе модели, к которым часто обращаются, неоднократно передаются между VRAM и системной памятью, это «перемешивание» приведет к значительной задержке в конвейере. Аналогичным образом, хотя диски NVMe эффективны для последовательного доступа, производительность на уровне подкачки может резко ухудшиться при обработке миллионов операций произвольного доступа в небольших блоках во время вывода. Идеальное решение для максимизации потенциала GreenBoost заключается не в одном модуле, а в интеллектуальном распределении рабочей нагрузки с использованием новейших технологий квантования параметров, таких как FP8 и INT4-AWQ, чтобы свести к минимуму вес данных в VRAM (T1) и переместить KV-кеш, который со временем растет, в ОЗУ DDR4 (T2).
Последствия для инфраструктуры искусственного интеллекта
Выпуск GreenBoost с открытым исходным кодом представляет собой решительный ответ сообщества разработчиков на искусственные ограничения, налагаемые рынком потребительских графических процессоров, где вычислительная мощность высока, но ограниченная память VRAM ограничивает промышленное использование. Это попытка с помощью программного обеспечения эмулировать унифицированную память, используемую в архитектуре Apple M-серии, которая обеспечивает массовый вывод ИИ без необходимости использования дорогостоящих модулей HBM путем интеграции этой технологии в существующие платформы ПК.
Этот метод реализации предлагает мощную контрмеру для отдельных исследователей и малых и средних экосистем разработки ИИ против растущей стоимости ускорителей ИИ корпоративного уровня. В настоящее время демонстрируемое на GeForce RTX 5070, при наличии исходного кода, ожидается, что широкий круг пользователей с картами на архитектуре Ada Lovelace и Ampere проверит и адаптирует решение. В то время, когда аппаратная масштабируемость достигла плато, подход Феррана Дуарри, заключающийся в обходе сложных уровней от управления ядром до интерфейса PCI-Express и среды CUDA, указывает на проблемы управления памятью, которые должны будут решать будущие распределенные инфраструктуры искусственного интеллекта. Разработчики по всему миру продолжают создавать альтернативы для обхода этого барьера.
Veja Tambem em News (RU)
Платформа Epic Games выпускает двенадцать высокобюджетных игр бесплатно для пользователей ПК
Падение цен на PlayStation 5 Pro ускоряет цифровые розничные продажи и устраняет глобальные запасы
Новое обновление системы Apple оптимизирует управление срочными задачами для пользователей iPhone
Утечка подробностей об оборудовании новой портативной PlayStation с графикой, превосходящей Xbox Series S
Oppo официально представляет Find X9 Ultra по всему миру с линзами Hasselblad и надежным аккумулятором
Новая версия складного смартфона принесет золото участникам Зимних игр
Тим Кук представляет новые прототипы iPhone и iPod на праздновании пятидесятилетия Apple
Samsung обновляет модуль QuickStar и расширяет визуальное управление панелью в интерфейсе One UI 8.5
Система Android получает встроенную интеграцию Gemini Nano 4 для автономной обработки на смартфонах.
Утечка раскрывает Lords of the Fallen и Sword Art Online в апрельском каталоге PS Plus Essential.
Новый смартфон Xiaomi 18 Pro Max объединяет две камеры по 200 Мп и процессор последнего поколения.