Разработчики: | OpenAI |
Дата премьеры системы: | июль 2021 г |
Отрасли: | Информационные технологии |
Технологии: | Средства разработки приложений |
2021: Анонс языка программирования для создания нейросетей
В конце июля 2021 года OpenAI представила язык программирования с открытым исходным кодом Triton, который, по сообщению компании, позволит разработчикам легко создавать высокоскоростные алгоритмы машинного обучения.
Triton впервые был представлен в 2019 году на Международном семинаре по машинному обучению и языкам программирования. Вскоре после этого создатель языка программирования Филипп Тилле перешел работать в OpenAI.
Разработчики Triton утверждают, что язык программирования позволит достичь максимальной производительности оборудования без значительных усилий. Triton предназначен для написания высокоэффективного кода, выполняемого на графическом процессоре, разработчиками без опыта работы с CUDA.
Язык программирования Triton совместим с Python, разработчикам удалось с помощью 25 строк выполнить задачу, на реализацию которой потребовалось гораздо больше ресурсов. Представленное OpenAI решение также упрощает создание специализированных ядер, которые могут быть намного быстрее аналогов в библиотеках общего назначения. Компилятор автоматически оптимизирует код, преобразуя его для выполнения на последних графических процессорах Nvidia.
![]() | Triton позволяет достичь максимальной производительности оборудования с относительно небольшими усилиями, - пояснил Тилле. - Например, его можно использовать для умножения матриц FP16, что соответствуют производительности cuBLAS - чего не могут сделать многие программисты графических процессоров менее чем в 25 строках кода. | ![]() |
Тилле также отметил, что исследователи OpenAI уже использовали Triton для создания ядер, которые в два раза эффективнее эквивалентных реализаций Torch. Все же Triton не автоматизирует весь рабочий процесс, так как OpenAI стремился предоставить разработчикам в первую очередь гибкость, позволяющую вручную настраивать процесс для своих проектов по мере необходимости.[1]
Примечания
Подрядчики-лидеры по количеству проектов
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
Данные не найдены
Распределение систем по количеству проектов, не включая партнерские решения
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)
![](/skins/ta/img/0.gif)