web-llm: 무엇인지, 어떤 문제를 해결하는지 & 왜 인기를 얻고 있는지
web-llm: 무엇인지, 어떤 문제를 해결하는지 & 왜 인기를 얻고 있는지
해결하는 문제
WebLLM은 대규모 언어 모델(LLM)을 웹 브라우저 내에서 직접 실행할 수 있게 해주는 고성능 추론 엔진입니다. 이는 서버 측 처리를 필요로 하지 않으며, WebGPU를 통해 사용자의 하드웨어 가속을 활용함으로써 사용자 개인정보 보호를 강화하고 서버 비용을 절감합니다.
작동 방식
WebLLM은 하드웨어 가속을 위해 WebGPU를 사용하고 최적의 성능을 위해 WebAssembly (WASM)를 사용합니다. 웹 애플리케이션에 통합할 수 있는 모듈형 npm 패키지로 설계되었습니다. 다양한 캐시 백엔드(Cache API, IndexedDB, OPFS 등)를 지원하여 모델 가중치를 브라우저에 로컬로 저장할 수 있으므로 매번 다운로드할 필요가 없습니다. UI 지연을 방지하기 위해 Dedicated Web Workers 또는 Service Workers로 작업을 오프로드할 수 있습니다.
대상 사용자
백엔드 인프라를 관리하지 않고 브라우저에서 LLM을 로컬로 배포하고자 하는 AI 어시스턴트, 챗봇 또는 Chrome 확장을 구축하는 웹 개발자.
주요 특징
- OpenAI API 호환성: OpenAI에서 사용하는 것과 동일한 API 패턴을 스트리밍, JSON-mode, 시딩(seeding)에 사용할 수 있습니다.
- WebGPU 가속: 클라이언트 측에서 완전히 실행되는 고성능 추론.
- 폭넓은 모델 지원: Llama 3, Phi 3, Gemma, Mistral, Qwen을 기본적으로 지원합니다.
- 구조화된 JSON 생성: 보장된 구조화된 출력을 위한 최첨단 JSON mode.
- 유연한 배포: NPM, Yarn 또는 CDN을 통한 통합을 지원하며, 더 나은 성능을 위해 Web Workers 또는 Service Workers 내에서 실행할 수 있습니다.
Sources
- undefinedmlc-ai/web-llm