search-ranking

2 개의 포스트

학술 논문 및 에 (새 탭에서 열림)

Airbnb는 2025년 한 해 동안 KDD, CIKM, EMNLP 등 세계적인 AI 및 데이터 사이언스 학술대회에서 다수의 논문을 발표하며, 여행 및 주거 플랫폼으로서의 기술적 리더십을 공고히 했습니다. 이들은 단순히 학술적 성과에 그치지 않고 검색 알고리즘 고도화, 개인화 추천 시스템, 다중 모달(Multi-modal) 임베딩 등 실제 비즈니스 문제를 해결하기 위한 응용 머신러닝 기술에 집중했습니다. 결과적으로 이러한 연구들은 예약 전환율 향상과 수천만 달러의 추가 수익 창출이라는 실질적인 성과로 이어졌습니다. ### 검색 랭킹 및 개인화 기술 고도화 (KDD) * **교차 배치(Interleaving) 및 반사실적 평가(Counterfactual Evaluation):** 숙소 예약과 같이 전환 주기가 긴 상품의 경우 A/B 테스트 결과를 얻는 데 시간이 오래 걸립니다. 이를 해결하기 위해 실제 온라인 테스트 전 신속하게 알고리즘 성능을 예측하는 기법을 개발하여 실험 프로세스의 효율성을 높였습니다. * **극한 분류(Extreme Classification)를 통한 검색 지역 확장:** 사용자의 의도를 정밀하게 파악하기 위해 위치 검색 시 단순히 지리적 반경을 사용하는 대신, 고정밀 카테고리 기반의 위치 셀(Cell) 시스템을 도입하여 검색 정확도를 개선했습니다. ### 검색 보조 및 지도 UI 최적화 (CIKM) * **추천 시스템을 통한 검색 결과 보완:** 사용자가 지나치게 좁은 조건(필터)으로 검색하여 결과가 부족할 경우, 날짜 조정이나 편의시설 완화 등 대안적인 추천을 동적으로 제공하여 사용자 경험과 예약률을 개선했습니다. * **지도 기반 랭킹 최적화:** 전체 검색 상호작용의 80%가 발생하는 지도 UI는 기존 리스트 기반의 NDCG 지표로는 사용자 주의 집중도를 정확히 모델링하기 어렵습니다. 이에 지도 전용 NDCG 지표를 설계하고 이를 최적화하여 실제 예약 증대 효과를 거두었습니다. ### 다중 모달 데이터 활용 및 비교 쇼핑 모델링 (CIKM) * **BListing(이봉 분포 리스팅) 임베딩:** 숙소의 텍스트 정보와 사진 데이터를 대규모 언어 모델(LLM)과 이미지 모델을 통해 하나의 벡터로 통합했습니다. 이 다중 모달 임베딩 도입을 통해 수천만 달러의 점진적 수익 성장을 달성했습니다. * **비교 쇼핑 학습(Learning-to-Comparison-Shop):** 전통적인 랭킹 모델은 각 아이템을 개별적으로 평가하지만, 새로운 시스템은 사용자가 검색 결과 페이지에서 여러 아이템을 서로 비교하는 행동 자체를 모델링합니다. 이를 통해 예약 전환율을 0.6% 향상시켰습니다. ### NLP 및 대규모 언어 모델(LLM)의 실무 적용 (EMNLP) * **고객 지원 및 신뢰와 안전:** EMNLP에서는 LLM을 활용한 고객 상담 지원, 검색 및 발견 기능 강화, 플랫폼 내 신뢰 시스템 구축을 위한 최신 아키텍처와 학습 전략을 공유했습니다. * **실제 프로덕션 환경의 LLM:** 단순한 모델 성능을 넘어 대규모 서비스 환경에서 LLM을 안전하고 효율적으로 운영하기 위한 평가 체계와 오픈소스 라이브러리 활용 방안을 제시했습니다. 데이터 기반의 의사결정과 정교한 머신러닝 모델링은 복잡한 양면 시장(Two-sided Marketplace)에서 사용자 만족도를 높이는 핵심 동력입니다. 특히 사용자 경험에 직접적인 영향을 미치는 검색 UI(지도 vs 리스트)별 전용 지표를 설정하거나, 텍스트와 이미지를 통합한 다중 모달 임베딩을 구축하는 접근 방식은 유사한 도메인의 엔지니어들에게 실무적인 영감을 제공합니다.

Dropbox Dash의 실시간 (새 탭에서 열림)

