본문 바로가기

IT/AI

작은 LLM으로 똑똑한 AI 만드는 법

300x250
반응형

 

"비싼 AI 없으면 못 써요" — 이 말, 사실이 아니에요

요즘 ChatGPT나 Claude 같은 거대 AI 모델 얘기가 정말 많이 들리죠. 수천억 개의 파라미터를 가진 초대형 모델들, 클라우드에서만 돌아가고, 인터넷도 필수고, 비용도 만만치 않아요. 그런데 저도 처음엔 "어차피 AI는 클라우드 없으면 못 쓰는 거 아닌가?"라고 생각했거든요.

근데 최근 Docker의 솔루션 아키텍트인 Philippe Charrière가 공유한 실험을 보고 생각이 확 바뀌었어요. 5억~70억 개 파라미터짜리 초소형 LLM으로도 실제로 작동하는 코딩 어시스턴트를 만들 수 있다는 거였거든요. 그것도 노트북 한 대만 가지고요.

오늘은 그 실험이 왜 의미 있는지, 그리고 어떤 원리로 작은 모델이 똑똑하게 동작할 수 있는지 같이 살펴볼게요.


작은 LLM 시장, 지금 이 순간도 폭발적으로 커지고 있어요

먼저 시장 얘기를 좀 해볼게요. 거대 AI 모델이 주목받는 사이, 사실 그 반대편에서 "소형 언어 모델(SLM)" 시장도 엄청난 속도로 성장하고 있거든요.

글로벌 시장조사기관 GMI에 따르면, 전 세계 소형 언어 모델 시장 규모가 2024년 기준 약 9조 원 수준에서 2034년까지 연평균 25.7%씩 성장할 것으로 전망돼요. 그리고 온디바이스 AI 전체 시장도 딜로이트 보고서 기준으로 연평균 약 28%씩 성장해 2031년에는 약 167조 원 규모에 달할 거라고 하네요.

왜 이렇게 주목받는 걸까요? 보안, 비용, 자율성, 세 가지 이유가 핵심이에요. 클라우드 기반 AI는 편리하지만 데이터가 외부 서버로 나가고, 비용도 계속 발생하고, 인터넷이 없으면 쓸 수가 없잖아요. 반면 기기 안에서 작동하는 작은 모델은 이 세 가지 문제를 한 번에 해결해줘요.


작은 모델의 진짜 한계는 "크기"가 아니에요

Philippe가 개발 중인 Golang 라이브러리 Nova를 예시로 들었어요. Claude나 Gemini 같은 대형 모델에게 Nova 관련 코드를 짜달라고 하면 어떻게 될까요? 당연히 Nova에 대한 사전 학습 데이터가 없으니까, 그럴싸해 보이지만 엉뚱한 코드를 내놓더래요.

"그럼 소스 코드를 통째로 넣어주면 되는 거 아닌가요?"라고 생각할 수 있어요. 저도 그렇게 생각했거든요. 그런데 여기서 함정이 있어요.

작은 모델은 한 번에 처리할 수 있는 텍스트 양, 즉 컨텍스트 윈도우가 좁아요. 정보를 너무 많이 넣어주면 오히려 집중력이 떨어지거든요. 대화 히스토리가 길어질수록 성능도 급격히 저하되고요. Philippe가 직접 30억 파라미터 모델인 Qwen2.5-Coder를 써봤을 때, 긴 문맥을 주면 정작 핵심 질문을 놓치는 경우가 많았다고 해요.

결국 작은 모델의 진짜 한계는 "지식이 부족해서"가 아니라, "한꺼번에 너무 많은 걸 처리하려다 길을 잃어서"예요.


RAG, 이거 알면 작은 모델이 달라 보여요

Philippe가 선택한 해결책은 RAG(Retrieval Augmented Generation)라는 기법이에요. 어렵게 들리지만 개념은 정말 단순해요.

전체 문서를 다 넣는 게 아니라, 질문과 관련 있는 부분만 골라서 모델에게 전달하는 거예요. 마치 방대한 책을 통째로 외우게 하는 게 아니라, 시험 직전에 딱 필요한 요약본만 쥐어주는 것처럼요.

구체적인 작동 방식은 이래요. 먼저 코드나 문서 파일을 섹션별로 잘게 쪼개요. 그 각각의 조각에 "임베딩(embedding)"을 만들어요. 텍스트를 수학적인 벡터로 변환한 것인데, 이걸 메모리에 저장해 놓아요. 그리고 사용자가 질문을 하면, 그 질문도 똑같이 임베딩으로 변환해서, 가장 비슷한 조각 2~3개만 골라내는 거예요. 이렇게 선별된 정보만 모델에게 주면, 작은 모델도 정확한 답을 할 수 있는 거죠.

RAG를 적용하면 소형 모델의 정확도가 최대 40% 향상될 수 있다는 연구 결과도 있어요. 전략 하나가 성능의 한계를 완전히 바꿔버리는 거예요.


실제로 해봤더니 — 완벽하게 동작하는 60줄짜리 코드

