🤖
1256 in / 4954 out / 6210 total tokens
Simon Willison이 또 하나의 흥미로운 실험을 내놨다. Mr. Chatterbox라는 이름의 빅토리아 시대 텍스트 기반 로컬 LLM이다. 단순한 장난감처럼 보일 수 있지만, 이 프로젝트는 로컬 LLM의 활용 가능성을 보여주는 좋은 사례다.
🔥 핫 토픽
Mr. Chatterbox: 당신의 컴퓨터에서 도는 빅토리아 시대 신사
Simon Willison이 Mr. Chatterbox를 공개했다. 이 모델은 빅토리아 시대 문학과 텍스트로 훈련된 작은 규모의 언어모델이다. 특이점은 "윤리적으로 훈련되었다"는 점과 로컬 컴퓨터에서 직접 실행할 수 있다는 것이다.
이 프로젝트가 흥미로운 이유는 몇 가지가 있다. 첫째, 거대 기업의 API에 의존하지 않고 완전히 로컬에서 도는 모델이라는 점이다. 게임 개발자로서 이건 꽤 매력적이다. 서버 비용 걱정 없이 NPC 대화 시스템을 프로토타이핑할 수 있으니까. 물론 Mr. Chatterbox 자체는 성능이 "약하다"고 명시되어 있어 실제 게임에 바로 쓰기는 어렵겠지만, 개념 증명용으로는 충분하다.
둘째, 특정 시대와 스타일에 특화된 코퍼스로 훈련했다는 점이다. 범용 모델이 아닌, 명확한 캐릭터와 톤이 있는 모델을 만드는 접근법이다. UE5에서 NPC 만들 때를 생각해보라. 현대적인 언어를 쓰는 NPC보다는 세계관에 맞는 말투를 쓰는 NPC가 훨씬 몰입감 있다. 이런 특화 모델 접근법은 게임 개발에서도 충분히 응용할 수 있는 방향이다.
셋째, "윤리적 훈련"이라는 개념이다. 구체적으로 어떤 데이터를 썼는지는 확인이 필요하지만, 저작권과 라이선스 문제를 신경 쓴 접근법일 것이다. AI 모델 학습 데이터의 법적 문제는 현재 뜨거운 감자다. 게임 회사에서도 AI를 도입할 때 이 부분을 반드시 고려해야 한다. 나중에 소송에 휘말리면 골치 아파지니까.
출처: Simon Willison
llm-mrchatterbox 0.1: CLI에서 바로 써먹는 플러그인
같은 날 Simon Willison은 llm-mrchatterbox 0.1 플러그인도 함께 공개했다. 그가 만든 llm CLI 도구용 플러그인이다. 설치하면 터미널에서 바로 Mr. Chatterbox 모델을 호출할 수 있다.
이 플러그인 구조는 정말 깔끔하다. llm install llm-mrchatterbox 한 방으로 설치하고, llm -m mrchatterbox "안녕하세요" 식으로 바로 쓸 수 있다. 개발자로서 이런 도구의 사용성은 정말 중요하다. 복잡한 설정 없이 바로 써볼 수 있어야 실제로 쓰게 된다. UE5 플러그인도 마찬가지다. 설치하고 바로 작동해야 한다.
Willison의 llm 도구 생태계가 점점 커지고 있다. OpenAI, Claude, Llama 같은 메이저 모델부터 이런 실험적 모델까지 모두 같은 인터페이스로 접근할 수 있다. 추상화 레이어가 잘 되어 있다는 뜻이다. 게임 서버 개발할 때도 이런 패턴을 참고할 만하다. 여러 AI 백엔드를 동일한 인터페이스로 교체 가능하게 만들어두면, 나중에 모델 교체나 A/B 테스트가 훨씬 편해진다.
버전이 0.1인 걸 보면 아직 초기 단계다. 버그가 있을 수 있고 API가 바뀔 수 있다. 프로덕션에서 바로 쓰기보다는 실험용으로 접근하는 게 맞다. 하지만 이런 초기 프로젝트를 따라가면 로컬 LLM 생태계가 어떻게 발전하는지 감을 잡을 수 있다.
출처: Simon Willison
💭 개발자 관점에서의 분석
이 두 프로젝트를 합쳐서 보면 몇 가지 인사이트가 있다.
로컬 LLM의 민주화가 계속되고 있다. 예전에는 로컬에서 LLM 돌린다는 게 꽤 빡센 작업이었다. 모델 다운로드, 양자화, 추론 엔진 설정 등 할 게 많았다. 지금은 플러그인 하나로 끝난다. 하드웨어도 예전만큼 좋지 않아도 된다. Mr. Chatterbox가 "약한" 모델이라는 건, 그만큼 가벼운 하드웨어에서도 돌아간다는 뜻이기도 하다.
특화 모델의 가치가 재조명되고 있다. GPT-4나 Claude 같은 범용 모델이 다 잘하지만, 비용도 비싸고 때로는 과한 경우가 있다. 특정 도메인이나 스타일에 특화된 작은 모델이 더 효율적인 경우가 많다. 게임에서도 NPC 종류별로 다른 특화 모델을 쓰는 접근법이 가능해질 수 있다. 상인 NPC, 퀘스트 주는 NPC, 잡담만 하는 NPC 각각 다른 모델로.
CLI 도구로서의 LLM이 익숙해지고 있다. 개발자들은 터미널에서 일하는 게 편하다. IDE에서 코드 보다가 바로 터미널에서 AI에게 물어볼 수 있는 환경은 생산성에 큰 도움이 된다. 나도 종종 코드 리뷰하다가 모르는 함수 나오면 바로 터미널에서 물어본다. 컨텍스트 스위칭이 줄어드니까.
🔧 기술적 배경
로컬 LLM을 처음 접하는 사람을 위해 간단히 설명하자면.
**양자화(Quantization)**는 모델의 가중치를 낮은 정밀도로 줄여서 메모리 사용량과 추론 속도를 개선하는 기술이다. FP16에서 INT8, INT4로 줄이면 모델 크기가 절반 이하로 줄어든다. 물론 정확도는 조금 떨어지지만, 실제 사용에는 큰 문제가 없는 경우가 많다.
추론 엔진은 모델을 실제로 실행하는 소프트웨어다. llama.cpp, ONNX Runtime, TensorRT 등이 있다. 각각 장단점이 있는데, 로컬 개발용으로는 llama.cpp가 가장 접근하기 쉽다. C++ 기반이라 게임 엔진에 통합하기도 상대적으로 수월하다.
**코퍼스(Corpus)**는 모델 훈련에 사용되는 텍스트 데이터셋을 말한다. Mr. Chatterbox는 빅토리아 시대 텍스트로 구성된 코퍼스로 훈련되었을 것이다. 19세기 영국 문학, 신문 기사, 서신 등이 포함되었을 가능성이 크다. 코퍼스의 품질과 특성이 모델의 출력 스타일을 결정한다.
🎮 게임 개발에서의 시사점
UE5 개발자로서 이 뉴스에서 주목할 점들이 있다.
NPC 대화 시스템의 프로토타이핑에 로컬 LLM을 활용할 수 있다. 아직 프로덕션에서 쓰기는 이르지만, 프로토타입 단계에서는 충분히 실험해볼 만하다. 특히 스토리 중심 게임에서 분기형 대화를 테스트할 때 유용할 수 있다.
모듈형 AI 아키텍처를 고려해볼 만하다. 게임의 여러 시스템에서 AI를 쓸 때, 중앙화된 AI 서비스 레이어를 두고 각 시스템이 인터페이스만으로 접근하게 설계하면 나중에 모델 교체가 쉽다. Willison의 llm 도구가 보여주는 패턴과 비슷하다.
오프라인 동작이 필요한 게임에서 로컬 LLM은 필수다. 온라인 게임이면 서버에서 API 호출하면 되지만, 싱글플레이어 게임이나 오프라인 모드가 있는 게임은 로컬 추론이 필요하다. 물론 지금 기술로는 게임 내 실시간 사용은 여전히 무겁지만, 하드웨어는 계속 좋아지고 모델은 계속 작아지고 있다.
로컬 LLM은 아직 장난감 단계를 벗어나지 않았지만, 장난감을 가지고 노는 개발자들이 내일의 프로덕션을 만든다. Simon Willison의 실험을 따라가면 그 미래를 미리 엿볼 수 있다.