에이전틱 검색에서 BM25의 터무니없이 강력한 효과 — 조 크리스티안 베르굼(Jo Kristian Bergum), Hornet.dev
AAI Engineer
컴퓨터/소프트웨어AI/미래기술
스크립트
00:00:00이 자리에 함께하게 되어 매우 기쁩니다. 저는 Hornet Dev의 CEO인 조 버검입니다. 오늘 제가 말씀드릴 주제는
00:00:19에이전틱 검색에서 BM25가 보여주는 놀라운 유용성입니다. 혹시 여러분 중
00:00:24BM25에 대해 들어보신 분 계신가요? 생소하신가요, 아니면... 생각보다 많은 분이 알고 계시네요, 좋습니다. 참, 저는 지금 월드컵도 보는 중인데요.
00:00:32노르웨이가 코트디부아르와 후반전 경기를 치르고 있습니다. 노르웨이가 앞서고 있어서 다행이네요.
00:00:37아무튼 그렇습니다. 저희 Hornet에서는 에이전트를 위한 정보 검색 인프라를 구축하고 있으며, 저는 아주 오랫동안
00:00:46검색 및 정보 수집 문제를 연구해 왔습니다. 제 희끗희끗한 머리만 보셔도 아시겠지만, 이 분야에서만
00:00:5220년 넘게 일해 왔죠. 오늘 발표에서는 거의 30년이나 된 이 어휘 기반 점수산정 함수가
00:00:59왜 다시 강력하게 부상하고 있는지 이야기해 보려 합니다. 우선 제가 말하는
00:01:08에이전틱 검색 혹은 에이전틱 정보 검색이 무엇인지 개념부터 정의해 드리겠습니다.
00:01:14제가 정의하는 에이전틱 검색이란 기본적으로 에이전트 루프 내부에서 이루어지는 검색입니다. 즉,
00:01:22코딩을 하든, 심층 조사를 수행하든, 아니면 어떤 과제든 해결하려는 에이전트가 존재하고
00:01:28그 내부에서 작업을 성공적으로 완료하기 위해 에이전트에게 일종의 정보 요구가 발생하는 것이죠.
00:01:34그리고 제대로 된 에이전틱 검색 시스템을 구축하려면 기본적으로 세 가지가 필요합니다.
00:01:41첫째는 역량 있는 모델입니다. 도구를 활용하고 검색 쿼리를 작성할 수 있는 모델이죠.
00:01:47둘째는 모델을 둘러싼 하네스 환경과, 모델에 정보 검색 및 검색 기능을 제공하는 방식입니다.
00:01:55여기에는 다양한 접근법이 있습니다. 툴 호출 방식을 쓸 수도 있고, 코드 모드를 이용할 수도 있죠. 방금 이도 씨가
00:02:01검색 인프라를 노출하기 위해 시연했던 형태가 바로 제가 말하는 코드 모드입니다. 이게 하네스 영역입니다.
00:02:08그리고 셋째로, 수십억 건 규모의 문서 집합에서도 효율적으로
00:02:14검색을 수행할 수 있는 검색 엔진이 필요합니다. BM25의 정의를 말씀드리자면, BM25는 사실 “Best Match 25”의 약자입니다.
00:02:23연구원들이 수많은 실험을 진행했는데, 그중 25번째 실험 결과가
00:02:33가장 뛰어난 것으로 밝혀졌죠. 이것이 이 이름의 배경입니다. 기본적으로는 점수산정 함수인데요.
00:02:38쿼리가 있고 문서가 있을 때, 쿼리의 단어들과 문서의 단어들 사이의 상관관계를 통해
00:02:44일종의 점수를 계산해 내는 방식이라고 생각하시면 됩니다. 그렇게 점수를 구하고,
00:02:50이 점수가 쿼리에 대한 문서의 연관성을 잘 나타내는 지표가 되기를 기대하는 것이죠.
00:02:55BM25를 계산하는 한 가지 방법은 모든 문서를 가져와 하나하나 점수를 매긴 뒤,
00:03:01상위 K개의 문서가 무엇인지 찾아내는 것입니다. 그리고 지난 30~40년간 이러한 상위 K개 검색 속도를
00:03:08어떻게 높일 것인가에 대해 수많은 알고리즘 연구가 이루어졌고, 저희 역시 이 부분에 많은 투자를 하고 있습니다.
00:03:14이와 관련된 내용을 잠시 후 보여드리겠지만, BM25는 점수산정 함수이며 상위 K개 검색을 가속화하는 다양한 방법이 존재합니다.
00:03:22BM25 자체는 변하지 않았습니다. 동일한 점수산정 함수죠. 하지만 여기서 일어난 진짜 변화는 바로 훨씬 더 강력한 사용자가 등장했다는 점입니다.
00:03:30이도 씨가 일반 지식에 대해 언급했는데요. 오늘날의 LLM은 엄청난 양의 일반 지식을 보유하고 있습니다. 개체, 기업, 날짜 등 수많은 것을 알고 있죠.
00:03:38그리고 파라메트릭 모델 내부에 내장된 이러한 암묵적 지식을 활용함으로써, 모델들은 본질적으로 검색에 매우 능숙해집니다.
00:03:50그리고 이것이 현재 BM25를 다시금 더욱 유용하게 만들고 있는 결정적인 변화입니다.
00:04:01과거 BM25는 일종의 베이스라인 함수였습니다. 정보 검색 관련 연구라면 어디든 BM25 베이스라인을 포함시켰고,
00:04:09거기에 화려하고 고급스러운 신경망 기법 같은 것들을 적용한 뒤 BM25와 비교하곤 했죠.
00:04:17또한 예전에 우리가 검색을 평가하던 방식을 되돌아보는 것도 흥미롭습니다. 단순히 10개의 파란색 링크를 훑어보며 지표를 계산하곤 했으니까요.
00:04:24이제 그러한 방식은 거의 사라지고 있습니다. 에이전트는 인간보다 훨씬 더 많은 쿼리를 입력할 수 있을 만큼 강력하기 때문입니다.
00:04:34따라서 단 한 번의 단발성 쿼리만으로 이러한 시스템을 평가하려는 생각은 이제 적절하지 않습니다.
00:04:45이것은 제가 가장 좋아하는 벤치마크 중 하나입니다. 저는 벤치마크에 대해 이야기하는 걸 좋아하는데요.
00:04:53BrowseCom Plus는 지난해 한 논문에 발표된 심층 조사 벤치마크로, 거의 정확히 830개의 질문을 담고 있습니다.
00:04:59이 질문들은 수수께끼 같습니다. 펍 퀴즈 같은 거라고 생각하시면 됩니다. 미국에도 펍 퀴즈가 있나요?
00:05:13네, 좋네요. 약간 수수께끼 유형의 질문들인데 제법 깁니다.
00:05:19그리고 이 벤치마크의 에이전트 하네스 구조, 즉 프로토콜을 보면 모델이 존재하고,
00:05:23'검색'이라는 아주 단순한 도구가 제공됩니다. 모델이 쿼리 문자열을 입력하면 스니펫 몇 개를 모델에 반환해 주는 방식이죠.
00:05:31말뭉치는 약 10만 5천 개 또는 10만 개 정도의 문서로 구성되어 있어 비교적 적은 편이며, 웹 문서들로 이루어져 있습니다.
00:05:40그리고 최종 정확도 측면에서, 이 모든 질문에는 모범 정답이 존재하여 모델과 전체 루프가 정확히 그 답을 생성하는지 확인할 수 있습니다.
00:05:47하지만 왜 정보 검색이 필요할까요? 저는 컨텍스트 윈도우를 플로피 디스크에 비유하길 좋아합니다. 제가 80년대를 겪은 구세대라서요.
00:06:02당시에는 이런 게임들을 플로피 디스크를 이용해 컴퓨터에 설치하곤 했습니다.
00:06:11여러분은 너무 젊어서 이런 향수가 없을 수도 있겠지만, 플로피 디스크 한 장에는 약 1.4메가바이트의 데이터가 들어갔습니다.
00:06:15그리고 현재 모델들이 품질 저하를 일으키기 직전까지 처리할 수 있는 용량은, 제 생각엔 약 35만 토큰 정도입니다.
00:06:26즉, 딱 플로피 디스크 한 장 분량의 데이터인 셈이죠.
00:06:34따라서 컨텍스트 윈도우 안에 실제로 집어넣어야 할 정보만을 가져오기 위해 정보 검색이 필요한 것입니다.
00:06:38그리고 BrowseCom+는 검색 품질이 작업의 최종 정확도에 어떤 영향을 미치는지 명확히 보여줍니다.
00:06:47여기서 말하는 최종 정확도란 본질적으로 이 검색 도구를 갖춘 모델이 질문에 답할 수 있느냐는 것입니다.
00:06:57그 수수께끼 같은 질문 말이죠.
00:07:05만약 질문에 답하는 데 필요한 근거 문서들을 인위적으로
00:07:07모델의 컨텍스트 윈도우에 직접 채워 넣으면, 정확도가 매우 높게 나타납니다.
00:07:16모델의 컨텍스트 윈도우에 직접 채워 넣으면 정확도가 매우 높습니다.
00:07:21따라서 추론 능력이 병목은 아닙니다.
00:07:23증거가 미리 제공되면, GPT-4조차도 매우 높은 정확도로 질문에 답합니다.
00:07:33하지만 검색 도구가 포함된 프레임워크에 모델을 노출시키면 정확도가 떨어집니다.
00:07:39이제 프레임워크와 쿼리를 생성하는 모델의 능력,
00:07:44그리고 검색기의 검색 품질에 의존하게 되기 때문이죠.
00:07:49제 생각엔 이 점도 매우 중요합니다. AGI처럼 실수를 전혀 하지 않는
00:07:57완벽한 모델이 등장하더라도
00:08:00여전히 플로피 디스크 정도 크기의 컨텍스트 윈도우라는 한계에 부딪힐 테니까요.
00:08:04따라서 그 컨텍스트 윈도우에 무엇을 넣을지 결정해야 합니다.
00:08:07이전 슬라이드에서 보셨듯, 검색의 중요성은 여전히 매우 큽니다.
00:08:13그리고 이 BrowseComp+ 데이터셋에서는 이러한 수수께끼 같은 질문 하나가 검색 궤적이 됩니다.
00:08:20모델이 쿼리를 실행하고, 응답을 받아 읽은 뒤, 쿼리를 재구성하고
00:08:27컨텍스트 윈도우가 차거나 답을 찾을 때까지 이를 계속 반복하기 때문입니다.
00:08:36저희는 이 궤적들을 조사하는 데 시간을 좀 투자했습니다.
00:08:44GPT-5가 쿼리를 어떻게 구성하는지 알아보기 위해서죠.
00:08:49그리고 많은 흥미로운 점들을 발견했습니다.
00:08:52최근 블로그 게시글에도 관련 내용을 정리해 두었습니다.
00:08:55hornet.dev에서 확인하실 수 있습니다.
00:08:57저희는 이를 AOL 쿼리 로그와 비교하길 좋아합니다.
00:09:02AOL은 예전에 검색 인터페이스를 제공하던 서비스였는데요.
00:09:08실수로 웹에서 사람들이 검색한 데이터의 아주 큰 샘플을 공개해 버렸습니다.
00:09:17검색어들은 상당히 짧았죠.
00:09:19최근의 쿼리 로그들도 살펴보았습니다만,
00:09:22인간 사용자의 패턴은 여전히 단 몇 개의 단어로만 검색하는 방식입니다.
00:09:27반면 GPT-5는 훨씬 더 강력한 사용자입니다.
00:09:31일반적인 지식을 갖추고 있어서
00:09:32아주 긴 쿼리를 단번에 작성할 수 있습니다.
00:09:35유용한 여러 구문 연산자를 활용할 수도 있죠.
00:09:40웹 검색이나 site 연산자, 구문 검색 등에서 습득한 것들입니다.
00:09:45그리고 이건 새로운 유형의 워크로드입니다.
00:09:52BM25의 경우, 점수 산출 함수의 다양한 측면을 제어하는
00:09:57두 개의 하이퍼파라미터가 존재합니다.
00:10:01아까 베이스라인을 갖는 것에 대해 말씀드렸었죠.
00:10:04보통 BM25가 베이스라인으로 쓰이곤 했습니다.
00:10:06BrowseComp+ 역시 BM25를 베이스라인으로 사용하고요.
00:10:10하지만 알고 보니 그 베이스라인은 엉망이었습니다.
00:10:14임베딩 모델과 같은 더 화려한 기법들을 살펴보면,
00:10:20원래 논문만 보았을 땐 BM25보다 훨씬 뛰어난 검색 패러다임으로 눈에 띕니다.
00:10:26하지만 최근 연구에 따르면 BrowseComp+ 연구 논문에서 사용된
00:10:33파라미터들이 이러한 긴 문서를 다루기에는 적절하지 않았습니다.
00:10:37그래서 저는 “어떤 BM25를 말씀하시는 건가요?”라는 질문을 좋아합니다.
00:10:40해당 벤치마크의 전체 정확도에 매우 극적인 영향을 미치기 때문입니다.
00:10:50그렇다면 왜 BM25가 이 새로운 사용자층에서 더 강력할까요?
00:10:56사용자가 일반적인 지식을 갖추고 타이핑도 더 빠르며
00:11:00더 구체적으로 검색할 수 있다는 점을 언급했었죠.
00:11:02그리고 정확한 키워드 일치는 여전히 중요합니다.
00:11:06모델이 이름, 개체, 우편번호, SKU 코드 등을 잘 알고 있기 때문입니다.
00:11:12모든 토큰을 고정된 어휘 집합으로 인코딩하는
00:11:17임베딩 모델로는 이를 표현하기가 그리 쉽지 않습니다.
00:11:21또한 임베딩 추론 실행 비용을 고려하면
00:11:27상대적으로 비용이 저렴합니다. 일부 임베딩 모델은 매개변수가 80억 개에 달하고
00:11:32텍스트를 인코딩하려면 전용 인프라 등을 구축해야 하니까요.
00:11:36따라서 구조가 꽤 단순하며 전반적인 생태계의 툴링도 매우 잘 되어 있습니다.
00:11:43즉, 즉시 손쉽게 사용할 수 있습니다.
00:11:45또한 모델이 결과를 검토하고 특정 쿼리 표현이
00:11:51왜 그러한 결과를 반환했는지 이해하기가 매우 쉽습니다.
00:11:54문자 그대로의 용어나 문구 같은 것들을 직접 매칭하기 때문에
00:11:58모델이 검색어를 재구성하는 데 도움이 될 수 있습니다.
00:12:03이 세 가지가 핵심적인 이유입니다.
00:12:06이제 최신 트렌드라 할 수 있는 주제로 넘어가 보겠습니다.
00:12:11워털루 대학교 지미 린 교수 연구팀에서 발표한 매우 최근 연구인데요.
00:12:17정보 검색 연구와 에이전트 기반 검색 분야에서 뛰어난 성과를 내고 있습니다.
00:12:23최근에 제가 아주 인상 깊게 읽은 논문이 하나 있는데요.
00:12:26제목은 '동적 작업 공간 확장을 통한 직접적 말뭉치 상호작용의 확장'입니다.
00:12:32이 내용을 조금 더 자세히 설명해 드리겠습니다.
00:12:34에이전트를 위한 웹 검색 인프라를 구축한다고 가정해 봅시다.
00:12:39요즘 정말 많은 기업이 이 작업을 진행하고 있죠.
00:12:41저희도 그런 기업들과 협력하여 이러한 사용 사례를 지원할 인프라 구축을 돕고 있습니다.
00:12:48거기에는 수십억 개의 문서가 존재할 수 있습니다.
00:12:53따라서 컨텍스트 윈도우에 다 들어가지 않죠.
00:12:55당연히 정보 검색 기술이 필요합니다.
00:12:57BM25는 훌륭한 베이스라인이 됩니다.
00:12:59이를 통해 정보를 검색할 수 있죠.
00:13:03결과적으로 이것은 에이전트를 위한 검색 결과 페이지(SERP)라고 생각하시면 됩니다.
00:13:15검색기에서 가져온 문서들을 작업 공간에 배치할 수 있기 때문입니다.
00:13:20이 작업 공간을 파일 시스템 형태로 구성하면 기존의 스킬 관련 개념들을 그대로 활용할 수 있습니다.
00:13:29점진적 정보 노출이 가능해지는데, 문서 제목이나
00:13:35짧은 요약 스니펫만 모델에 먼저 보여줄 수 있기 때문이죠.
00:13:39그러면 모델이 '이 문서의 내용을 더 읽어야겠어'라고 스스로 판단할 수 있습니다.
00:13:43그 과정에서 모델이 능숙하게 다루는 기본적인 도구들을 모두 활용하게 됩니다.
00:13:48다들 코딩 에이전트를 써보셨을 겁니다.
00:13:49grep, ripgrep, sed, awk 등 컨텍스트를 관리하기 위해 도구를 사용하는 모습을 보셨을 텐데요.
00:13:55여기서는 두 방식의 장점을 모두 누릴 수 있습니다.
00:13:58샌드박스 인프라, 검색 인프라, 가상 파일 시스템(VFS), Bash 명령어 등을 자유롭게 결합할 수 있죠.
00:14:05매우 흥미로운 방식이지 않나요?
00:14:06현재 일어나는 새로운 패러다임들을 하나로 결합하고 있으니까요.
00:14:11저는 이런 방향성에 대해 정말 기대가 큽니다.
00:14:14어떻게 보면 영리한 꼼수(Hack)이기도 합니다.
00:14:16현재 모델이 잘하는 것에 맞춰 최적화하는 일종의 꼼수인 셈이죠.
00:14:19선도적인 LLM 기업들이 코딩, Bash, 도구 사용에 맞춰 모델을 최적화하고 있으니까요.
00:14:27따라서 엔드투엔드 작업을 그 흐름에 맞춰 놓으면,
00:14:31새로운 모델이 나와도 이 부분 역시 더 잘 수행하게 됩니다.
00:14:37AGI에 도달하면 그냥 브라우저를 직접 쓸 수도 있겠지만, 두고 봐야겠죠.
00:14:41하지만 현재로서는 이것이 정보 검색 인프라와 전체 편집 검색 경험을 구축하는 매우 강력한 방식입니다.
00:14:53그리고 평가 측면에서 보면요,
00:14:55아까도 말씀드렸듯이
00:14:57전통적인 정보 검색에서는 단일 쿼리, 단일 순위 리스트로 nDCG를 계산해 비교하곤 했습니다.
00:15:07하지만 새로운 사용자가 에이전트인 환경에서는 그런 방식이 더 이상 유효하지 않습니다. 에이전트가 쿼리를 재구성하고,
00:15:12추가 쿼리를 날리고, 쿼리를 확장하는 등 다양한 작업을 수행하기 때문이죠.
00:15:17따라서 기존의 고전적인 정보 검색 평가 방식은 이제 거의 쓸모가 없어졌습니다.
00:15:23대신, 모델이 주어진 작업을 제대로 수행할 수 있는지를 봐야 합니다. 예를 들어
00:15:30질의응답 분야라면 올바른 정답을 맞히는지 보는 것이죠.
00:15:35저희 Hornet은 핵심 원형 기술 중 하나로 BM25에 주목하고 있으며,
00:15:42BM25를 평가하는 가장 뛰어나고 효율적인 방식을 제공하겠다는 비전을 세웠습니다. 그만큼 이것이 강력하고
00:15:51근본적인 원형 기술이기 때문입니다. 이 도표는 익명 처리된 몇몇 엔진을 Hornet과 비교한 것입니다.
00:15:59동일한 하드웨어 환경, 1억 개의 웹 문서, 단일 노드 조건에서 Hornet과 익명화된 다른 엔진들을 비교한 자료입니다.
00:16:07보시다시피 Hornet은 다른 엔진에 비해 훨씬 효율적으로 구현되어 있으며,
00:16:13동일한 예산으로 더 높은 처리량을 낼 수 있습니다. 이는 웹 검색 인프라 등을
00:16:19구축 중인 많은 기업에 큰 비용 절감 효과를 가져다줍니다.
00:16:24y축은 무엇인가요?
00:16:26y축은 QPS입니다, 죄송합니다.
00:16:32y축은... 아, 죄송합니다. y축은 지연 시간(latency)입니다.
00:16:40이번 발표의 핵심 요약 4가지입니다. 첫째, 더 강력한 새로운 사용자가 등장했습니다. 더 빠르게 입력하고, 읽고, 쿼리를 재구성할 수 있으며, 광범위한 일반 지식을 갖추고 있어 grep이나 BM25 같은 단순한 도구의 활용도를 극대화합니다.
00:17:03이것이 첫 번째입니다. 두 번째는 '어떤 BM25를 의미하는가?'입니다.
00:17:07구현 방식, 성능, 매개변수 등에 차이가 있으므로 이 점을 고민해 보셔야 합니다.
00:17:14그리고 에이전트 기반 검색에 이것이 왜 효과적일까요? 모델 입장에서 설명 가능하기 때문입니다. 완전히 일치하는 검색을 제공하므로, 동일하게 완전 일치 기반인 grep과 조합하여 활용하기 좋습니다.
00:17:27이 두 가지의 결합은 매우 강력한 에이전트 기반 검색 및 정보 검색 패러다임이 됩니다.
00:17:39참고 자료가 많이 준비되어 있으며, 강연 영상과 발표 슬라이드도 공개될 예정입니다.
00:17:47마음에 들지 않으셨다면 제 트위터로 트윗을 보내주셔도 됩니다.
00:17:55별도의 Q&A 시간은 없다고 전달받았지만, 정보 검색에 대해 이야기 나누고 싶으시다면 컨퍼런스장에 있는 저를 찾아주세요. X 계정으로 연락주시는 것이 가장 좋습니다.
00:18:08이상입니다.
00:18:25다음에 또 뵙겠습니다.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기