Dropbox Dash는 흩어져 있는 업무 데이터를 통합하여 실시간으로 답변과 검색 결과를 제공하는 AI 도구이며, 이 시스템의 핵심은 머신러닝 모델에 필요한 데이터 신호인 '피처(Feature)'를 관리하고 전달하는 피처 스토어입니다. 수만 개의 문서 중 가장 관련성 높은 정보를 순위화하기 위해 드롭박스는 온프레미스와 클라우드가 결합된 하이브리드 인프라 위에서 초저지연 읽기와 실시간 데이터 업데이트가 가능한 독자적인 피처 스토어를 구축했습니다. 결과적으로 이 시스템은 수천 개의 피처를 병렬로 조회하면서도 100ms 미만의 응답 속도를 유지하여 사용자에게 최적화된 검색 경험을 제공합니다. ### 하이브리드 인프라를 위한 설계 목표와 요구사항 * **복합적인 인프라 환경 대응:** 저지연 통신을 위한 온프레미스 에코시스템과 대규모 데이터 처리를 위한 Spark 기반 클라우드 환경을 동시에 지원해야 했습니다. * **대규모 병렬 조회 처리:** 사용자 쿼리 하나당 수천 건의 피처 룩업(Lookup)이 발생하므로, 엄격한 지연 시간 예산 내에서 막대한 병렬 읽기를 처리할 수 있는 구조가 필요했습니다. * **실시간성 확보:** 사용자의 최근 행동(문서 열람, 채널 참여 등)이 몇 초 내에 다음 검색 결과에 반영될 수 있도록 빠른 데이터 수집 파이프라인이 요구되었습니다. * **통합 프레임워크 구축:** 실시간 스트리밍과 배치 처리를 통합하여 엔지니어가 아이디어 단계부터 실제 배포까지 빠르게 진행할 수 있는 환경을 목표로 했습니다. ### Feast와 Dynovault를 활용한 아키텍처 설계 * **Feast 프레임워크 채택:** 피처 정의와 인프라 구현을 분리하고 모듈화된 어댑터 생태계를 가진 Feast를 선택하여 인프라 복잡성을 추상화했습니다. * **Dynovault 활용:** 드롭박스 자체 개발 DynamoDB 호환 스토리지인 Dynovault를 온라인 저장소로 사용하여 공용 인터넷 호출 없이 약 20ms의 클라이언트 지연 시간을 달성했습니다. * **관측 가능성 강화:** 작업 실패 모니터링, 데이터 신선도 추적, 데이터 계보(Lineage) 가시성 등을 추가하여 안정적인 운영 기반을 마련했습니다. ### Go 언어 재작성을 통한 성능 최적화 * **Python SDK의 한계 극복:** 초기 Python 기반 구현에서는 JSON 파싱 속도와 GIL(Global Interpreter Lock)로 인해 동시성 처리에 병목이 발생했습니다. * **고성능 서빙 레이어 구축:** 서빙 레이어를 Go 언어로 재작성하고 가벼운 고루틴(Goroutine)과 공유 메모리를 활용하여 동시성 성능을 극대화했습니다. * **지연 시간 단축:** 최적화 결과 p95 기준 지연 시간을 25~35ms 수준으로 유지하며, 초당 수천 개의 요청을 처리할 수 있는 확장성을 확보했습니다. ### 효율적인 데이터 신선도 유지 전략 * **계층화된 수집 방식:** 복잡한 연산이 필요한 데이터는 메달리온 아키텍처(Medallion architecture) 기반의 배치 수집을, 실시간 신호는 스트리밍 방식을 병행합니다. * **지능형 변경 감지:** 모든 데이터를 매번 다시 쓰는 대신 변경된 레코드만 온라인 스토어에 기록하는 방식을 도입했습니다. * **비용 및 성능 최적화:** 변경 감지 기술을 통해 쓰기 작업량을 수억 건에서 백만 건 미만으로 줄여 업데이트 시간을 단축하고 인프라 부하를 최소화했습니다. 이러한 드롭박스의 접근 방식은 기성 제품을 그대로 사용하기보다 오픈소스를 활용해 내부 인프라에 최적화된 형태로 커스터마이징하는 것이 대규모 AI 서비스 운영에 얼마나 중요한지를 잘 보여줍니다. 특히 성능 병목 지점을 정확히 파악하여 서빙 레이어를 Go로 전환한 결정은 지연 시간에 민감한 실시간 랭킹 시스템 구축 시 고려해 볼 만한 전략입니다.