К содержанию
Умно. Полезно. Иногда несерьёзно.
Энтузиасты сняли с видеокарт Nvidia ИИ-ограничение

Энтузиасты сняли с видеокарт Nvidia ИИ-ограничение

У RTX 4090 пиковая скорость тензорных вычислений в FP16 выросла со 165,6 до 331,6 терафлопс, а вот чат-боты на ней быстрее не заработают.

Фото: Christian Wiediger / Unsplash

Независимые разработчики нашли способ снять с игровых видеокарт Nvidia GeForce RTX 20, 30 и 40 искусственное ограничение на матричные вычисления для ИИ. Об этом 26 октября написал Tom’s Hardware. Открытые проекты gpu-unlock и его ответвления удваивают пиковую скорость тензорных ядер у RTX 4090. Модификация опасна для железа, и Nvidia её никак не комментировала.

Ограничение касается вычислений с накоплением результата в формате FP32. Такая точность нужна при обучении нейросетей. По опубликованным характеристикам Nvidia, игровые карты этих поколений выполняют такие операции вдвое медленнее, чем с накоплением в FP16. На профессиональных картах Turing и Ampere этого ограничения нет.

Как работает взлом

Лимиты скорости хранятся в двух регистрах, в которые драйвер на компьютере записать не может. Но в подписанной прошивке Booter, которая работает на защищённом сопроцессоре SEC2, нашлось переполнение буфера в стеке. Исследователи обнаружили его после того, как Nvidia опубликовала отладочную версию Booter, зашифрованную известным тестовым ключом.

Ошибку впервые описал Джон Прай в июньской работе, а нашли её на майнинговой карте CMP 170HX. Одна запись в 4 байта открывает доступ к регистрам и выставляет полную скорость. Затем модуль перезагружает карту, прежде чем к ней подключится драйвер Nvidia. Автор gpu-unlock под ником Zagitta говорит, что программа лишь «переключает 2 бита», а сами эксплойты придумал не он.

Что даёт разблокировка

У RTX 4090 пиковая производительность в FP16 выросла со 165,6 до 331,6 терафлопс, в BF16 — со 165,5 до 330,6. В реальных матричных тестах прирост скромнее: у одного владельца RTX 4090 под Linux он составил 12–34% в FP16. Пользователи RTX 3090 Ti, 3080, 3070 и 3060 сообщают о росте в BF16 на 56–94% в отдельных тестах.

Работает это на RTX 4090, ряде карт RTX 30 и модифицированной RTX 2080 Ti с 22 ГБ памяти. Серию RTX 50 метод не поддерживает. Обработка запроса в языковых моделях ускоряется на 14–36%, но скорость выдачи токенов у чат-ботов почти не меняется, потому что упирается в пропускную способность памяти. Разработчики KohakUnlock отдельно предупреждают, что это не двукратное ускорение в играх и приложениях.

Риски авторы не скрывают. Модификация может повесить карту или компьютер, помешать загрузке, повредить данные или само устройство. Ограничение отличает игровые карты от профессиональных, которые Nvidia продаёт отдельно. Подробнее о компании — в нашем досье на Nvidia.

Источники: Tom’s Hardware — о снятии ИИ-ограничения с видеокарт RTX 20, 30 и 40