Как сообщает NVIDIA Developer, NVIDIA CUDA Tile (cuTile) представляет собой основанную на Python DSL и модель параллельного программирования для графических процессоров NVIDIA, которая автоматически использует передовые аппаратные возможности для достижения максимальной производительности при программировании на уровне тайлов. Благодаря абстракции планирования потоков и варпов с помощью высокоуровневых примитивов, ориентированных на тайлы, cuTile позволяет писать ядра GPU на Python, в то время как оптимизации компилятора автоматически нацеливаются на передовые аппаратные функции, такие как Tensor Cores. Как ранний пользователь cuTile, инженеры машинного обучения компании Jane Street реализовали Mamba-2, современную модель последовательностей, в cuTile и сотрудничали с NVIDIA для оптимизации ядер. Jane Street — это высокотехническая глобальная торговая компания, использующая глубокое обучение для инноваций в области сложных количественных исследований. В этом посте рассматриваются три пользовательских ядра, обеспечивающих прямой проход Mamba-2, и оптимизации cuTile, стоящие за ними. Для использования cuTile убедитесь, что ваша среда соответствует требованиям, изложенным в руководстве по быстрой настройке Python cuTile. Импортируйте пакет как cuda.tile и используйте его как ct в реализации ядер, представленных в этом посте. Архитектуры моделирования последовательностей сталкиваются с вычислительным компромиссом: традиционное внимание softmax быстро обучается с использованием матричного умножения, ускоряемого Tensor Cores, но при выводе требования к вычислениям и памяти увеличиваются линейно с длиной последовательности. В отличие от этого, рекуррентные нейронные сети (RNN) страдают от медленного, непараллелизуемого обучения, но требуют постоянных вычислений и фиксированного объема памяти независимо от длины последовательности. Архитектура Mamba-2 происходит из семейства моделей, стремящихся к лучшему из обоих миров. Подобно RNN, она имеет фиксированный размер скрытого состояния и рекуррентное обновление, которое может вычисляться по частям эффективно с использованием Tensor Cores. Основная рекурсия Mamba-2 представлена формулой. Интуитивно, переменная dt_t (один скаляр на голову) представляет, насколько должно обновляться состояние. Все значения в dt отрицательны, поскольку предыдущее состояние умножается на exp(Adt_t), состояние остается прежним, когда dt_t равно нулю. Архитектура Mamba-2 оптимизирует вычисления, позволяя эффективно вычислять скрытое состояние на различных контрольных точках последовательности. Следующий шаг — найти способ вычислить выходные данные, используя только начальное состояние. Это будет легко, если вычислять h_1, h_2, h_3, h_4, но это нарушит суть формулы перехода. Тем не менее, убирая убывающий член, цель состоит в том, чтобы вычислить выходные данные. Оптимизация производительности Mamba-2 включает в себя несколько ключевых улучшений, таких как аннотации операций загрузки и хранения с подсказками по задержке для моделирования трафика DRAM, а также автоматическое нахождение оптимальной конфигурации для каждой формы ввода с использованием autotuner cuTile-Python. Результаты показывают, что оптимизированные ядра прямого прохода cuTile в 1,14-1,82 раза быстрее, при этом ускорение увеличивается с ростом длины последовательности и размера состояния. Эти улучшения способствуют более эффективному использованию ресурсов и повышению производительности в задачах глубокого обучения. cuTile позволяет писать четкие, читаемые и высокопроизводительные ядра на Python. Следите за обновлениями, чтобы узнать о том, как реализован обратный проход в cuTile. Материал подготовлен нейросетью на основе оригинальной публикации. ИИ может ошибаться в деталях (цифры, имена, даты, цитаты) — для важной информации сверяйтесь с первоисточником.
Материал агрегирован из первоисточника:
SMNTCN (Semanticon) — глобальные новости ИИ
Читать полностью в SMNTCN (Semanticon) — глобальные новости ИИОптимизация Mamba-2 с помощью высокопроизводительных ядер в NVIDIA CUDA Tile
NVIDIA CUDA Tile оптимизирует Mamba-2, улучшая производительность на GPU.
Кратко от AI: Главные тезисы
- NVIDIA CUDA Tile оптимизирует Mamba-2, улучшая производительность на GPU.
Оптимизация Mamba-2 с помощью высокопроизводительных ядер в NVIDIA CUDA Tile
Похожие материалы
ИИ только что сделал ОГРОМНЫЙ скачок на пути к тому, чтобы стать человеком
Компания Джека Дорси Block только что выпустила искусственный голос, который невозможно отличить от реального человека. Это называется Деса. Он смеется в середине вашего предложения, как это сделал бы друг. Там написано: «Да, и я понял, пока ты еще говоришь». Он делает паузу. Оно спотыкается. Это…
ИИ приносит «нулевую финансовую отдачу» большинству компаний, говорит экономист Apollo
«Несмотря на огромные инвестиции и широко распространенную шумиху вокруг искусственного интеллекта, эта технология не принесла корпоративной Америке нулевой финансовой отдачи за пределами технологий».
Итоги уходящей недели - то, что имеет значение
Итоги уходящей недели - то, что имеет значение Бизнес ИИ- компаний Тренд 2027. Будущее коммерции агентов. Платежи ИИ-агентов: за что сейчас идёт борьба? Разбор тут. Новая финансовая инфраструктура для ИИ-агентов. Скрытый налог на ИИ-агентов-кто на этом заработает? Разбор здесь.…
Teradyne Robotics сотрудничает с Sereact для масштабирования физического искусственного интеллекта в розничной торговле и логистике
В центрах реализации Zalando в Германии и Польше компании Sereact и Universal Robots теперь автономно обрабатывают возвращенные модные товары. | Источник: Teradyne Robotics Teradyne Robotics, компания, создающая Universal Robots и Mobile Industrial Robotics, на прошлой неделе заключила партнерское соглашение с…

