에이전틱 검색에서 BM25의 터무니없이 강력한 효과 — 조 크리스티안 베르굼(Jo Kristian Bergum), Hornet.dev

AAI Engineer
Computing/SoftwareInternet Technology

Transcript

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다음에 또 뵙겠습니다.

Key Takeaway

작은 습관과 철저한 일정 관리에서 시작되는 지속적인 실행은 미래의 거대한 변화를 만든다.

Highlights

  • 일정 관리와 목표 구체화는 성공적인 성과를 만드는 핵심 방법이다.

  • 작은 습관의 반복은 1년 뒤 엄청난 차이를 만들어내는 복리의 마법으로 이어진다.

  • 사용자의 목소리를 직접 듣고 불편함을 해결하는 것이 지속적인 성장의 원동력이다.

  • 실패는 과정의 일부이며 포기하지 않고 앞으로 나아가는 태도가 중요하다.

Timeline

기본 원칙과 사용자 중심 가치

  • 사용자가 원하는 바를 정확히 이해하고 그 기대를 뛰어넘는 것이 첫 번째 원칙이다.
  • 기술적인 완성도에만 집착하면 진짜 중요한 가치를 놓치게 된다.

제품을 만들 때 기술에만 매몰되기 쉽지만, 현장에서 사용자의 목소리를 직접 듣고 불편함을 해결하는 과정이 성장의 원동력이 된다.

복리의 마법과 실행의 중요성

  • 작은 습관 하나로 시작하는 매일의 개선은 1년 뒤 엄청난 차이를 만든다.
  • 실패를 두려워하지 않고 당장 할 수 있는 일에 집중해야 한다.

처음 시작할 때는 막막하지만 사소한 행동들이 모여 커다란 변화를 이끈다. 돈뿐만 아니라 일상 행동과 미래의 모습에도 복리의 원리가 그대로 적용된다.

일정 관리와 목표 구체화

  • 공평하게 주어진 시간을 활용하기 위해 철저한 일정 관리가 필요하다.
  • 막연한 생각에서 벗어나 목표를 구체화하고 작은 단계부터 실행해야 한다.

예상치 못한 난관에 부딪히더라도 처음에 이 일을 시작한 초심을 떠올리며 뚝심과 의지를 지켜야 한다. 내일로 미루는 버릇을 버리고 오늘 당장 행동으로 옮기는 것이 미래를 바꾼다.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video