Llamas on the Web: Memory-Efficient, Performance-Portable, and Multi-Precision LLM Inference with WebGPU
본 논문은 정적 메모리 계획, 튜닝 가능한 커널 라이브러리, 템플릿화된 GPU 커널을 활용하여 브라우저에서 메모리 효율성, 성능 이식성, 다중 정밀도 LLM 추론을 실현하는 llama.cpp용 WebGPU 백엔드인 LlamaWeb을 소개하며, 이는 다양한 하드웨어에서 기존 프레임워크에 비해 메모리 사용량을 크게 줄이고 디코드 처리량을 증가시킵니다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
웹 브라우저(크롬이나 사파리 등) 안에서 초지능 AI 어시스턴트(대규모 언어 모델, 즉 LLM) 를 직접 실행하고 싶다고 상상해 보세요. 보통 이러한 AI 두뇌는 너무 방대하고 메모리를 많이 필요로 하기 때문에 실행하려면 거대하고 비싼 서버가 필요합니다. 이 논문의 목표는 그 거대한 두뇌를 축소하여 브라우저가 충돌하지 않도록 노트북이나 스마트폰에 담을 수 있게 만드는 동시에, 속도와 프라이버시를 유지하는 것입니다.
저자들은 LlamaWeb이라는 새로운 도구를 개발했습니다. 이는 인기 있는 AI 엔진인 llama.cpp 가 웹 브라우저 (특히 WebGPU 라는 기술) 의 언어로 대화할 수 있게 해주는 전문적인 "번역기"라고 생각하면 됩니다.
다음은 일상적인 비유를 사용하여 그들이 세 가지 가장 큰 문제를 어떻게 해결했는지 설명한 것입니다:
1. 메모리 문제: "이삿짐 트럭 vs. 포장 목록"
문제: 기존 브라우저 AI 도구들은 혼란스러운 이삿짐 회사와 같았습니다. 진행하면서 새로운 상자 (메모리) 를 계속 집어넣다가, 때로는 너무 많이 집어넣어 브라우저가 충돌하거나 매우 느려졌습니다. 또한 이동하기 전에 가구 (모델 가중치) 를 불필요하게 복사하기도 했습니다.
LlamaWeb 의 해결책:
- 정적 계획: 이동 도중 상자를 집어넣는 대신, LlamaWeb 은 트럭이 도착하기 전에 집 전체를 살펴보고 정확히 몇 개의 상자가 필요한지 계산합니다. 시작 단계에서 모든 것을 미리 정해진 크기의 단일 "메모리 아레나"에 포장합니다. 이동 도중 추가 상자를 집어넣는 일이 더 이상 없습니다.
- 직접 로딩: 가구를 차고 (CPU 메모리) 에 내린 다음 트럭 (GPU 메모리) 에 싣는 대신, LlamaWeb 은 창고에서 가구를 직접 트럭에 싣습니다.
- 결과: 그들은 LlamaWeb 이 경쟁사보다 29~33% 적은 메모리를 사용한다는 것을 발견했습니다. 이는 이전에는 소파 하나만 들어갔던 밴에 거실 전체를 넣는 것과 같습니다.
2. 성능 문제: "범용 리모컨 vs. 맞춤형 리모컨"
문제: 인터넷에는 다양한 컴퓨터가 가득합니다. NVIDIA 그래픽 카드를 가진 것, 애플 칩을 가진 것, 스마트폰에 있는 것, 노트북에 있는 것 등이 있습니다. 기존 도구들은 모든 것에 작동하려 했지만 특정 TV 의 특수 버튼을 활용하지 못해 성능이 느린 "범용 리모컨"과 같았습니다.
LlamaWeb 의 해결책:
- 튜너블 커널: LlamaWeb 은 스스로 재프로그래밍할 수 있는 스마트 리모컨과 같습니다. 시작 시 실행 중인 "TV"(하드웨어) 가 어떤 종류인지 확인합니다. 강력한 NVIDIA 카드라면 고속 "서브그룹" 기능을 사용하고, 스마트폰이라면 더 효율적인 모드로 전환합니다.
- 결과: 네 가지 다른 유형의 그래픽 카드에서 LlamaWeb 은 텍스트 생성 (디코딩) 시 다른 브라우저 도구보다 45~69% 더 빠릅니다. 이는 범용 리모컨이 아니라, 특정 TV 에서 최고의 화질을 얻는 방법을 정확히 아는 리모컨입니다.
3. 포맷 문제: "스위스 아미 나이프"
문제: AI 개발자들은 모델을 더 작게 만들기 위해 AI 모델을 압축하는 새로운 방법 (양자화라고 함) 을 끊임없이 고안해 내고 있습니다. 어떤 것은 4 비트, 어떤 것은 8 비트, 어떤 것은 1 비트입니다. 기존 도구들은 한 가지 유형의 나사만 맞는 나사못과 같았습니다. 새로운 나사가 나오면 도구는 쓸모없어졌습니다.
LlamaWeb 의 해결책:
- 템플릿 커널: LlamaWeb 은 스위스 아미 나이프처럼 만들어졌습니다. 전체 나이프를 다시 만들 필요 없이 어떤 나사 (양자화 포맷) 에도 맞도록 도구 머리를 즉시 교체할 수 있는 "템플릿" 시스템을 갖추고 있습니다.
- 결과: 이는 23 가지 다른 가중치 포맷을 지원하며, 경쟁사는 6~7 개만 지원했습니다.这意味着 만약 내일 개발자가 새로운 초효율 압축 방법을 고안해 내더라도, LlamaWeb 은 소프트웨어 업데이트 없이도 즉시 실행할 수 있을 것입니다.
전체적인 결과
이 팀은 8 개 제조사(NVIDIA, Apple, Intel, AMD 및 모바일 칩 포함)의 16 개 다른 장치에서 이를 테스트했습니다.
- 메모리: 제한된 메모리를 가진 장치 (예: iPhone) 에서 충돌을 방지하는 막대한 양의 RAM 을 절약했습니다.
- 속도: 다른 브라우저 기반 AI 도구보다 훨씬 빨랐습니다.
- 다용도성: 177,000 개 이상의 모델이 있는 거대한 라이브러리인
llama.cpp커뮤니티가 지원하는 거의 모든 모델을 실행할 수 있습니다.
한 가지 주의점: LlamaWeb 은 한 단어씩 텍스트를 생성하는 ("디코딩" 단계) 데 있어 챔피언이지만, 초기 프롬프트를 읽는 ("프리필" 단계) 데 있어서는 일부 경쟁사보다 다소 느립니다. 그러나 저자들은 브라우저 기술이 발전함에 따라 이 격차가 줄어들 것으로 예상한다고 지적합니다.
요약하자면, LlamaWeb은 브라우저에서 강력한 AI 를 실행하는 것을 가능하게 하고, 프라이버시를 보장하며, 효율적으로 만들어주는 새로운 엔진입니다. 이는 AI 와 채팅하는 동안 컴퓨터가 과열되지 않도록 보장합니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.