“내 기기에서 언어 모델을 실행한다”는 말을 들으면 사람들은 아무것도 하지 않는데 팬이 돌고 노트북이 뜨거워지는 모습을 떠올립니다. 그렇게 생각하는 것도 무리가 아닙니다. 채팅 모델을 제대로 실행하지 않을 때 실제로 벌어지는 일이기 때문입니다.
입력 제안은 부하가 전혀 다른 작업입니다. 보유한 기기에 맞춰 모델을 선택할 수 있도록 실제로 어느 정도의 비용이 드는지 살펴보겠습니다.
네 가지 비용, 그중 일정하게 발생하는 것은 하나뿐
디스크. 모델 파일은 한 번 저장하면 됩니다. 다운로드할 때 수백 메가바이트에서 몇 기가바이트를 사용합니다.
메모리. 모델이 로드된 동안 가중치는 메모리에 상주해야 합니다. 대략 파일 크기만큼에 적당한 작업 공간이 더해집니다. 이는 계속 발생하는 비용이자 모델 크기가 기기에 맞는지를 결정하는 요소입니다. 16GB 노트북에서 모델이 메모리 1GB를 차지하는 것은 별일이 아닙니다. 브라우저를 켜 둔 8GB 노트북에서 3GB를 차지하는 것은 그렇지 않습니다.
연산. 제안을 생성하는 동안에만 필요합니다. 문장 완성은 수백 밀리초 동안 분당 몇 차례 짧게 실행되며, 사용자가 키 입력 사이에 멈추는 시간이 대부분을 차지합니다. 프로세서를 몇 초 동안 한계까지 가동해 600단어를 생성하는 채팅 도우미와 비교해 보세요.
배터리. 연산량에 따라 달라집니다. 짧게 실행될 때는 소모량이 적지만, 기기가 깊은 절전 상태로 전환되지 않으면 전환되는 경우보다 전력을 더 많이 쓴다는 점은 솔직하게 짚고 넘어가야 합니다. 따라서 영향이 완전히 0은 아닙니다.
기억해 둘 점은 입력 예측이 거의 모든 시간 동안 대기 상태라는 것입니다. 실제 비용은 상주 메모리이며, 모델이 기기에 비해 지나치게 크지 않다면 나머지는 미미합니다.
파일 크기가 생각보다 작은 이유
수백 메가바이트라고 소개된 모델이 파라미터 수가 수억 개라는 뜻은 아닙니다. 모델은 양자화된 상태로 배포되며, 가중치는 일반적으로 16비트가 아니라 4비트 또는 5비트처럼 낮은 정밀도로 저장됩니다. 이 방식은 크기와 메모리 사용량을 대략 4분의 1로 줄이고, 품질을 조금 낮추지만 그 차이는 측정할 수 있습니다.
개방형 추론 작업에서는 그 품질 저하가 중요합니다. 하지만 이미 시작한 문장을 마무리할 때는 대부분 중요하지 않습니다. 제약 조건은 모델의 깊이보다 사용자가 입력한 텍스트에서 나오기 때문입니다. 이것이 작은 로컬 모델이 이 작업에는 적합하지만 다른 작업에는 적합하지 않은 기술적 이유입니다.
실제 한계는 품질이 아니라 지연 시간입니다
제안에는 엄격한 시간 제한이 있습니다. 이미 직접 입력한 뒤에 제안이 도착하면 제안이 없는 것보다도 나쁩니다. 입력을 끝내는 순간 나타나서, 쓸모없이 읽기만 하게 되기 때문입니다.
메모리가 아무리 많아도 그 시간 제한으로 모델 크기에 한계가 생깁니다. 어느 수준을 넘으면 더 좋은 모델일수록 더 느리고, 더 느린 제안은 사용되지 않습니다. 실용적인 목표는 손가락이 단어 사이에서 멈춰 있는 동안 나타나는 것입니다. 1.5초가 아니라 수백 밀리초 정도가 기준입니다.
이 점은 일반적인 직관과 반대입니다. 늦게 나타나는 수준을 넘어서면 더 큰 모델이 더 나은 모델은 아닙니다. 적절한 크기는 사용자 기기에서 입력 사이의 멈춤 시간 안에 답할 수 있는 가장 큰 모델입니다. 2019년형 울트라북과 외장 그래픽 카드를 갖춘 데스크톱의 답은 서로 다릅니다.
크기 선택하기
Typeahead 은 세 가지 크기를 제공하며, 각 크기는 이러한 절충 관계에 맞춰 구성되어 있습니다.
| 크기 | 디스크 용량 | 명시된 요구 사양 | 권장 대상 |
|---|---|---|---|
| 빠름(기본값) | 약 600MB | — | 지원되는 모든 기기. 시작하기에 적합한 모델 |
| 균형 | 약 1.2GB | 시스템 메모리 8GB | 여유 메모리가 있는 기기. 더 나은 제안을 제공하면서도 충분히 빠릅니다 |
| 최고 품질 | 약 2.5GB | 자체 메모리 8GB를 갖춘 외장 그래픽 카드, 시스템 메모리 16GB | 실제 GPU를 갖춘 데스크톱 및 워크스테이션 |
표에서 두 가지를 기억하세요.
더 큰 모델을 사용할 수 있는 기기라도 빠름부터 시작하세요. 일주일 동안 사용해 보세요. 제안이 충분히 정확하다면 채팅 메시지를 입력할 때 더 큰 모델을 써도 체감할 수 있는 이점은 없습니다. 제안이 눈에 띄게 빗나간다면 크기를 올리세요. 그러면 지연 시간과 무엇을 맞바꾸는지 알 수 있습니다.
최고 품질 모델에는 자체 메모리 8GB를 갖춘 외장 카드가 필요합니다. 공유 시스템 메모리 8GB를 뜻하는 것이 아닙니다. 노트북의 통합 그래픽은 이 조건을 충족하지 않습니다. 페이징이 필요한 하드웨어에서 모델을 억지로 실행하면 이 글의 시작 부분에서 언급한 팬이 도는 상황이 생깁니다.
실제로 여유가 부족한 기기
- 브라우저, Teams, Office를 켜 둔 상태에서 RAM이 8GB인 경우. 다른 프로그램을 실행하기도 전에 이미 한계에 가까운 상태입니다. 가장 작은 모델을 사용하되, 메모리 16GB인 사용자보다 사용량이 더 눈에 띌 것으로 예상하세요. 평소에도 기기가 스왑을 사용한다면 메모리에 상주하는 모델 때문에 상황이 더 나빠집니다.
- AVX2를 지원하지 않는 구형 프로세서. 추론 라이브러리는 벡터 명령어를 활용합니다. 2013년 이전 프로세서는 인용된 수치보다 느리며, 위에서 설명한 지연 시간 한계가 문제가 됩니다.
- 열 제약이 있는 얇은 노트북. 짧게 실행되므로 이 작업만으로 지속적인 성능 저하가 발생할 가능성은 낮습니다. 하지만 다른 작업 때문에 이미 속도가 저하된 기기에는 여유가 없습니다.
- 전원 연결 없이 배터리로 사용할 때. 제안은 로컬에서 생성되고 연결이 필요하지 않으므로 계속 작동합니다. 장거리 비행 중 오래 사용하려면 더 작은 모델을 선택하세요.
사용자 기기에서 확인하는 방법
다른 사람의 노트북에서 측정한 수치만으로는 알 수 있는 것이 많지 않습니다. 10분 동안 두 가지를 측정해 보세요.
- 1. 설치하기 전에, 작업 관리자를 열고 → 성능을 선택한 다음, 평소 작업 환경(자주 사용하는 브라우저 탭, 메일, 채팅)을 실행했을 때의 메모리 사용량을 기록합니다.
- 2. 설치하고 모델을 로드한 다음, 같은 수치와 프로세스 탭에 표시된 앱 자체의 메모리 사용량을 확인합니다.
전체 메모리에 충분한 여유가 있다면 괜찮습니다. 한계에 다다른다면 한 단계 작은 모델을 선택하세요.
지연 시간은 주관적인 기준이며, 그 편이 더 좋습니다. 평소 입력하는 문장을 써 보고 손가락이 멈췄을 때 제안이 나타나는지, 아니면 그 뒤에 도착하는지 살펴보세요. 이를 확인하는 가장 좋은 방법은 체험 기간을 이용하는 것입니다. Typeahead는 모든 모델 크기를 사용할 수 있는 7일 체험 기간을 제공합니다.
이 비용으로 얻는 것
- 입력한 내용이 기기 밖으로 나가지 않습니다. 서버에서 텍스트를 어떻게 처리하는지에 관한 정책이 아니라, 텍스트가 처리되는 위치에 관한 특성입니다.
- 연결 없이 작동합니다. 비행기에서든, 기차에서든, DNS 확인이 되지 않는 호텔 Wi-Fi에 연결했을 때든 사용할 수 있습니다.
- 좌석별 구독도 계정도 없습니다. 비용을 지불해야 할 서버가 없기 때문입니다.
- 가변적인 지연 시간도 없습니다. 로컬 모델은 오전 9시에도 오후 5시에도 같은 속도로 작동합니다. 공유 서비스는 그렇지 않습니다.
상주 메모리 1GB를 쓸 만한 가치는 사람마다 답이 다른, 충분히 고민해 볼 만한 문제입니다. 생각보다 작은 문제이며 일주일이면 답을 찾을 수 있습니다.