Philippe는 Docker Agentic Compose와 LangchainJS를 활용해서 실제 코딩 어시스턴트를 만들었어요. 채팅에는 Qwen2.5-Coder-3B, 임베딩 생성에는 EmbeddingGemma, 이렇게 두 개의 작은 모델을 사용했죠.

설정에서 특히 흥미로운 부분이 있었어요. 대화 히스토리는 최근 2개만 유지하고, 유사도 검색 결과도 최대 3개까지만 사용한 거예요. 컨텍스트를 오히려 더 줄인 거죠. 작은 모델일수록 정보를 많이 주는 게 아니라 핵심만 주는 게 맞다는 거예요.

그 결과는 놀라웠어요. "Nova Chat Agent에서 스트림 완료 기능을 사용하는 Golang 코드를 보여줘"라고 물었더니, 주석까지 달린 완벽하게 동작하는 60줄짜리 코드가 뚝딱 나왔대요. 같은 질문에 Claude나 Gemini는 엉뚱한 답을 내놓던 것과는 완전히 다른 결과였죠.


유사도 설정과 키워드 전략 — 이 두 가지가 성패를 가릅니다

물론 모든 게 완벽하진 않았어요. 예를 들어 "Nova RAG 에이전트 코드 줘"라고만 물으면, 검색 과정에서 "vector store"라는 핵심 키워드가 없어서 유사도 검색이 실패하는 경우가 있었대요. 결국 질문 방식에 따라 정확도가 크게 달라지는 거죠.

이럴 때 쓸 수 있는 두 가지 전략이 있어요.

첫 번째는 유사도 임계값을 조금 낮추거나, 반환하는 조각 수를 늘리는 방법이에요. 더 많은 후보를 펼쳐두고 그중에서 고르게 하는 거죠. 다만 이때는 모델의 컨텍스트 한계를 넘지 않도록 주의해야 해요.

두 번째는 코드 조각마다 키워드 메타데이터를 추가하는 거예요. 각 스니펫 제목 아래에 "KEYWORDS: vector store, RAG, embeddings" 같은 힌트를 명시적으로 달아주는 방식이에요. Philippe가 실험해보니 이것만으로 검색 정확도가 크게 올라갔다고 해요. 적절한 메타데이터 추가만으로 검색 정밀도가 평균 25% 향상된다는 연구 결과도 있어요. 작은 차이가 큰 결과를 만든다는 게 이런 거죠.


보안이 중요한 프로젝트라면 더더욱 작은 모델이 답이에요

Philippe의 실험에서 또 하나 중요한 시사점이 있었어요. 외부 API를 사용할 수 없는 환경에서도 작동한다는 점이에요.

금융, 의료, 법률, 보험 등 민감한 데이터를 다루는 업무에서는 외부 클라우드 서버로 데이터를 보내는 게 법적으로, 내부 규정상으로 불가능한 경우가 많잖아요. 인터넷이 연결되지 않는 환경에서 일해야 하는 경우도 있고요.

이런 상황에서 작은 로컬 모델은 단순히 "저렴한 대안"이 아니라 "유일한 선택지"가 될 수 있어요. 삼일PwC 보고서에 따르면 온디바이스 AI의 핵심 강점 중 하나가 바로 데이터가 기기 밖으로 나가지 않는 보안성이에요. 보험사나 금융사처럼 내부 데이터 보호가 최우선인 조직에서 특히 주목하는 이유가 여기에 있어요.


앞으로 방향 — 여러 개의 작은 에이전트가 함께 일하는 시대

Philippe는 실험을 마무리하며 흥미로운 방향성도 제시했어요. 앞으로는 하나의 크고 뛰어난 모델보다, 각자 전문 역할을 가진 여러 개의 작은 모델이 협력하는 방식이 더 실용적일 수 있다는 거예요.

예를 들어, 코드를 이해하는 에이전트, 문서를 검색하는 에이전트, 결과를 정리해 주는 에이전트가 각자의 역할을 하면서 협력하는 구조요. 이 방식은 비용을 낮추면서도 전문성을 유지할 수 있어요.

딜로이트는 2025년 말이 되면 새로 출시되는 스마트폰과 PC의 30~50%가 온디바이스 AI 기능을 탑재할 것으로 전망하고 있어요. 작은 모델이 우리 일상 깊숙이 들어오는 시대가 이미 시작된 거예요.


마무리 — 모델의 크기보다 전략이 더 중요해요

Philippe의 실험이 우리에게 주는 메시지는 명확해요. 거대 모델이 항상 정답은 아니라는 거예요.

RAG 기법으로 필요한 정보만 골라 주고, 컨텍스트를 최소화하고, 키워드 메타데이터로 검색 정확도를 높이면 — 노트북 한 대로도 충분히 쓸 만한 AI 어시스턴트를 만들 수 있어요. 보안이 중요하거나, 비용을 줄여야 하거나, 오프라인 환경에서 일해야 한다면 작은 로컬 모델이 오히려 더 나은 선택일 수 있고요. 모델의 크기를 키우는 것보다, 어떻게 활용하느냐가 결국 더 중요하다는 걸 이 실험이 잘 보여준 것 같아요.

300x250
반응형