깐죽이의 정보 바다

NVIDIA가 개발·제공하는 GPU용의 범용 병렬 컴퓨팅 플랫폼인 「CUDA」를 넘는 생산성과 고속 코드 기술이 가능하게 되는 오픈 소스의 신경 네트워크용 프로그래밍 언어 「Triton」이 공개되었습니다. 매우 효율적인 커스텀 딥 러닝 프리미티브를 생성하기 위한 언어 컴파일러가 되었으며 GitHub에 개발 리포지토리가 공개되어 있습니다.

Introducing Triton: Open-Source GPU Programming for Neural Networks
https://www.openai.com/blog/triton/

OpenAI debuts Python-based Triton for GPU-powered machine learning | InfoWorld
https://www.infoworld.com/article /3627243/openai-debuts-python-based-triton-for-gpu-powered-machine-learning.html

OpenAI proposes open-source Triton language as an alternative to Nvidia's CUDA | ZDNet
https://www.zdnet.com/article /openai-proposes-triton-language-as-an-alternative-to-nvidias-cuda/

인공지능(AI)에 대해 연구하는 비영리 단체OpenAI 는 Python을 기반으로 한 오픈 소스 신경망을위한 프로그래밍 언어 "Triton"의 버전 1.0을 출시했습니다.

OpenAI가 CUDA를 대체하는 프로그래밍 언어로 Triton을 개발한 이유는 매우 간단합니다. 특히 GPU에 대한 네이티브 커널이나 함수를 만들 때는 멀티코어 GPU의 메모리 계층 전체에서 할당 데이터와 명령어를 이동해야 하며 프로그래밍이 매우 복잡해집니다.

 

Basic architecture of a GPU

OpenAI에 따르면 Triton을 사용하면 CUDA를 다룬 적이 없는 연구자라도 GPU 코더가 작성한 것과 동등한 수준의 매우 효율적인 GPU 코드를 기술할 수 있습니다. 예를 들어, 25 줄 미만의 코드로 cuBLAS 의 성능에 필적하는 FP16 곱셈 커널을 만들 수 있습니다.

기술 미디어의 ZDNet이 OpenAI에 문의한 결과, Philippe Tillet은 “우리의 목표는 딥 러닝을 위한 CUDA의 실행 가능한 대안을 만드는 것”이라는 의견을 반환했다고 합니다. 게다가, Tillet은 Triton의 목표는 "뛰어난 소프트웨어 엔지니어링 기술을 가지고 있음에도 불구하고 GPU 프로그래밍에 익숙하지 않다는 기계 학습 엔지니어와 연구자를위한 것"이라고 말했다.

OpenAI의 연구자들은 이미 Triton을 이용하고 있으며 PyTorch 에서의 프로그래밍에 비해 최대 2배나 효율적인 커널 작성에 성공했다고 어필하고 있습니다.

 

OPEN AI

Triton을 사용하는 경우 개발자는 전용 라이브러리를 사용하여 Python으로 코드를 작성하고 GPU에서 실행하기 위해 JIT 컴파일합니다. 이것은 기계 학습 솔루션을 개발하기 위한 파이썬 에코시스템의 나머지 부분과 통합이 가능하다는 것입니다.

기술 미디어의 InfoWorld는 "Triton의 라이브러리는 NumPy 를 방불케 하는 일련의 프리미티브를 제공하고 있습니다"라고 기록하고 NumPy와의 유사성을 지적. 구체적으로는, 행렬 연산이나 어떠한 기준에 따라 배열의 축소를 실행하는 함수를 제공하는 점등을 들고 있습니다. 또, 프리미티브를 독자적인 코드와 통합해, GPU로 실행하도록 컴파일 한다고 하는 점에서는, 「Numba 도 닮아 있다」라고 적었습니다.

Triton은 2019년에 발표된 논문 을 기반으로 한 것이지만, 아직 시작한 프로젝트입니다. 기사 작성 시점에서 리눅스에서만 사용할 수 있으며, 제공된 문서도 최소한이기 때문에 InfoWorld는 “조기에 채택하는 개발자는 소스와 예제를 면밀히 조사할 필요가 있을지도 모릅니다. "라고 경고합니다.

Triton 개발 리포지토리는 다음에서 액세스할 수 있습니다.

GitHub - openai/triton: Development repository for the Triton language and compiler
https://github.com/openai/triton

 

OPEN AI GITHUB

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band shouturl