본문으로 바로가기

클라이언트단에서의 머신러닝?

category 🤖 ML in browser 2021. 11. 15. 02:28

클라이언트에서 머신러닝 등이 언급되는 건 다음과 같은 사실 때문이다.

 

1. 데스크탑 혹은 모바일 내에서 WebGL을 경유한 기기 GPU 성능 내에서 적당한 ML
2. 5G를 통한 빠른 데이터 전송 

3. tensorflow.js와 같은 클라이언트 단에서의 딥러닝 프레임워크의 존재

4. cloud computing -> edge computing으로의 부상. (굳이 서버까지 가지말고 가까운 곳에서 할 수 있으면 거기서 하는게 좋음)

5. 이용자의 컴퓨팅 리소스를 사용하게 되어 비용 부담 절감

6. (클라이언트는 아니지만 보통 FE들이 많이 쓰는) serverless에서의 ML을 시도하는 많은 회사들의 사례들 (지그재그라던지...)

 

특히 웹 개발자로서 필자가 생각하기에 web 또한 브라우저가 굴러갈 수 있는 환경이기만 한다면 edge로 치고, 더 외연을 확장할 수 있지 않을가 싶다. 테슬라 같은 경우도 massive한 network 통신을 줄이기 위해 차량 내부에 가급적이면 데이터를 처리하려고 한다는 말을 들은 적이 있다. 

 

조금 궤가 다른 이야기이긴 하지만 geofencing에서도 클라우드를 거쳐서 결과를 쏴주는게 느려서 기기에 직접 저장하는게 낫다는 이야기도 있다.

https://thenextweb.com/news/superfast-geofencing-could-be-the-answer-to-rogue-escooter-riders-syndication

 

또, 비교적 최근에 상장한 뷰노(이 회사 정말 쩐다)에서 근무하시는 분이 FE 단에서 딥러닝을 활용한 사례를 발표하신 바도 있다. 

https://www.youtube.com/watch?v=cYm4fGQC1eE&ab_channel=FEConfKorea 

 

브라우저에서 머신 러닝을 다루기 위한 웹 관련 여러 지식들

 

웹에서 이진 데이터를 다루기 위함.

https://darrengwon.tistory.com/1382

 

ArrayBuffer, Typed Arrays, DataView : raw binary data를 핸들링해보자

typed array? es6에서 도입된 녀석이다. js의 배열은 raw binary data를 다루지 못했기 때문에 Typed Arrays(형식화 배열)가 도입되었다. 웹에서 영상, 음성, 파일과 같은 binary를 자주 다루게 되면서 여러 값

darrengwon.tistory.com

 

전처리, 모델링은 메인 스레드를 차단하지 않고 사용자 경험을 상승시키기 위해 웹 워커를 통한 멀티 쓰레딩을 통해 처리

https://darrengwon.tistory.com/1171

 

웹 워커 Web Workers API : 브라우저 멀티 쓰레딩

javascript는 싱글 쓰레드인데 멀티 쓰레딩을 어떻게 하지? HTML5 에는 Web Worker 스펙을 추가 하여 브라우저에서 멀티 쓰레드 구동이 가능하게 되었습니다. 사실 그간 웹 외에 일반 앱(데스크탑, 모바

darrengwon.tistory.com

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체