올해 20주년을 맞은 네이버가 상당 폭의 변화를 앞뒀다. 하루 3000만명이 드나드는 모바일 메인 개편은 여러 실험 끝에 확대 적용중이고 동영상 중심의 콘텐츠 제작과 편집, 소비에 이르기까지 끊이지 않는 사용자경험을 위한 체질 개선에도 나선다. 이용자가 보는 앞단의 변화가 이 정도라면 개발 뒷단에선 보다 과감하고 치열한 고민이 필요하다.
<디지털데일리>는 네이버를 움직이는 기술 리더들을 마블 캐릭터에 빗대 ‘네이버 어벤저스’라 이름 붙이고 이들의 연속 인터뷰를 통해 국내 최대 인터넷 기업의 속 깊은 고민과 핵심 경쟁력의 원천을 짚어보고자 한다. ‘빅데이터 & AI 플랫폼’에 이은 두 번째 어벤저스 팀은 ‘검색엔진’ 연구원들이다. <편집자 주>
[디지털데일리 이대호기자] 자동차의 핵심 부품은 뭘까. 하나만 꼽으라면 상당수가 엔진을 떠올릴 것이다. 네이버도 마찬가지로 볼 수 있다. 검색포털의 핵심은 검색엔진이다.
검색엔진은 네이버 문서들 중 사용자가 입력한 질의(검색어)와 가장 잘 맞는 것을 찾아주는 프로그램이다. 성남시 분당구 네이버 그린팩토리 본사에서 이 엔진을 다루는 연구원들을 만났다.
네이버 서치서빙엔진을 담당하는 최규식 리더<사진 오른쪽>와 임형준 테크리더(연구원) 두 사람은 검색 시스템 계층 구조도<그림> 가운데 검색 계층을 맡고 있다. 관련 연구진은 20여명. 이들은 아직 언론에 노출된 적이 없다. 네이버의 가장 내밀한 곳에서 일하고 있는 핵심 인재들로 볼 수 있다.
◆‘초당 질의 수천건’ 검색이 어려운 이유=국내 인터넷 이용자는 하루에도 몇 번씩 드나들게 되는 사이트가 네이버다. 검색을 하면 체감 상 1초도 안 되는 시간에 결과를 보여준다. 개인 PC와 모바일 기기 환경에 따라 체감 시간이 다를 수 있지만 실제로는 0.1초보다 짧은 시간에 이용자 의도를 파악해 결과를 짚어낸다.
이용자 개인이 아닌 네이버 입장에서 생각해보자. 개인마다 다른 검색결과를 모두에게 0.1초보다 짧은 시간에 보여준다는 것은 보통 일이 아니다.
네이버 이용자들이 동시다발적으로 던지는 질의만 1초에 수천 건. 2000년대 중반 네이버 시절 대비 10배가 늘어난 수치다. 산술적으로 계산하면 1분당 쌓이는 질의는 수천만 건에 달하게 된다. 이 중 일부에게라도 결과를 늦게 보여주면 게시판에 쓴 소리가 넘쳐날 수 있다. 검색 계층 연구진들은 늘 이런 고민을 안고 있다.
◆결론은 ‘검색 속도’=최규식 리더는 “검색엔진 초창기부터 속도를 중요시 여겼다”며 네이버 검색의 핵심 가치를 설명했다.
이용자가 검색을 시도하면 네이버 문서와 질의에서 단어들을 추출하고 이 둘이 얼마나 많이 겹치는지에 따라 문서마다 점수를 매겨 순서대로 보여준다. 질의가 있을 때마다 문서에서 매번 단어를 추출하면 속도가 느리기 때문에 색인을 거친다. 최근 인공지능(AI) 스피커와 앱으로 문서는 물론 질의 유입 경로가 다양해진 상황이다. 네이버가 가진 색인 문서만 수백억 건이다. 2000년대 중반 대비 100배 이상 증가했다.
◆고민 끝에 ‘증분 업데이트 엔진’ 적용=네이버 검색엔진 아키텍처의 최근 변화 중 하나는 신규 문서를 더 빨리 색인에 반영하기 위해 ‘증분 업데이트’가 가능해졌다는 것이다. 문서의 추가·변경·삭제를 색인에 반영할 때 모든 문서를 대상으로 처음부터 색인을 만들 필요 없이 변경 분만 입력하면 이를 반영할 수 있도록 했다.
임형준 연구원은 “지난 2014년 증분 업데이트 연구를 본격 시작해 2016년에 완료했다”고 말했다. 최 리더는 “얼마나 업데이트 단위를 잘게 나눌 것인가, 그렇게 했을 때 검색 시점에서 서비스 품질을 만족시킬 수 있는 것인가 트레이드오프(균형점)를 찾아나가야 한다. 이 때문에 증분 업데이트를 조금 늦게 시작한 감이 있다”고 설명했다.
기존엔 문서에 작은 변경이 있어도 이것이 반영되려면 빨라도 5~10분 가량의 갱신 주기만큼 기다려야 했는데, 증분 엔진에서는 설정에 따라 다르지만 1분 안에도 반영이 가능하다. 대기 시간이 감소된 만큼 업데이트 처리량(throughput) 역시 더욱 증가했다. 증분 업데이트에서는 갱신 처리량이 기존보다 2배 가량 향상됐다.
◆‘선택의 연속’ 솔로몬이 돼야 하는 이유=그러나 증분 업데이트 구조는 검색 속도에 악영향을 미친다. 검색할 때 읽히는 색인이 자꾸 변하면 검색 속도가 떨어지기 때문이다. 트레이드오프(균형점)를 고려해 대규모 검색에서 요구하는 수준을 맞추는 게 중요하다.
이 과정에서 ‘변경 분(세그먼트)을 얼마나 잘게 쪼갤 것인가’와 ‘이것을 어떤 스케줄로 병합할지’ 그리고 ‘색인 세그먼트들을 검색 시간에 어떻게 읽느냐’ 등의 선택을 하게 된다. 최 리더와 임 연구원은 검색 속도를 핵심 가치로 두면서 2년여간 증분 업데이트 엔진 개발을 마치기 위해 수많은 실험을 거쳤다는 설명이다.
하나의 선택이 다른 선택에도 영향을 미치기 때문에 고민을 거듭할 수밖에 없다. 세그먼트를 너무 잘게 쪼개면 업데이트 지연은 줄어들지만 검색 때 읽어야 하는 세그먼트 수가 늘어나기 때문에 검색 성능이 나빠지는 까닭이다. 현명한 판결로 유명한 솔로몬 왕의 선택을 떠올릴 수 있는 대목이다.
◆보다 ‘정교한 검색’ 만든다=최 리더는 AI 기술을 활용, 색인에 보다 다양한 피처를 활용해 최적의 순위를 계산해내는 모델 개발을 고민하고 있다. 그는 “여러 가지 값들을 넣어놓고 그 값들로부터 더 정교한 계산식을 만들어내기 위해 AI 기술을 쓰고 있다”며 “검색 모델링하시는 분들도 고급 모델을 쓸 수 있게 될 것”이라고 의미를 부여했다.
이 경우도 쉽지 않은 문제가 있다. 검색 스케일이 커지게 된다. 색인의 크기가 커지고 계산량이 많아지면서 이를 다루는 하드웨어 장비도 늘어나게 되는데, 이를 장애 없이 운용할 수 있는 노하우와 기술력도 필요하다. 현재 문서 증가 속도가 하드웨어 장비를 추가하는 속도보다 더 빠른 상황이다. 색인의 크기가 너무 커지지 않게 그리고 적합도 계산이 너무 오래 걸리지 않도록 최적화된 계산식이 더더욱 필요해진다.
임 연구원은 “하드웨어 규모가 커졌을 때에도 문제없이 돌아가면서 지탱할 수 있는가, 사람 개입 없이 자동화하려면 설계를 깔끔하게 하면서 장애상황의 방어로직들을 마련해야 한다”며 검색 품질 고도화 방향을 설명했다.
최 리더는 “속도에 집중해서 이용자가 느끼는 검색 품질을 계속 유지하겠다”고 힘줘 말한 뒤 “지난 20년간 큰 사고 없이 검색이 운영돼 왔다. 엔진만 잘한다고 되는 것이 아니라 운영을 하시는 분들이 미리 대비하고 꼼꼼히 들여다보는 지속적인 노력이 있었기 때문”이라고 네이버 검색에 매달린 관계자들에게 공을 돌렸다.