OpenAI создал новый язык программирования Triton

OpenAI создал новый язык программирования Triton
11.08.2021
39018

Американская компания OpenAI, которая занимается созданием технологий машинного обучения, представила новый язык программирования Triton. Он станет альтернативой CUDA от Nvidia и поможет быстро запускать модели с использованием мощностей видеокарты.

Машинному обучению – мощную графику

Производительные современные видеокарты давно скупают майнеры. Быстрая память и мощные процессоры, встроенные в них, позволяют ускорить вычисление хешей и эффективнее добывать криптовалюту.

Исследователи тоже «положили глаз» на графические адаптеры. Под них пишут программы для просчета сложных математических моделей, тренировки систем машинного обучения и других нагруженных вычислений.

Производитель видеокарт Nvidia разработал собственный инструмент программирования CUDA для работы с графическими адаптерами. Но простым его не назовешь – по крайней мере, специалисты, которые раньше писали на Python, испытывают сложности с переходом на CUDA.

Triton призван решить эту проблему. Он столь же прост, как Python, но при этом позволяет создавать сложные модели для запуска на видеокартах.

Назначение Triton

Triton – проект с открытым исходным кодом. Его репозиторий уже есть на GitHub.

Разработчик Triton Филипп Тилле – на тот момент выпускник Гарварда, а сейчас – сотрудник OpenAI, – впервые представил его в 2019 году. Он хотел создать язык, который был выразительнее стандартных библиотек для искусственного интеллекта, например, cuDNN от Nvidia, и мог бы обрабатывать широкий спектр операций с матрицами, задействованными в нейронных сетях. В то же время Тилле хотел добиться переносимости и производительности, сопоставимой с cuDNN и другими популярными решениями.

Triton позволит исследователям, у которых нет опыта работы с CUDA, писать высокоэффективный код для выполнения на графическом процессоре. Максимальной производительности можно будет добиться, приложив небольшие усилия. Например, чтобы создать ядра матричного умножения FP16, достаточно всего 25 строк кода.

 

Производительность Triton по сравнению с популярными решениями в задачах умножения матриц

 

В OpenAI подчеркнули, что с Triton удалось создать ядра, которые в два раза эффективнее, чем эквивалентные реализации с библиотекой Torch для Python. Такой код часто используют в задачах глубокого обучения, и он потенциально может повысить эффективность работы нейросетей.

Особенности языка

Графические процессоры даже с CUDA и другими инструментами очень сложно оптимизировать для обеспечения локальности и параллелизма вычислений. Тилле решил использовать концепцию тайлов (плиток) – что-то подобное есть и в CUDA, но реализовано иначе.

В Triton матрицы, которые используются в программе машинного обучения, разбиваются на тайлы – фрагменты, которые можно эффективно распределять по общей памяти SRAM и быстрой регистровой памяти и обрабатывать параллельно с помощью нескольких потоков инструкций. Но если в CUDA для этого приходится создавать явные операторы синхронизации между потоками инструкций программы, в Triton все происходит автоматически.

 

Автоматическое распараллеливание вычислений в Triton

 

Семантика Triton определяет тайлы как встроенные типы. Компилятор Triton знает, как эффективно распределить эти фрагменты между ядрами графического процессора и сопровождающими их регистрами. Выполняет он и другие оптимизации, так что исследователям не нужно сильно вникать в детали реализации.

Пока на Triton можно работать только с видеокартами Nvidia. Но Тилле и его коллеги ищут единомышленников, которые смогли бы заняться портированием проекта и на видеокарты AMD.

Автор:
Обозреватель

См. также

Минцифры подготовило проект постановления по запуску платформы, на которой ИТ-специалисты могут пройти добровольное тестирование и подтвердить свою квалификацию.

11.12.2024    989    user1915669    3       

2

Федеральная налоговая служба запустила интерактивный сервис, позволяющий формировать в машиночитаемом виде договоры, контракты, соглашения и спецификации. Чтобы создать документ и скачать получившийся файл, регистрация не требуется.

03.12.2024    791    user2114475    0       

2

Российский Альянс по искусственному интеллекту обновил требования к специалистам по ИИ: вышла новая модель с основными профессиями и навыками. Теперь базовых профессий в сфере ИИ осталось только четыре.

01.11.2024    950    user1915669    0       

3

Система платежей «Волна» по планам сделает возможной бесконтактную оплату для владельцев IPhone в России, а BRICS Pay позволит совершать безналичные расчеты иностранцам по картам Visa и Mastercard.

23.10.2024    1258    AnastasiaKl    0       

4

Конструктор сайтов Wix уходит из России с 12 сентября 2024 года – перестанут работать все российский аккаунты. Сайты, привязанные к аккаунтам, также перестанут работать.

11.09.2024    1238    user1915669    2       

2

ИИ научат разработке цифровых интегральных микросхем – несколько российских научных институтов заявили об участии в проекте. Проект рассчитан на 3 года – с 2024 по 2026.

23.07.2024    872    user1915669    0       

2

Развитие искусственного интеллекта и цифровых сервисов в России стало причиной роста потребности в мощных центрах обработки данных. Эксперты прогнозируют, что дефицит ЦОД, который уже наблюдается сегодня, в ближайшие годы будет только усиливаться.

18.07.2024    988    AnastasiaKl    0       

1

В сентябре 2024 года видеоигры в России начнут маркировать – пока на добровольной основе. Геймерам будут сообщать о семи видах чувствительного (неприятного) контента в игре.

17.07.2024    1064    user1915669    0       

1
Инфостарт бот

Оставьте свое сообщение