본문 바로가기
AI 빅데이터/AI 동향

[Inference] WebGPU

by 마고커 2023. 10. 25.


WebGPU가 크롬미움 113 버전부터 지원된다고 한다. 이게 뭔가 싶지만, 기존의 WebGL을 생각하면 쉬워진다.

 

<WebGL 구조. 출처: https://emunix.emich.edu/~mevett/GraphicsCourse/Labs/Lab1/wip.html>

구조를 이해할 필요는 없고, 단순하게 말하면 웹브라우저에서 GPU를 바로 액세스해서 브라우저에 더 빠르고 미려한 그래픽을 제공하겠다는 것이다. 그럼 고사양 게임 같은 것들도 브라우저 상에서 실행 가능하게 된다. 하지만, 큰 문제가 하나 있는데, WebGL이 30년도 더 된 OpenGL 라이브러리에 기초하고 있다는 것이다. 애플의 Metal, 마이크로소프트의 DirectX 12, AMD의 Vulkan과 같은 그래픽 라이브러리들은 OpenGL을 지원하지 않는다. 

 

WebGPU는 이와 같은 문제를 해결하는 새로운 표준으로 클라이언트 PC의 GPU 자원을 제대로 사용할 수 있도록 해 준다. 

 

 

GPU 사용이 브라우저 상에서 이루어지니, AI에서의 활용 가능성이 생겨났고 인퍼런스를 서버 자원이 아닌 클라이언트 자원으로 활용할 수 있게 되었다. 

 

아래에서 WebGPU를 활용하여 Stable Diffusion 모델 추론하는 것을 테스트할 수 있다. 

 

 

WebSD | Home

Home Github Web Stable Diffusion This project brings stable diffusion models to web browsers. Everything runs inside the browser with no need of server support. To our knowledge, this is the the world’s first stable diffusion completely running on the br

websd.mlc.ai

 

갖고 있는 Apple M1 Mackbook Air에서 추론에 약 3분의 시간이 걸렸다. 같은 내용을 인텔 i5 CPU로 수행했을 때는 12분 이상이 소요되었다. 

 

 

지금은 대부분의 GPU에서 사용하기 쉽지 않은 추론 속도지만, 단말, GPU 성능이 계속 좋아지면 왠만한 AI 모델들은 클라이언트에서 돌아가게 하여 AI 확산에 기여할 수 있지 않을까 싶다. 

 

참고로 클라이언트 머신에 맞게 모델 최적화가 이루어져야 하는데 Apache의 TVM(Tensor Virtual Machine)이 그 역할을 한다. 

 

 

위에 소개된 Git에서 Step-by-Step Notebook도 제공하고 있다.



댓글