NGINX Plus Session Log 모듈을 통해 로깅 세션 구성 이번 포스트에서는 NGINX Plus session log 모듈을 통해 세션에 대한 로깅을 구성하는 방법에 대해 설명합니다. 세션 로깅을 활성화하는 이유는 여러가지가 있으며, 그중 몇 가지는 아래와 같습니다. 세션 로깅은 웹사이트 운영에 필수적인 요소로, 사용자 경험을 향상시키고, ...
기술 블로그 모음
국내 IT 기업들의 기술 블로그 글을 한 곳에서 모아보세요


코드 작성에 AI의 도움을 받을 수 있는 가장 유명한 도구 중 하나로, GitHub이 2021년 발표한 GitHub Copilot이 있습니다. 2024년 12월 GitHub Copilot for VS Code 무료 플랜을 제공하기 시작해, 제한적(2k/월 코드 어시스트, 50건/월 채팅)이긴 하지만 누구나 활용할 수 있게 되었습니다. 그런데 Copil...

올해 3월 세계 여성의 날(IWD)을 기념해 지난 주말 선전에서 ‘Women in Tech’ 사용자 그룹 모임이 열렸는데, 영광스럽게도 제가 이 모임에 참석할 수 있었습니다. 다양한 산업의 기술 분야에 종사하는 여성 100여 명이 함께 모여 여성의 관점에서 AI 윤리에 대해 논의하는 것을 보면서 많은 영감을 얻었습니다. 우리는 함께 AI 시스템에서 성...

2024년의 주요 조사 결과를 살펴본 JetBrains Qodana 소프트웨어 품질 보고서의 첫 에디션이 얼마 전에 출간되었습니다. 이 조사의 취지는 오늘날 고품질 소프트웨어를 제공하기 위한 모범 사례를 더 심도 있게 이해하고, 규모와 성숙도가 다양한 회사에서 제품이 프로덕션에 적합한지 여부를 판단하는 기준을 알아보기 위한 것이었습니다. 이를 위해 8...

Roger Quero, Liwei Guo, Jeff Watts, Joseph McCormick, Agata Opalach, Anush MoorthyWe are excited to announce that we are now streaming HDR10+ content on our service for AV1-enabled devices, enhanci...
안녕하세요, 이스트시큐리티입니다. 지난 3월 19일(수)부터 21일(금)까지 일산 KINTEX에서 진행되었던 '제13회 전자정부 정보보호 솔루션 페어(eGISEC 2025)'에 이스트시큐리티가 참가해 총 2,000여명이 넘는 고객 여러분을 직접 만나 소통하는 뜻깊은 시간을 가졌습니다. 이번 행사에서는 전시 부스 운영과...

안녕하세요? 저는 일하는 프로들과 비즈니스 기회를 연결하는 리멤버의 제품본부 개발실에서 리더 역할을 맡고 있는 이한별이라고 합니다. 😁제가 리멤버에 합류한 지 5년이 지나가는데, 그동안 상당히 많은 제품 변화도 있었지만 저희 조직의 변화도 있었는데요. 이번 글에서는 그러한 변화들을 거쳐 온 현재의 개발실의 모습을 가볍게 소개드리고자 합니다.매트릭스 조...

이번 조사는 IT 프로젝트 준비 및 추진 과정에서 겪는 어려움과 니즈에 대해 알아보기 위해 국내 금융, 제조, 유통/서비스 업종의 대기업 및 중견기업에 재직 중인 IT 의사결정 관여자 400여 명을 대상으로 설문조사를 진행했습니다.

