피드로 돌아가기
Gradio-Lite: Serverless Gradio Running Entirely in Your Browser
Hugging Face BlogHugging Face Blog
Frontend

Gradio 팀이 Pyodide를 활용해 Python ML 앱을 브라우저에서 직접 실행하는 @gradio/lite를 개발해 서버 인프라 의존성 제거

Gradio-Lite: Serverless Gradio Running Entirely in Your Browser

2023년 10월 19일7beginner

Context

Gradio는 대중적인 Python 라이브러리지만 전통적으로 서버 인프라에 의존해야 했으며, 이로 인해 개발자들이 애플리케이션 호스팅에 어려움을 겪었습니다.

Technical Solution

  • Pyodide(WebAssembly 기반 Python 런타임)를 활용해 브라우저에서 Python 코드 실행: 기존 서버 의존성 제거
  • <gradio-lite> HTML 태그로 Python Gradio 코드를 직접 작성: 추가 빌드 프로세스 불필요
  • <gradio-file> 태그로 다중 Python 파일 지원: app.py와 utils.py 등을 별도 파일로 구성 가능
  • <gradio-requirements> 태그로 micropip 기반 패키지 설치 자동화: transformers_js_py 등 WebAssembly 지원 패키지 설치
  • CDN 기반 배포(jsdelivr)로 정적 HTML 파일만으로 실행: Hugging Face Static Space 같은 서버리스 호스팅 플랫폼 활용 가능

Impact

초기 로딩 시간이 5~15초 소요됩니다.

Key Takeaway

WebAssembly 런타임(Pyodide)을 활용하면 기존 Python 프레임워크를 브라우저 환경으로 옮겨 서버 인프라를 완전히 제거할 수 있으며, 이는 배포 비용 절감과 데이터 프라이버시 향상을 동시에 달성합니다.


ML 모델 데모나 인터랙티브 도구를 배포하는 팀에서 @gradio/lite를 사용하면 백엔드 서버 운영 비용을 제거하고, 사용자 데이터가 브라우저에서만 처리되도록 해 개인정보 규제(GDPR 등) 준수를 간소화할 수 있습니다.

원문 읽기