Компания OpenAI представила язык программирования с открытым исходным кодом Triton, который позволит разработчикам легко создавать высокоскоростные алгоритмы машинного обучения.
Triton впервые был представлен в 2019 году на Международном семинаре по машинному обучению и языкам программирования. Вскоре после этого создатель языка программирования Филипп Тилле перешел работать в OpenAI.
Разработчики Triton утверждают, что язык программирования позволит достичь максимальной производительности оборудования без значительных усилий. Triton предназначен для написания высокоэффективного кода, выполняемого на графическом процессоре, разработчиками без опыта работы с CUDA.
Язык программирования совместим с Python и позволил исследователям с помощью 25 строк выполнить задачу, на реализацию которой обычно уходит больше усилий и ресурсов.
Triton также упрощает разработку специализированных ядер, которые могут быть намного быстрее аналогов в библиотеках общего назначения. Компилятор автоматически оптимизирует и распараллеливает код, преобразуя его для выполнения на последних графических процессорах Nvidia.
«Triton позволяет достичь максимальной производительности оборудования с относительно небольшими усилиями. Например, его можно использовать для умножения матриц FP16, что соответствуют производительности cuBLAS — чего не могут сделать многие программисты графических процессоров менее чем в 25 строках кода», — пояснил Тилле.
Тилле также отметил, что исследователи OpenAI уже использовали Triton для создания ядер, которые в два раза эффективнее эквивалентных реализаций Torch. Все же Triton не автоматизирует весь рабочий процесс, так как OpenAI стремился предоставить разработчикам в первую очередь гибкость, позволяющую вручную настраивать процесс для своих проектов по мере необходимости.
Первая версия языка программирования доступна на GitHub. На сегодняшний день он работает лишь с оборудованием от Nvidia.