안녕하세요. LINE Plus Tech Content Strategy 팀 하성창입니다. 저희 팀은 테크니컬 라이터로 구성돼 있으며, LINE Plus에서 개발한 다양한 플랫폼의 기...
과징금부과내용 전송되었습니다. 열람하기 http://n.b***.me](https://blog.kakaocdn.net/dn/b0zcsx/btsMQ5ObSNi/qrukfC7rOat6m6fAARjSB0/img.png)
[3월 셋째주] 알약 스미싱 알림 본 포스트는 알약M 사용자 분들이 '신고하기' 기능을 통해 알약으로 신고해 주신 스미싱 내역 중 '특이 문자'를 자체 수집,&n...
![[신규 기능] 네이버 지도 스타일 커스텀이 가능한 Map Style Editor ️](https://blogthumb.pstatic.net/MjAyNTAzMjBfMzkg/MDAxNzQyNDczNTc4MTk5.QubqA1iTlu-eoaaHaD2gxChsLEs7psjGVBOBKYIL1zMg.AnSAsAGYKZQMpsL2lBr_IpxNUIjd5QDdZ6iIm_qy_ncg.PNG/mapstyleeditor_thumb.png?type=s3)
안녕하세요, 누구나 쉽게 시작하는 클라우드 네이버클라우드 ncloud.com 입니다. 네이버 지도, 내맘대로 커스텀해보세요! 네이버 지도의 지도/경로/주소 데이터를 API 형태로 사용할 수 있는 서비스 Maps. 이제 간편한 스타일링 툴을 통해 여러분의 서비스 성격과 용도에 맞게 지도를 커스텀할 수 있습니다! Map Style Editor 출시를 소개...

TeamCity’s first major release of the year, version 2025.03, is now available. It’s packed with new features, including massive UI updates, a new Run in Docker build feature, and JetBrains-cr...

The Kotlin 2.1.20 release is out! This version includes performance improvements and bug fixes for Kotlin 2.1.0. Here are some highlights from this release: For the complete list of changes, refer ...

안녕하세요, 이스트시큐리티입니다. 보안 관리부터 위협 탐지, 패치 업데이트, 자산 관리까지… 해야 할 일은 많은데, 인력과 시간이 부족해 어려움을 겪고 계시는 보안 담당자 분들이 많으실텐데요. 이번 보안툰에서는 ASM 5를 통해 체계적으로 엔드포인트 보안 관리가 가능한 이유를 알려드리겠습니다. 시간과 비용을...

This year, the TeamCity team is working on a number of new initiatives, including updating the UI, TeamCity recipes, Jenkins migration tools, and many others. Read on to learn what our focus is for...

3월 14일에 열린 제5차 연례 AWS Pi Day에 참여해 주신 모든 분들께 감사드립니다. 올해 Amazon Simple Storage Service(Amazon S3) 15주년을 기념하여 열린 AWS Pi Day는 2021년 처음 개최되었으며 데이터 관리, 분석 및 AI 분야에서 클라우드 기술의 혁신적인 힘을 조명하는 대표적인 이벤트로 성장했습니다...

안녕하세요. 커뮤니케이션 앱 LINE의 모바일 클라이언트를 개발하고 있는 Ishikawa입니다. 저희 회사는 높은 개발 생산성을 유지하기 위해 코드 품질 및 개발 문화 개선에 힘쓰...

We’ve released another update for v2024.3! You can update to this version from inside the IDE, using the Toolbox App, or by using snaps if you are a Ubuntu user. You can also download it from ...

IntelliJ IDEA has supported Java 24 since an earlier release, with more enhancements being added in the later releases! I’m often asked, “What’s the best feature of Java 24?” My answer? Why pick ju...

NGINX Location 매칭 가이드 이번 포스트에서는 NGINX Location 블록별 요청 URI 가이드에 대한 설명입니다. NGINX는 웹 서버 소프트웨어로, 높은 성능과 안정성을 자랑합니다. 다양한 기능 중에서도 Location 블록은 특정 URI에 대한 요청을 처리하는 데 매우 중요한 역할을 합니다. 아래 자세한 가이드를 확인하려 상황에 맞...

연구실의 기술은 서비스나 상품을 통해 세상과 만나기를 기다립니다. 제가 속한 네이버랩스의 디지털 트윈(Digital Twin) 기술도 마찬가지입니다. 디지털 트윈은 현실 공간을 복제하여 가상 환경에서 3차원으로 동일하게 구현하는 기술로, 그간에는 주로 로봇과 자율주행의 핵심 기술 중 하나였습니다. 이 기술을 다양한 네이버 서비스에 확대 적용하고자 해왔...

이 글에서는 데이터베이스를 이용해 Java 애플리케이션을 개발할 때 IntelliJ IDEA에서 생산성을 높일 수 있는 9가지 시간 절약 방법을 알려 드립니다. 새 프로젝트를 시작하거나 진행 중인 프로젝트에 뛰어드는 모든 경우에 도움이 될 팁입니다. IntelliJ IDEA Ultimate 다운로드 프로퍼티에서 자동으로 데이터 소스 만들기 Intell...
![[웹툰 파헤치기]색다른 판타지물… ‘이종족 보호 관리국’](https://static.teamblind.com/img/cppc/upload_5ab60103.jpeg)
The post [웹툰 파헤치기]색다른 판타지물… ‘이종족 보호 관리국’ appeared first on 리디주식회사 RIDI Corporation.

안녕하세요, 이스트시큐리티입니다. 기업 내 다양한 보안 솔루션을 따로 운영하며 복잡하고 비효율적인 관리에 어려움을 느끼고 계신가요? 이제 이스트시큐리티의 AI 기반 차세대 통합보안 플랫폼, '알약 XDR'로 간편하게 해결 가능합니다. 알약 XDR은 기존의 특정 기능에 특화된 SIEM(탐지), SOAR(자동화)의 강점을 모두 결합하여 탐지부...

지난 AWS re:Invent 2024에서 Amazon S3 Tables를 출시했습니다. Amazon S3 테이블은 대규모 테이블 형식 데이터 저장을 간소화하는 내장 Apache Iceberg를 지원하며, 통합된 개방형 보안 데이터 레이크하우스로 분석 및 AI를 간소화하는 Amazon SageMaker Lakehouse를 출시했습니다. 또한 Amazo...
![[국외발신][경찰청통보문자]위반 통지문자가 전달되었습니다 열람바람 : hxxp://b.b***.work](https://blog.kakaocdn.net/dn/Gss49/btsMJnor85X/W0otuksPs8bCPJ3oEFKO8K/img.png)
[3월 둘째주] 알약 스미싱 알림 본 포스트는 알약M 사용자 분들이 '신고하기' 기능을 통해 알약으로 신고해 주신 스미싱 내역 중 '특이 문자'를 자체 수집,&n...

안녕하세요? 이스트시큐리티 시큐리티대응센터(이하 ESRC)입니다. ESRC에서는 지난해 하반기부터 SVG 포맷의 악성코드가 유포되는 공격들을 모니터링하던 중 최근 국내 기업을 대상으로 해당 공격이 진행된 정황을 포착하였습니다. 해당 공격은 글로벌 해운 업체의 선적물 안내 메일로 위장한 피싱 메일을 통해 유포되었으며...

기존 호텔 검색에서는 블로그에서 장소(Point of Interest, POI) 정보를 추출하고 다국어 음차 변환 및 번역을 수행하며 검색 키워드와 스니펫을 자동 생성하는 과정에서 대형 언어 모델(Large Language Model, 이하 LLM)을 활용했습니다. 하지만 LLM은 강력한 성능을 제공하는 대신 높은 연산 비용과 긴 응답 시간으로 인해 실시간 검색 서비스에 적용하기 어려웠습니다. 반면, sLLM(small large language model)은 빠르고 효율적이지만 성능이 낮아 검색 품질이 저하될 우려가 있었습니다. 호텔 검색에서는 다양한 블로그 데이터를 분석하고, 다국어 지원을 위해 번역 및 음차 변환을 수행해야 합니다. 이를 위해서는 LLM 기반의 자연어 처리 모델이 필수적이었습니다. LLM 수준의 성능을 소형 모델에서도 구현할 수 있다면 실시간 검색 품질을 유지하면서도 서버 부담을 줄일 수 있습니다. 이에 따라 플레이스 AI 팀은 지식 증류(Knowledge Distillation) 기법을 활용해 LLM의 성능을 유지하면서도 sLLM으로 최적화하는 기술을 연구했고, 그 결과 검색 품질을 유지하면서도 효율적인 서비스 운영이 가능해졌습니다. 구현 과정과 주요 도전 과제 Teacher와 Student 모델 선정 Teacher 모델의 성능이 학습 데이터 품질을 결정하고, Student 모델의 성능이 최종 검색 품질에 직접적인 영향을 미치기 때문에, 최적의 모델을 선정하는 것이 중요했습니다. 이에 따라 LLM as Judge 방식을 활용해 다양한 후보군을 평가한 뒤, 증류할 task에 대해 가장 성능이 뛰어난 Teacher와 Student 모델을 task마다 선정했습니다. 정확한 학습 데이터 확보 Teacher 모델에서 환각 현상(Hallucination)이 없는 학습 데이터를 추출하는 것이 핵심이었습니다. 이를 위해 정교한 프롬프트 엔지니어링을 적용하여 학습 데이터를 구성했습니다. 주요 설계 요소는 다음과 같습니다. task 설명과 구체적인 지침 제공 키워드 및 스니펫 생성 방식 가이드라인 적용 모델 응답의 형식과 구조 명확화 청중, 역할, 스타일 지침 제공 프롬프트 설계 시 OpenAI cookbook, Llama cookbook을 참고했습니다. 지식 증류 기법 개선 기존 방식으로는 sLLM이 LLM의 성능을 효과적으로 재현하기 어려웠기 때문에, 여러 단계에 걸쳐 증류 기법을 고도화했습니다. 1. 초기 접근 초기에는 SeqKLD 방식을 사용해 Label을 학습했지만, 기대만큼의 성능이 나오지 않았습니다. 2. 화이트박스 지식 증류 Label LM Loss와 함께 Logit 정보를 활용하는 방식도 시도했지만, 성능 향상 폭이 크지 않아 제외되었습니다. 3. 블랙박스 지식 증류 + 근거 학습 적용 Teacher 모델이 단순히 답을 제공하는 것이 아니라, 왜 그러한 답이 나왔는지에 대한 근거(Rationale)까지 학습하도록 설계했습니다. Label과 Rationale을 별도 Loss로 학습하는 Distilling Step-by-Step 방식을 적용하여 정교한 모델 성능을 확보하고, <|Label|>, <|Rationale|> 같은 특수 토큰을 추가해 학습 과정에서 구체적인 정보 구분이 가능하도록 했습니다. 4. 최적화 단계 학습 과정에서 Rationale 정보가 Label과 충돌하는 경우가 발생해, 이를 줄이기 위해 Label 정보를 Rationale 생성 단계에서 먼저 고려하도록 조정했습니다. 그 결과, 기존 Distilling Step-by-Step 방식 대비 모든 케이스에서 성능이 향상되었습니다(LLM as Judge). 5. 추가 시도 MoE(Mixture of Experts)와 MoE LoRA 방법도 적용해 보았습니다. MoE with LoRA가 가장 좋은 성능을 보였고 다중 작업 학습(multi-task learning)의 가능성을 확인할 수 있었습니다. 다만, 서비스에서는 개별 task의 성능이 서로 간섭하지 않아야 하므로 단일 작업 학습(single-task learning) 방식을 적용하고 있습니다. 마치며 이러한 과정을 통해 플레이스 AI 팀은 실시간 트래픽을 감당할 수 있는 sLLM을 성공적으로 개발해 서비스에 적용했고, 그 결과 LLM 수준의 검색 품질을 유지하면서도 보다 가벼운 시스템으로 서비스 운영이 가능해졌습니다. 앞으로도 지식 증류 기술을 지속적으로 연구하며 모델 성능과 서비스 품질을 더욱 향상시킬 예정입니다. 참고 문헌 Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena LLama cookbook, OpenAI cookbook Distilling Step-by-Step! Outperforming Larger Language Models with Less Training Data and Smaller Model Sizes DAN24; LLM, MULTI-MODAL MODEL로 PLACE VERTICAL SERVICE 개발하기 해당 글은 N INNOVATION AWARD 2024 특집편으로 수상작 'LLM과 함께 호텔 검색의 한계를 넘다'의 수상팀에서 작성해주셨습니다. N INNOVATION AWARD는 2008년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.

호텔 검색을 고도화하기 위해서 검색 키워드 동의어·유의어 보강, 검색 문서 커버리지 확대, 질의와 연관된 콘텐츠 수급 기술이 필요했습니다. 이를 해결하기 위해 플레이스 AI 팀은 다국어 음차 변환 및 번역 모델 → POI 매칭 → 검색 키워드 및 스니펫 추출의 세 가지 단계를 포함한 프로젝트를 진행했습니다. POI: 사용자가 관심을 가질 만한 장소(Point of Interest)를 의미하며, 레스토랑, 호텔, 관광지, 쇼핑몰 등 다양한 유형의 장소를 포함합니다. 네이버 플레이스에서는 이러한 POI 정보를 체계적으로 관리하며 검색 및 리뷰 서비스에서 활용하고 있습니다. POI 매칭: 블로그, 결제 내역, 영수증, 리뷰 등에서 추출된 POI 정보를 네이버 플레이스 DB의 POI와 연결하는 과정입니다. 구현 과정과 주요 도전 과제 다국어 지원을 위한 음차 변환 및 번역 모델 적용 해외 호텔 및 명소 검색 시, 한국어, 영어, 일본어 등 다양한 언어로 입력된 질의가 일관된 검색 결과로 연결되지 않는 문제가 있었습니다. 기존 시스템은 CP사에서 제공한 필드만 색인하여 활용했기 때문에 다국어 질의 대응력이 부족했고, 이로 인해 일부 유명 업체조차 검색되지 않는 경우가 발생했습니다. 검색 키워드 동의어·유의어 보강을 위해 다국어 음차 변환 및 번역 모델을 적용하여 블로그 등에서 검색 대응 키워드를 확장했습니다. 이를 통해 언어별 명칭 차이로 인한 검색 누락을 방지하고 검색 결과의 일관성을 확보했습니다. 한국어 ↔ 일본어, 한국어 ↔ 로마자 음차 변환 모델을 도입하여 언어별 명칭 차이를 줄이고 검색 정확도를 향상시켰습니다. 업체 카테고리 기반 한국어 → 영어 번역 모델을 추가 개발하여 다국어 검색 커버리지를 확장했습니다. 또한, 호텔 검색, 어떻게 달라졌을까요? 2편 - 지식 증류의 기술을 적용하여 검색 품질을 전반적으로 개선했습니다. 이러한 개선을 통해 검색 결과의 일관성이 높아졌고, 글로벌 사용자가 원하는 정보를 더욱 쉽게 찾을 뿐만 아니라 한국어 사용자도 외국 명칭 검색 시 검색 누락 없이 직관적이고 정확한 결과를 경험할 수 있게 되었습니다. 다국어 지원 모델 도입 이후 검색 요청 수를 나타내는 QC(Query Count)와 고유 검색어 수를 의미하는 UQC(Unique Query Count)가 각각 3%와 13% 증가했습니다. QC와 UQC가 증가한다는 것은 검색에서 다루는 키워드가 다양해지고 더 많은 검색 요청이 발생한다는 의미입니다. 이로 인해 롱테일 검색어(수요는 적지만 누적되면 큰 트래픽을 유발하는 키워드)의 노출이 확대되면서 검색 커버리지가 자연스럽게 증가합니다. 또한, 해외 호텔 및 키워드별 평균 호텔 검색 커버리지도 약 3% 상승이 기대됩니다. POI 정보 추출 및 POI 매칭 호텔 검색의 커버리지를 확대하려면, 검색할 대상인 키워드를 다양하게 확보해야 합니다. 블로그에서 호텔 및 여행지 관련 POI 정보를 추출하고 이를 네이버 POI 플랫폼 DB와 매칭하여 키워드를 유입시킬 연결점을 만드는 것이 핵심 과제였습니다. 기존에는 Exact Match 방식을 활용하여 POI를 매칭했으나, 이 방식은 오탈자가 있거나 일부 데이터(주소, 전화번호 등)가 누락되면 정확한 매칭이 어렵다는 한계가 있었습니다. 예를 들어, 블로그에서 언급된 호텔 이름이 공식 명칭과 미세하게 다르거나, 결제 내역의 업체명이 네이버 플레이스 DB와 일치하지 않는 경우 POI가 제대로 매칭되지 않는 문제가 있었습니다. 이를 해결하기 위해 Dense Retrieval 기반의 POI 매칭 모델을 도입하여 POI 매칭의 정확도를 개선했습니다. 이 모델을 활용하면 블로그에서 추출한 업체명, 주소, 전화번호 등의 정보가 일부 불완전하더라도, 유사도를 분석하여 보다 정교한 매칭이 가능합니다. 이에 대한 자세한 내용은 POI 매칭 모델 구조에서 설명하겠습니다. 블로그에서 추출한 POI 데이터는 POI 플랫폼과 연동하여 검색 문서의 커버리지를 확대하고 검색 품질을 개선했습니다. 해외에서 새로운 POI를 발견하기 위해 블로그에서 업체명과 주소, 전화번호 등을 자동 추출한 후, 기존 DB와 비교하여 일치하는 POI가 없는 경우 신규 POI로 업데이트하는 기능도 적용했습니다. 개선 결과, 전 세계 호텔에 매칭한 블로그 수는 약 41만 개, 블로그에서 추출한 이미지는 380만 개로, 검색 결과의 커버리지가 대폭 확장되었습니다. POI 플랫폼은 단순한 텍스트 비교를 넘어, 플레이스 AI의 모델을 활용하여 POI 정보를 더욱 정교하게 매칭하고 신규 POI를 발견하는 기술 플랫폼으로 자리 잡았습니다. POI 매칭 모델 구조 POI 정보를 블로그에서 추출하더라도, 검색에 필요한 장소명, 주소, 전화번호 등의 정보가 누락되거나 오탈자가 포함될 수 있는데, 이런 경우 일반적인 BM25 검색 방식으로는 검색되기 어려웠습니다. 이를 해결하기 위해 정확도 92% 이상의 POI 매칭 성능을 가진 모델을 개발하여 도입했습니다. POI 매칭 모델은 Encoder → Retrieval → Reranker → Generator의 4단계 구조로 설계되었습니다. 1. Encoder 기존에 진행했던 Pairwise Supervised Contrastive Learning에 추가 loss를 적용함으로써 데이터 증강의 효과를 내서 인코더의 성능을 향상시켰습니다. 그 결과, Query POI 정보와 Target POI 정보를 인코딩하여 비교 가능한 벡터로 변환합니다. 2. Retrieval ANN 인덱스를 통해 Query POI와 가장 유사한 Target POI를 검색합니다. 3. Reranker Retrieval 단계에서 검색된 상위 10개의 Target POI 후보 중 가능성이 높은 상위 4개로 좁히는 Binary Classification 모델을 적용했습니다. 디코더는 bert 기반의 인코더, reranker보다 지식이 많고 성능이 좋기 때문에, 이런 디코더의 성능을 reranker에 증류하는 방식을 차용했습니다. 디코더가 정답이라고 한 후보군의 Logit을 reranker에서 높이도록 학습하여 reranker의 성능을 향상시켰습니다. 4. Generator(Decoder) Teacher Model에서 정답과 그에 상응하는 근거를 추출하여 Place sLLM 학습을 고도화했습니다. 플레이스 AI 팀에서 파인튜닝한 Q model-S 모델을 활용하여, Query POI와 reranker의 상위 4개 후보 POI를 입력으로 받아 최종 정답을 도출하는 구조로 설계했습니다. 검색 키워드 및 스니펫 추출 기존 모델은 UGC(User Generated Content) 기반 키워드 추출을 지원했지만, 자연어 처리(Natural Language Processing, NLP)의 품사 태깅을 활용하는 방식으로 인해 적합하지 않은 키워드가 다수 추출되고, 부정적인 의미로 사용된 키워드까지 포함되는 문제가 있었습니다. 또한, 특정 도메인(여행, 호텔)에 최적화되지 않아 검색 품질이 저하되었으며, 이로 인해 검색 결과의 직관성이 떨어지고 사용자들에게 명확한 정보를 제공하기 어려웠습니다. 개선된 모델에서는 Place sLLM을 학습하여 특정 도메인(여행, 호텔)에 적합한 키워드 및 스니펫을 추출하도록 설계했으며, 여러 POI 정보가 포함된 블로그 글에서도 특정 POI에 대한 키워드 및 스니펫만을 정확하게 추출할 수 있도록 최적화했습니다. 또한, 호텔 검색, 어떻게 달라졌을까요? 2편 - 지식 증류의 기술을 적용하여 검색 품질을 전반적으로 개선했습니다. 예를 들어, 사용자가 '가족 여행 추천 호텔'과 같은 특정 키워드로 검색할 때, 기존에는 블로그에서 연관된 키워드를 추출하고 이미지 검색 솔루션을 활용해 콘텐츠를 제공했지만, 이제는 Place sLLM을 통해 유의미한 검색 키워드만을 선별적으로 추출하고 추가로 키워드가 언급된 스니펫까지 함께 제공하여 검색 결과의 신뢰도를 높였습니다. 또한, 필터링 작업으로 저품질 키워드와 스니펫을 제거함으로써 보다 직관적이고 가독성 높은 검색 결과를 제공할 수 있도록 개선되었습니다. 이를 통해 국내 호텔 약 80만 개, 해외 호텔 41만 개의 검색 키워드 및 스니펫을 추출하여 약 3%의 검색 커버리지를 확대했습니다. 마치며 다국어 지원, POI 매칭, 검색 키워드 및 스니펫 추출 기술은 여행 검색 시스템의 핵심 성능을 좌우합니다. 다국어 지원은 글로벌 사용자뿐만 아니라, 한국어 사용자가 외국 명칭을 검색할 때 발생하는 언어별 명칭 차이를 해소해 검색 누락을 방지합니다. POI 매칭은 Exact Match 방식의 한계를 넘어 오탈자나 데이터 누락에도 정확한 장소 정보를 제공해 검색의 신뢰도와 효율을 높입니다. 검색 키워드 및 스니펫 추출은 도메인 특화 컨텍스트 분석을 통해 사용자 의도에 맞는 핵심 정보를 선별해 검색 결과의 가독성과 직관성을 개선합니다. 이 세 기술은 정확한 정보 전달을 통해 검색 경험을 혁신합니다. 앞으로도 POI 매칭 및 검색 성능을 지속적으로 최적화하여 사용자들이 원하는 정보를 더욱 빠르고 정확하게 찾을 수 있도록 개선해 나갈 예정입니다. 참고 문헌 Supervised Contrastive Learning Pairwise Supervised Contrastive Learning of Sentence Representations Re2G: Retrieve, Rerank, Generate 다운타임 없이 VectorDB 운영하기! DAN24; LLM, MULTI-MODAL MODEL로 PLACE VERTICAL SERVICE 개발하기 해당 글은 N INNOVATION AWARD 2024 특집편으로 수상작 'LLM과 함께 호텔 검색의 한계를 넘다'의 수상팀에서 작성해주셨습니다. N INNOVATION AWARD는 2008년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.

검색 서비스는 사용자의 다양한 질의에 대응해야 하며, 새로운 검색 키워드가 지속적으로 추가됩니다. 특히, 이미지 검색에서는 단순한 키워드 기반 매칭이 아니라, 검색 의도에 맞춰 가장 적합한 이미지를 찾아 제공하는 것이 중요합니다. 기존에 공개된 CLIP(Contrastive Language-Image Pre-training) 모델은 일반적인 Text-Image Retrieval에는 활용될 수 있었지만, 플레이스(명소, 호텔, 관광지 등) 도메인에 최적화되지 않아 검색 품질이 충분하지 않았습니다. 특히, 대표 이미지가 특정 이미지로 고정되어 검색 질의와 관련 없는 이미지가 제공되는 경우가 많아 사용자 경험이 저하되었습니다. 또한, 기존 모델은 특정한 질의에 대해 유사한 이미지를 추천하는 데 제한이 있었으며, 새로운 키워드가 등장할 때마다 이미지 매칭이 원활하지 않았습니다. 이를 해결하기 위해 검색 시스템이 키워드뿐만 아니라 이미지 콘텐츠를 깊이 있게 이해하고 활용할 필요가 있었습니다. 이에 플레이스 AI 팀은 플레이스 특화 CLIP 인코더를 학습하여, 특정 도메인에서도 높은 zero-shot inference 성능을 보이는 모델을 구축하게 되었습니다. 이를 통해 단순한 이미지 검색이 아니라, POI 및 장소별 컨텍스트를 고려한 이미지 매칭이 가능해졌습니다. 구현 과정과 주요 도전 과제 멀티모달 검색을 위한 모델 개발 여행, 호텔, 관광지 등의 플레이스 도메인에 적합한 멀티모달 인코더를 개발하고, 검색 키워드와 이미지의 연관성을 학습하여 질의에 맞는 이미지를 검색 결과로 제공할 수 있도록 최적화했습니다. 예를 들어, '수영장'을 검색하면 수영장이 포함된 호텔이나 리조트의 이미지가 노출되도록 개선했습니다. 이를 위해 블로그 및 사용자 리뷰 데이터를 활용하여 실제 사용자 선호도를 반영한 이미지 랭킹 알고리즘을 개발했습니다. 파괴적 망각 문제 방지 기존의 CLIP 인코더는 새로운 도메인을 학습하면 기존의 정보를 잊어버리는 파괴적 망각(Catastrophic Forgetting) 문제가 발생했습니다. 이를 방지하기 위해 다음과 같은 기술을 적용했습니다. Layer-wise Discriminative Learning Rate 모델의 낮은 레이어에서는 기존에 학습된 일반적인 feature를 유지할 수 있도록 낮은 학습률(learning rate)을 적용했습니다. 이를 통해, 기존 모델의 성능을 유지하면서도 새로운 도메인 확장이 가능해졌습니다. Domain-Adaptive Pre-training Continual Pre-training of Language Models에서 소개된 DAS(Continual DA-pre-training of LMs with Soft-masking)를 바탕으로 Pretrained 모델에서 기존 지식에 견고한(robust) 유닛과 그렇지 않은 유닛을 학습 전에 판별한 뒤, 견고한 유닛에 신규 도메인 데이터를 추가 학습시키는 방식을 적용했습니다. 이 접근법을 통해 기존 backbone CLIP과 비교했을 때, ImageNet과 같은 General Knowledge 성능이 향상되었으며(기존 지식을 잊지 않음), 플레이스 도메인의 성능은 최소 20%에서 최대 67%까지 개선되었습니다. 또한, 학습 과정에서 지속적인 모델 평가 및 파인튜닝을 적용하여, 기존 도메인의 성능을 유지하면서 신규 도메인 적응력을 높였습니다. 클래스 확장 시 필요한 이미지 수 최소화 새로운 도메인을 빠르게 확장하기 위해, 적은 이미지 수로도 높은 성능을 유지할 수 있는 기법을 연구했습니다. 각 도메인의 이미지들을 클러스터링하고 대표적인 centroid 이미지들로 학습 데이터를 구성함으로써 적은 데이터로도 도메인 내 다양한 분포를 반영할 수 있도록 했습니다. 실험 결과, 클래스별 20장의 이미지만 학습해도 전체 데이터셋을 학습한 경우와 큰 성능 차이가 없음을 확인하여, 현재 클래스별 20장의 이미지로 효과적인 도메인 확장을 진행 중입니다. 전체 데이터셋 클래스별 50장 클래스별 20장 클래스별 10장 한국음식(Acc@1) 85.98% 85.44% 85.40% 82.13% 숙박업체 내 시설(Acc@1) 96.68% 94.88% 94.72% 93.02% 마치며 이러한 개선을 통해, 플레이스 AI 팀은 기존 대비 검색 결과의 시각적 품질을 크게 향상시킬 수 있었습니다. 멀티모달 인코더 적용 후, 대표 이미지 검색의 정확도가 상승했으며 사용자 경험이 한층 더 직관적이고 풍부해졌습니다. 또한, 검색 결과에서 보다 직관적이고 연관성 높은 이미지를 제공하여 사용자의 체류 시간을 증가시키는 효과를 얻을 수 있었습니다. 향후에는 이미지 검색의 다양성을 더욱 높이고, 사용자 선호도 기반의 개인화된 이미지 추천 시스템을 도입하여 검색 경험을 개선할 예정입니다. 참고 문헌 Layer-wise Discriminative Learning Rate Continual Pre-training of Language Models DAN24; LLM, MULTI-MODAL MODEL로 PLACE VERTICAL SERVICE 개발하기 해당 글은 N INNOVATION AWARD 2024 특집편으로 수상작 'LLM과 함께 호텔 검색의 한계를 넘다'의 수상팀에서 작성해주셨습니다. N INNOVATION AWARD는 2008년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.