본문 바로가기

AI Feed
Tech & Product/AI, 더 깊게

GPU의 효율을 극대화 하는 솔루션 - Coaster

최근 AI 관련 산업이 늘면서 데이터 학습, 추론, 서비스 등 GPU를 많은 곳에서 사용하고 있습니다.

 

많은 수요와 동시에 GPU의 가격도 천정부지로 오르고 있어 고가의 GPU를 효율적으로 사용하고자 하는 수요도 늘고 있습니다. 국내 MLOps 솔루션 회사인 주식회사 텐의 Coaster를 소개해드리고자 합니다.

 

Coaster

 

Coaster란?

Ten에서 개발한 솔루션으로 서버의 리소스(CPU, GPU, RAM 등)를 필요한 만큼 나눠 독립된 컨테이너 환경으로 제공하는 솔루션

 

오늘은 Coaster 솔루션의 여러 기능 중 GPU 효율성 향상을 초점으로 진행한 실험 결과를 공유해 드리고자 합니다.

GPU 장비가 고가이다 보니, 하나의 GPU에 여러 서비스를 올리거나 다수의 개발자가 동시에 개발/테스트를 진행하는 경우가 있습니다. 이때 다수의 프로세스가 하나의 GPU를 동시에 사용하게 되면 성능 저하가 불가피합니다.

이 경우 Coaster 솔루션을 적용하여 사용한다면 컨테이너 환경으로 서버의 리소스를 독립적으로 나눠주어 성능 저하와 타 프로세스의 간섭을 최소화할 수 있습니다.

 


 

실험 환경은 MNIST와 텍스트 이진 분류 학습 코드를 사용하여 동시에 여러 사용자가 GPU를 사용하는 환경을 가정하기 위해 데이터 학습 프로세스를 1, 2, 4, 5개 순으로 증가시키는 방법으로 진행하였고, Coaster를 적용한 환경과 적용하지 않은 환경에서 학습 소요 시간을 비교해 보았습니다.

MNIST 학습 성능 비교 실험 결과입니다.

텍스트 이진 분류 학습 성능 비교 실험 결과입니다.

Coaster를 적용한 환경은 파란색, Coaster를 적용하지 않은 환경은 노란색입니다.


Coaster를 적용하지 않은 환경에서는 두 학습 코드 모두 프로세스가 증가함에 따라 소요 시간이 늘어나는 것을 확인할 수 있습니다.
반면 Coaster를 적용한 환경에서는 프로세스가 증가하여도 소요 시간에는 변화가 없는 것을 알 수 있습니다.
5개 프로세스를 동시에 돌릴 경우 최대 91%까지 성능 개선이 되는 점을 확인했습니다.

GPU의 특성상 한순간에는 하나의 프로세스만 GPU를 점유하여 사용하면서 Context switching으로 인한 overhead가 발생하는데, Coaster 솔루션에서 이를 동시에 접근하여 사용할 수 있는 환경을 제공함으로써 GPU를 매우 효율적으로 사용할 수 있습니다.

 


 

Coaster의 이 같은 특성을 활용하여 다수의 마이크로 서비스를 제공하는 기업, 여러 학생이 동시에 연구 개발을 진행하는 대학 연구실 등 GPU를 사용하는 다양한 분야에서 효과를 얻을 수 있습니다.