클라이언트에서 머신러닝 등이 언급되는 건 다음과 같은 사실 때문이다.
1. 데스크탑 혹은 모바일 내에서 WebGL을 경유한 기기 GPU 성능 내에서 적당한 ML
2. 5G를 통한 빠른 데이터 전송
3. tensorflow.js와 같은 클라이언트 단에서의 딥러닝 프레임워크의 존재
4. cloud computing -> edge computing으로의 부상. (굳이 서버까지 가지말고 가까운 곳에서 할 수 있으면 거기서 하는게 좋음)
5. 이용자의 컴퓨팅 리소스를 사용하게 되어 비용 부담 절감
6. (클라이언트는 아니지만 보통 FE들이 많이 쓰는) serverless에서의 ML을 시도하는 많은 회사들의 사례들 (지그재그라던지...)
특히 웹 개발자로서 필자가 생각하기에 web 또한 브라우저가 굴러갈 수 있는 환경이기만 한다면 edge로 치고, 더 외연을 확장할 수 있지 않을가 싶다. 테슬라 같은 경우도 massive한 network 통신을 줄이기 위해 차량 내부에 가급적이면 데이터를 처리하려고 한다는 말을 들은 적이 있다.
조금 궤가 다른 이야기이긴 하지만 geofencing에서도 클라우드를 거쳐서 결과를 쏴주는게 느려서 기기에 직접 저장하는게 낫다는 이야기도 있다.
또, 비교적 최근에 상장한 뷰노(이 회사 정말 쩐다)에서 근무하시는 분이 FE 단에서 딥러닝을 활용한 사례를 발표하신 바도 있다.
https://www.youtube.com/watch?v=cYm4fGQC1eE&ab_channel=FEConfKorea
브라우저에서 머신 러닝을 다루기 위한 웹 관련 여러 지식들
웹에서 이진 데이터를 다루기 위함.
https://darrengwon.tistory.com/1382
전처리, 모델링은 메인 스레드를 차단하지 않고 사용자 경험을 상승시키기 위해 웹 워커를 통한 멀티 쓰레딩을 통해 처리
https://darrengwon.tistory.com/1171