WebLLM: high-performance in-browser LLM inference engine

개요

WebLLM은 WebGPU를 활용하여 하드웨어 가속을 통해 브라우저 내에서 직접 대규모 언어 모델(LLM) 추론을 수행할 수 있는 고성능 인-브라우저 LLM 추론 엔진입니다.

주요 내용

* 브라우저 내 추론: 서버 지원 없이 모든 연산이 브라우저 내에서 WebGPU를 통해 하드웨어 가속되어 LLM 추론을 실행합니다.
* OpenAI API 호환성: OpenAI API와 완전히 호환되어, 스트리밍, JSON 모드, 함수 호출(개발 중) 등 기존 API 기능을 로컬 환경의 오픈 소스 모델에 적용할 수 있습니다.
* 구조화된 JSON 생성: 최신 JSON 모드 구조화 생성을 지원하며, 최적의 성능을 위해 모델 라이브러리의 WebAssembly 부분에 구현되어 있습니다.
* 광범위한 모델 지원: Llama 3, Phi 3, Gemma, Mistral, Qwen(통의천문) 등 다양한 모델을 네이티브로 지원하며, MLC 형식의 사용자 정의 모델도 쉽게 통합 및 배포할 수 있습니다.
* 플러그 앤 플레이 통합: NPM, Yarn 등의 패키지 관리자나 CDN을 통해 쉽게 프로젝트에 통합할 수 있으며, UI 컴포넌트 연결을 위한 모듈식 디자인과 예제를 제공합니다.
* 스트리밍 및 실시간 상호작용: 스트리밍 채팅 완료를 지원하여 챗봇 및 가상 비서와 같은 대화형 애플리케이션의 실시간 출력을 향상시킵니다.
* Web Worker 및 Service Worker 지원: 별도의 워커 스레드나 서비스 워커로 연산을 오프로드하여 UI 성능을 최적화하고 모델 생명주기를 효율적으로 관리합니다.
* Chrome 확장 프로그램 지원: WebLLM을 사용하여 사용자 정의 Chrome 확장 프로그램을 개발할 수 있으며, 기본 및 고급 확장 프로그램 빌드 예제가 제공됩니다.
* 무결성 검증: 선택적으로 모델 아티팩트의 무결성을 SRI(Subresource Integrity) 해시를 사용하여 검증할 수 있습니다.
* 사용자 정의 모델 통합: MLC LLM과의 연동을 통해 사용자 정의 모델을 MLC 형식으로 컴파일하고 WebLLM에 통합할 수 있습니다.

시사점

WebLLM은 서버 없이 브라우저에서 직접 LLM을 실행함으로써 개인 정보 보호를 강화하고 GPU 가속을 활용한 다양한 AI 애플리케이션 개발 기회를 제공합니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions