RAGAL: A Frugal, Fully Local Retrieval-Augmented Assistant for Technical Support at a Government Agency
이 논문은 더 큰 생성 모델보다 검색 엔지니어링과 임베더 미세 조정을 우선시함으로써 민감한 데이터에 대해 높은 성능을 달착하는 루마니아 정부 기관을 위한 완전 로컬 방식의 자원 제한적 검색 증강 어시스턴트인 RAGAL을 제시하며, SQL 환각을 방지하기 위한 앵커 증류(anchor distillation)와 클라우드 의존성 없이 출력을 평가하기 위한 CPU 기반 오프라인 저지(judge)와 같은 새로운 기술들을 도입한다.
원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기
당신에게 수백만 권의 책을 읽고 당신이 던지는 어떤 질문에도 답할 수 있는 아주 똑똑한 로봇 사서가 있다고 상상해 보세요. 보통 이 로봇을 작동시키려면, 당신의 질문과 책들을 멀리 떨어진 데이터 센터에 있는 거대한 클라우드 기반의 두뇌로 보내야 합니다. 하지만 만약 당신의 도서관에 건물 밖으로 나가는 것이 불법인 최고 기밀 정부 문서들이 들어있다면 어떨까요? 만약 클라우드를 전혀 사용할 수 없다면요? 이것이 바로 **검색 증강 생성(Retrieval-Augmented Generation, RAG)**의 핵심에 자리 잡은 퍼즐입니다. RAG를 두 단계의 춤이라고 생각해보세요. 첫째, 로봇이 특정 문서 더미를 빠르게 스캔하여 가장 관련 있는 페이지들을 찾아내고(검색/Retrieval), 둘째, 그 페이지들을 사용하여 똑똑하고 정확한 답변을 작성하는 것(생성/Generation)입니다. 많은 조직이 직면한 큰 질문은 이것입니다: 우리가 단 한 바이트의 데이터도 외부로 보내지 않고, 오직 우리만의 공간 안에서, 평범한 노트북 한 대만으로 이 로봇을 구축할 수 있을까?
이 논문은 정확히 그러한 로봇을 구축한 루마니아 정부 기관의 프로젝트인 RAGAL의 이야기를 들려줍니다. 그들은 세 가지 불가능해 보이는 규칙에 직면했습니다: 어떤 데이터도 건물 밖으로 나갈 수 없으며, 로봇은 초안만 작성할 수 있고(사람이 반드시 "전송" 버튼을 눌러야 함), 이 모든 것을 메모리 8GB뿐인 일반 소비자용 노트북으로 해내야 했습니다. 포기하는 대신, 그들은 이 "검소한" 설정을 영리한 엔지니어링의 실험실로 탈바꿈시켰습니다. 그들은 성공의 비결이 더 크고 비싼 두뇌를 사는 것이 아니라, 로봇에게 정보를 어떻게 더 잘 찾을지를 가르치는 데 있다는 것을 발견했습니다. 실제 지원 티켓(support tickets)을 바탕으로 검색 엔진을 미세 조정하고, 로봇이 가짜 데이터베이스 명령어를 지어내는 것을 방지하기 위해 "앵커 증류(anchor distillation)"라는 영리한 기술을 사용함으로써, 안전하고 효과적으로 작동하는 시스템을 만들어냈습니다. 심지어 그들은 실시간 채팅은 불가능할 정도로 CPU에서 매우 느리게 돌아가는 거대한 AI 모델인 "슬로우 모션 판사(slow-motion judge)"를 구축하여, 밤사이 로봇의 숙제를 채점하게 했습니다. 그 결과는 어떤 조직이라도 엄격한 개인정보 보호 규칙이 있다면 클라우드를 전혀 사용하지 않고도 유용한 AI 비서를 구축할 수 있다는 청사진을 제시합니다.
RAGAL 이야기: 집을 떠나지 않는 로봇
농촌 투자 펀드를 관리하는 루마니아 정부 기관의 새로운 조수, RAGAL을 만나보세요. 이 기관은 매일 수천 건의 민감한 문서와 지원 티켓을 다룹니다. 이 파일들은 시민의 개인 정보를 포함하고 있기 때문에, 기관 건물 밖으로 나가는 것이 엄격히 금지되어 있습니다. 이는 그들이 클라우드에 존재하는 강력한 일반적인 AI 도구들을 사용할 수 없음을 의미합니다. 그들은 자신들만의 "완전 로컬" 로봇을 구축해야 했으며, 그래픽 카드의 메모리가 8GB밖에 되지 않는 단 한 대의 노트북으로 이를 해내야 했습니다.
팀은 다음의 세 가지 엄격한 규칙, 즉 제약 사항을 따라야 했습니다:
- 데이터 유출 제로 (Zero Egress): 단 한 조각의 데이터도 건물 밖으로 나가서는 안 됩니다. 질문을 클라우드로 보내거나, 인터넷에서 학습 데이터를 다운로드하는 것 모두 불가능합니다. 모든 것은 그들 자신의 하드웨어 내에서 일어나야 했습니다.
- 읽기 전용 (Read-Only): 로봇은 작가이지 실행가가 아니었습니다. 로봇은 데이터베이스 오류를 수정하기 위한 SQL 코드나 설명을 작성할 수는 있었지만, 실제로 그 명령어를 실행할 수는 없었습니다. 사람이 검토하고 실행해야 했습니다.
- 검소함 (Frugality): 전체 시스템은 단 한 대의 소비자용 노트북에서 개발, 학습 및 테스트되었습니다.
위대한 발견: 더 큰 두뇌보다 더 나은 검색
팀은 흔히 하는 가정, 즉 더 나은 답변을 얻으려면 더 크고 똑똑한 AI 모델이 필요하다는 생각으로 시작했습니다. 하지만 그들은 그것이 틀렸다는 것을 곧 깨달았습니다. 그들의 첫 번째 주요 승리는 "두뇌"(생성기)를 업그레이드한 것이 아니라, "검색 엔진"(검색기)을 업그레이드한 데서 왔습니다.
그들은 단순히 로봇에게 문서를 찾으라고 요청하는 것만으로는 부족하다는 것을 깨달았습니다. 로봇에게 어떻게 찾아야 하는지를 가르쳐야 했습니다. 그들은 "의미"를 이해하는 "밀집(dense)" 검색과 "키워드"를 찾는 "희소(sparse)" 검색을 결합한 하이브리드 검색 시스템을 구축했습니다. 또한 질문에 따라 어떤 종류의 문서를 볼지 결정하는 "교통 경찰"(의도 라우팅)을 추가했습니다. 만약 절차에 대해 묻는다면 매뉴얼을 보고, 데이터베이스 수정에 대해 묻는다면 예전 지원 티켓을 보는 식입니다.
이 간단한 변화는 엄청난 업그레이드였습니다. 화려한 훈련을 거치기 전임에도 불구하고, 이 하이브리드 검색은 성공률을 62%에서 81%로 끌어올렸습니다. 이것이 그들이 수행한 가장 저렴하고 효과적인 개선이었습니다.
8 GB의 기적: 노트북에서의 학습
다음 과제는 자신들의 데이터로 검색 엔진을 학습시키는 것이었습니다. 그들에게는 약 15,000건의 해결된 지원 티켓과 내부 문서가 있었습니다. 그들은 검색 엔진이 기관 특유의 언어를 이해하도록 가르치고 싶었습니다.
보통 이런 모델을 학습시키려면 거대한 슈퍼컴퓨터가 필요합니다. 하지만 팀에게는 8GB의 메모리뿐이었습니다. 그들은 숨겨진 함정을 발견했습니다. 윈도우 노트북에서는 그래픽 카드 드라이버가 공간이 부족할 때 데이터를 일반 컴퓨터 메모리로 몰래 "넘겨버려(spill)", 시스템이 충돌하지는 않으면서도 학습 속도를 엄청나게 느리게 만든다는 사실이었습니다. 마치 자신이 메고 있는 물이 가득 찬 배낭을 모른 채 마라톤을 뛰는 것과 같았습니다.
이를 해결하기 위해 그들은 특별한 레시피를 사용했습니다:
- 8-bit 옵티마이저: 컴퓨터가 수행해야 하는 수학 연산을 축소하는 방법입니다.
- 그래디언트 체크포인팅 (Gradient Checkpointing): 일부 단계를 저장하는 대신 다시 계산함으로써 메모리를 절약하는 기술입니다.
이러한 기술들을 통해, 그들은 단 한 대의 노트북에서 단 72분 만에 검색 엔진을 완전히 학습시킬 수 있었습니다. 결과는 놀라웠습니다. 상위 10개 결과 내에서 올바른 문서를 찾아내는 능력(Recall@10)이 0.663에서 0.850으로 급증했습니다.
침묵의 함정: 하나의 도메인, 두 개의 세계
여기서 이야기는 까다로워집니다. 지원 티켓에 대해서만 검색 엔진을 학습시키자, 티켓을 찾는 능력은 매우 좋아졌습니다. 하지만 보이지 않는 방식으로, 공식 문서들을 찾는 능력은 오히려 떨어졌습니다. 학습이 검색 엔진의 이해력을 "변형(deform)"시켜 공식 문서를 처리하는 법을 잊게 만든 것입니다.
그들은 별도의 문서 전용 테스트 세트를 구축했기에 이 사실을 발견할 수 있었습니다. 만약 그렇지 않았다면, 시스템이 절반의 데이터에서는 실패하고 있음에도 완벽하다고 착각했을 것입니다. 데이터를 클라우드로 보내지 않고 이를 해결하기 위해, 그들은 GenQ라는 영리한 기술을 사용했습니다. 로컬 AI를 사용하여 문서에 대한 가짜 질문들을 생성함으로써, 두 세계의 균형을 맞추는 새로운 학습 세트를 만들었습니다. 이로써 손상된 부분을 복구했고, 검색 엔진은 다시 티켓과 문서 모두를 훌륭하게 찾아낼 수 있게 되었습니다.
안전 우선: 로봇이 거짓말하는 것을 막는 법
로봇이 데이터베이스 명령어를 초안으로 작성하기 때문에, 팀은 로봇이 절대로 말을 지어내지(환각 현상) 않도록 해야 했습니다. 그들은 **앵커 증거 추출(Anchor Distillation)**이라는 기술을 사용했습니다. AI에게 SQL 코드를 처음부터 쓰게 하는 대신, 과거 티켓에서 실제로 작동하는 코드를 그대로 가져와서, AI가 그 코드 주변의 텍스트(코드가 무엇인지, 언제 사용하는지에 대한 설명)만 쓰도록 제한했습니다. 이렇게 함으로써 로봇이 가짜 데이터베이스 명령어를 발명하는 것이 불가능해졌습니다. 코드 자체가 검증된 실제 "앵커(닻)"였기 때문입니다.
또한 그들은 PII 마스킹(이름과 ID 번호 숨기기)의 놀라운 이점을 발견했습니다. 실제 이름을 <user>나 <project_id> 같은 자리 표시자로 대체하여 학습시키자, 로봇은 오히려 더 나은 답변을 작성했습니다. 로봇은 예전 티켓의 특정 인물 이름을 복사하는 대신, 누구에게나 적용될 수 있는 유연한 템플릿을 작성하기 시작했습니다.
슬로우 판사 (The Slow Judge)
마지막으로, 로봇의 업무를 확인하기 위해 클라우드 기반 AI를 사용할 수 없다면 어떻게 성적을 매길 수 있을까요? 팀은 "슬로우 판사"를 만들었습니다. 그들은 너무 커서 빠르게 실행할 수 없는 거대한 AI 모델(7,444억 개의 파라미터)을 사용했습니다. 이 모델은 그래픽 카드가 아닌 컴퓨터의 메인 프로세서(CPU)에서 작동하며, 진행 과정에서 하드 드라이브로부터 데이터를 불러왔습니다. 매우 느려서 단 하나의 답변을 채점하는 데 약 10~13분이 걸렸습니다. 하지만 매우 똑똑했기에, 밤사이 로봇의 숙제를 채점하기에는 완벽했습니다.
그들은 이 슬로우 판사가 훌륭한 "제2의 의견"이 될 수 있지만, 완벽하지는 않다는 것을 발견했습니다. 판사는 특히 아주 좋거나 아주 나쁜 답변에 대해 인간 전문가와 의견이 일치하지 않을 때가 있었습니다. 교훈은 판사를 통해 추세와 패턴을 찾아내되, 구체적인 판결에 대해서는 항상 인간이 재확인해야 한다는 것이었습니다.
요약
RAGAL 프로젝트는 강력하고 안전한 AI 비서를 구축하기 위해 슈퍼컴퓨터나 클라우드가 필요하지 않다는 것을 증명합니다. 더 나은 검색 전략, 세심한 데이터 처리, 엄격한 안전 규칙과 같은 영리한 엔지니어링에 집중함으로써, 단 한 대의 노트북을 가진 작은 팀도 개인정보를 존중하면서 실질적인 가치를 제공하는 시스템을 만들 수 있습니다. 그들은 때때로 더 나아가기 위해 더 천천히 움직이고, 모든 것을 로컬에 유지하며, 세부 사항에 세심한 주의를 기울이는 것이 최선임을 보여주었습니다.
연구 분야의 논문에 파묻히고 계신가요?
연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.