브라우저 기반 딥러닝 애플리케이션은 다섯 가지 추가적인 장점이 있습니다. 서버 비용 절감, 추론 속도 증대, 데이터 프라이버시(data privacy), GPU 가속, 즉각적인 사용입니다.
• 서버 비용은 웹 서비스를 설계하고 확장할 때 종종 중요한 고려 사항입니다. 딥러닝 모델을 적기에 실행하기 위해 GPU를 사용해야 하고 높은 계산 능력이 필요한 경우가 많습니다. 모델이 클라이언트 측에 배포되지 않으면 GPU가 장착된 머신에 배포되어야 합니다. 구글 클라우드나 아마존 웹 서비스의 CUDA GPU를 장착한 가상 머신이 여기에 해당합니다. 이런 클라우드 GPU 머신은 비싼 경우가 많습니다. 가장 기본적인 GPU 머신이더라도 현재 시간당 0.5~1달러 정도입니다(https://www.ec2instances.info와 https://cloud.google.com/gpu 참조). 트래픽이 늘어남에 따라 확장 문제와 서버 구성의 복잡성이 늘어나면 말할 것도 없이 클라우드 GPU 머신을 실행하는 비용이 높아집니다. 이런 모든 문제는 모델을 클라이언트 측에 배포함으로써 사라집니다. (종종 수 메가바이트 또는 그 이상인) 모델을 클라이언트 측에 다운로딩하는 오버헤드(overhead)는 브라우저 캐싱과 로컬 스토리지 기능으로 완화할 수 있습니다(2장).
• 추론 속도 증대: 특정 종류의 애플리케이션에서는 속도에 대한 요구 사항이 너무 엄격해서 딥러닝 모델을 클라이언트 측에서 실행해야 합니다. 실시간 오디오, 이미지, 비디오 데이터를 다루는 모든 애플리케이션이 여기에 해당됩니다. 추론을 위해 이미지 프레임을 서버로 전송한다고 생각해 보죠. 웹캠으로 초당 10프레임으로 캡처한 이미지 크기가 400 × 400 픽셀이고 채널당 8비트로 이루어진 세 개의 컬러(RGB) 채널을 가진다고 가정해 보겠습니다. JPEG로 압축해도 각 이미지 크기는 약 150Kb 정도입니다. 대략 300Kbps의 업로드 대역폭을 가진 일반적인 모바일 네트워크에서 하나의 이미지를 업로드하는 데 500밀리초 이상이 걸립니다. 일부 애플리케이션(예를 들면, 게임)에서는 속도 지연이 눈에 띄며 수용하기 어려울 수 있습니다. 이 계산에는 네트워크 연결에서 일어날 수 있는 손실과 불안정성, 추론 결과를 내려받는 데 걸리는 시간, 엄청난 양의 모바일 데이터 사용량을 고려하지 않았습니다. 이들 모두 모바일 네트워크에서 서버 기반의 추론을 어렵게 만들 수 있습니다. 클라이언트 측 추론은 데이터와 계산을 장치에서 수행함으로써 잠재적인 속도 지연과 연결 문제를 해결합니다. 클라이언트에서 모델을 실행하지 않고는 웹캠으로 얻은 이미지에 있는 물체에 레이블을 부여하거나 포즈를 감지하는 등의 실시간 머신 러닝 애플리케이션을 실행하는 것이 불가능합니다. 속도에 대한 요구 사항이 없는 애플리케이션이더라도 모델의 추론 속도를 높이면 응답 속도가 크게 높아지고, 따라서 사용자 경험을 향상시킬 수 있습니다.