기술 블로그 모음

국내 IT 기업들의 기술 블로그 글을 한 곳에서 모아보세요

전체 프론트엔드 백엔드 데브옵스 AI 아키텍처 DB 네트워크 보안 기타
[웹툰 파헤치기]색다른 판타지물… ‘이종족 보호 관리국’
리디
[웹툰 파헤치기]색다른 판타지물… ‘이종족 보호 관리국’

The post [웹툰 파헤치기]색다른 판타지물… ‘이종족 보호 관리국’ appeared first on 리디주식회사 RIDI Corporation.

이스트시큐리티 보안툰 #25|보안행 열차에서 살아남기 (Feat. 보안솔루션 서열전쟁)
이스트 시큐리티
이스트시큐리티 보안툰 #25|보안행 열차에서 살아남기 (Feat. 보안솔루션 서열전쟁)

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

Amazon S3 Tables와 Amazon SageMaker Lakehouse 통합 정식 출시
AWS KOREA
Amazon S3 Tables와 Amazon SageMaker Lakehouse 통합 정식 출시

지난 AWS re:Invent 2024에서 Amazon S3 Tables를 출시했습니다. Amazon S3 테이블은 대규모 테이블 형식 데이터 저장을 간소화하는 내장 Apache Iceberg를 지원하며, 통합된 개방형 보안 데이터 레이크하우스로 분석 및 AI를 간소화하는 Amazon SageMaker Lakehouse를 출시했습니다. 또한 Amazo...

[국외발신][경찰청통보문자]위반 통지문자가 전달되었습니다 열람바람 : hxxp://b.b***.work
이스트 시큐리티
[국외발신][경찰청통보문자]위반 통지문자가 전달되었습니다 열람바람 : hxxp://b.b***.work

  [3월 둘째주] 알약 스미싱 알림 본 포스트는 알약M 사용자 분들이 '신고하기' 기능을 통해 알약으로 신고해 주신 스미싱 내역 중 '특이 문자'를 자체 수집,&n...

SVG 포맷으로 유포되는 악성코드 주의!
이스트 시큐리티
SVG 포맷으로 유포되는 악성코드 주의!

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

호텔 검색, 어떻게 달라졌을까요? 2편 - 지식 증류
네이버 D2
호텔 검색, 어떻게 달라졌을까요? 2편 - 지식 증류

기존 호텔 검색에서는 블로그에서 장소(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년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.

호텔 검색, 어떻게 달라졌을까요? 3편 - 검색 시스템
네이버 D2
호텔 검색, 어떻게 달라졌을까요? 3편 - 검색 시스템

호텔 검색을 고도화하기 위해서 검색 키워드 동의어·유의어 보강, 검색 문서 커버리지 확대, 질의와 연관된 콘텐츠 수급 기술이 필요했습니다. 이를 해결하기 위해 플레이스 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년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.

호텔 검색, 어떻게 달라졌을까요? 4편 - 이미지 검색
네이버 D2
호텔 검색, 어떻게 달라졌을까요? 4편 - 이미지 검색

검색 서비스는 사용자의 다양한 질의에 대응해야 하며, 새로운 검색 키워드가 지속적으로 추가됩니다. 특히, 이미지 검색에서는 단순한 키워드 기반 매칭이 아니라, 검색 의도에 맞춰 가장 적합한 이미지를 찾아 제공하는 것이 중요합니다. 기존에 공개된 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년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.

호텔 검색, 어떻게 달라졌을까요? 1편 - 문제와 해결
네이버 D2
호텔 검색, 어떻게 달라졌을까요? 1편 - 문제와 해결

네이버는 호텔 검색이 다루는 범위를 대폭 확대하고 더 풍성한 결과를 제공하기 위해, 검색 엔진을 전환하고 대형 언어 모델(Large Language Model, 이하 LLM)을 도입했습니다. 그 결과 검색 품질과 사용자 경험 모두에서 큰 변화를 이끌어냈습니다. 이 글에서는 기존 문제점과 이를 해결하기 위한 접근법, 그리고 얻은 결과를 실제 사례와 함께 살펴보겠습니다. 문제와 해결 기존 호텔 검색 엔진은 짧은 질의에는 강하지만 다루는 범위는 좁았기에 새로운 유형의 질의 대응이 필요했습니다. 이를 위해 '호텔 검색 의도가 있지만 호텔 검색 결과가 노출되지 않는 질의'를 찾고 우선순위를 정하는 것이 핵심 과제였습니다. 블로그로 유입된 질의 중 호텔 관련 글을 클릭한 질의를 수집하고, LLM을 활용해 호텔 검색 의도가 있는 질의만 선별했습니다. 이렇게 확보한 데이터를 기반으로 검색 품질을 개선했습니다. 블로그에서 장소(Point of Interest, 이하 POI) 기본 정보를 추출해 네이버 POI 플랫폼과 매핑하여 검색 결과의 커버리지를 확장하고, 다국어 음차 변환 및 번역 모델을 도입해 언어 장벽을 해결했습니다. 또한, 키워드 및 스니펫 자동 추출, 이미지 검색 개선을 통해 검색 품질을 높였습니다. 예시를 소개드릴게요. 문제 1: 복잡한 검색 의도 처리의 어려움 예시: '도쿄 수영장이 있는 깨끗한 호텔' 같은 복잡한 질의는 기존 검색 엔진으로 검색할 수 없었습니다. 해결: LLM을 활용해 사용자의 검색 질의를 정밀하게 분석해 복잡한 질의 처리 능력을 강화했습니다. 블로그에서 POI 정보를 추출해 네이버 POI 플랫폼과 매핑했고, 블로그 글로부터 검색에 사용할 키워드('수영장', '깨끗한' 등)를 폭넓게 확보했습니다. 이를 통해 관련 호텔이 풍부하게 검색되고 검색 근거도 노출될 수 있도록 개선했습니다. 더불어 LLM을 이용해 오타와 정타 데이터를 생성 및 학습하여 오타 교정 기능도 탑재했습니다. 문제 2: 다국어 검색의 한계 예시: '호텔 한큐 레스파이어 오사카'는 한국인 여행자들에게 인기가 많은 호텔인데요, 영문명인 'Hotel Hankyu Respire Osaka'를 흔히 '호텔 한큐 리스파이어 오사카'라고 읽기도 하지만 '리스파이어'라는 한글 키워드가 없기 때문에 '한큐 리스파이어 오사카'로는 검색할 수 없었습니다. 해결: 다국어 음차 변환과 번역 모델을 도입해 한국어뿐 아니라 영어, 일본어 등 다양한 언어의 호텔 명칭을 발음하는 방식을 고려해 키워드를 확장했습니다. 이제 해외 호텔 검색도 훨씬 쉬워졌습니다. 문제 3: 콘텐츠 및 시각적 정보의 부족 예시: 사용자가 '도쿄 야경 호텔'을 검색했을 때에는 대표 사진에 글자만 잔뜩 나열된 결과보다는 야경이 보이는 사진, 야경과 관련된 리뷰 등 관련도 높은 직관적인 정보를 원할 것이라고 생각했습니다. 해결: 블로그 데이터를 활용해 키워드와 스니펫을 자동 추출하고 이미지 검색을 강화했습니다. 사용자가 사진과 함께 원하는 정보를 한눈에 파악할 수 있도록 개선했습니다(서비스 반영 준비 중). 문제 4: 튼튼한 시스템을 구축하고 검색 품질 유지하기 POI 데이터 관리를 XBU(eXtended Business Utility, 국내/해외 POI와 관련 데이터 통합 관리 및 파이프라인 운영 플랫폼)로 전환하여 글로벌 확장성을 확보하고 증분 색인 시스템을 구축해 실시간 검색 반영이 가능하도록 했습니다. 클라우드 서빙 플랫폼 CLOUS3.0을 통해 검색 인프라를 자동화하여 보다 튼튼한 검색 시스템을 구축했습니다. 검색 엔진을 기존 Elastic Search에서 네이버 자체 검색 엔진 Nexus로 전환해 질의 분석 정확도를 높이고, 보다 복잡한 질의에 유연하게 대응할 수 있도록 했습니다. 마지막으로, 검색 품질을 유지하기 위해 자동 품질평가 도구를 구축했습니다. 검색 질의에 대한 적절한 검색 결과를 벤치마크 데이터로 만들고, 품질 비교 및 데일리 모니터링을 통해 검색 로직의 타당성을 지속적으로 검증하고 있습니다. 네이버 호텔 검색, 이렇게 달라졌습니다 전년 동일 월 대비 다음과 같은 성과를 얻었습니다. 클릭 수: 전년 대비 70% 상승 – 더 많은 사용자가 원하는 결과를 클릭했습니다. 호텔 예약 건수: 비수기임에도 불구하고 19% 증가 – 검색 품질 개선이 곧 예약으로 이어졌습니다. 사용자 수 증가: 모바일 기준 16% 증가 - 더 많은 사용자가 호텔 검색을 경험했습니다. 검색 커버리지: UQC(Unique Query Count) 450% 상승, QC(Query Count) 157% 상승 – 호텔 검색의 대응 범위가 효과적으로 확대되었습니다. 다국어 검색 성능 개선: 다국어 대응 전후 UQC 13% 상승, QC 3% 상승 – 다국어 질의 처리로 대응 질의가 확대되었습니다. 시각적 정보 강화: 이미지 검색으로 사용자 경험이 한층 풍부해졌습니다. 마치며 네이버 호텔 검색을 개선하는 과정에서 여러 기술적 도전을 겪었습니다. 이에 대한 자세한 내용은 다음 글에서 이어서 설명하겠습니다. LLM 성능을 sLLM(small-Large Language Model)로 압축하며 성능을 유지해야 함 지식 증류(Knowledge Distillation) 기법과 고도의 프롬프트 엔지니어링을 활용 블로그에서 추출한 POI 정보가 불완전하거나 오타가 있는 경우 매칭이 어려움 고밀도 검색(Dense Retrieval) 기반의 POI 매칭 시스템을 도입하고 Milvus DB를 활용해 정확도 92% 이상 증가 새로운 데이터를 학습하면 기존 지식을 잊는 파괴적 망각(Catastrophic Forgetting) 문제 발생 Layer-wise Discriminative Learning Rate과 Domain-Adaptive Pre-training으로 해결 저희는 LLM 기술을 활용해 사용자 중심의 호텔 검색 경험을 지속적으로 혁신해 나가고 있습니다. 곧이어 반응형 이미지/리뷰 스니펫 결과를 서비스 오픈할 예정이고, 검색 컨텐츠의 커버리지도 지속적으로 높여갈 예정입니다. 호텔 검색에 이어 2025년 올해 저희의 목표는 여행 검색 결과를 개선하는 것입니다. 여행 준비가 네이버를 통해 더 편리하고 스마트해질 수 있도록, 앞으로도 기술적 발전과 사용자 경험 개선에 집중하겠습니다. 해당 글은 N INNOVATION AWARD 2024 특집편으로 수상작 'LLM과 함께 호텔 검색의 한계를 넘다'의 수상팀에서 작성해주셨습니다. N INNOVATION AWARD는 2008년부터 이어진 네이버의 대표적인 사내 기술 어워드로 매년 우수한 영향력과 성과를 보여준 기술을 선정하여 축하와 격려를 이어오고 있습니다.

[국제발신]카카오계정이 위험에 노출되어 정지 예정이니 접속하여 인증을 완료바랍니다. hxxp://my*****.o-r.kr
이스트 시큐리티
[국제발신]카카오계정이 위험에 노출되어 정지 예정이니 접속하여 인증을 완료바랍니다. hxxp://my*****.o-r.kr

      [3월 첫째주] 알약 스미싱 알림 본 포스트는 알약M 사용자 분들이 '신고하기' 기능을 통해 알약으로 신고해 주신 스미싱 내역 중 '특이 문자'를&nbsp...

Kimsuky 그룹의 워터링 홀 공격, 통일 분야 교육 지원서를 위장한 악성 파일 유포 주의
이스트 시큐리티
Kimsuky 그룹의 워터링 홀 공격, 통일 분야 교육 지원서를 위장한 악성 파일 유포 주의

      안녕하세요? 이스트시큐리티 시큐리티대응센터(이하 ESRC)입니다.   국내 기관에서 개최하는 통일 분야 교육 프로그램 지원서 파일을 이용한 워터링 홀 공격이 발견되어 관련자분들의 각별한 주의가 필요합니다.    워터링 홀 공격이란? 공격 대상이 자주 방문하는 웹사이트에 미리 악성코드를 심...

한국어 몰라요 - 글로벌 협업의 4가지 패턴
라인
한국어 몰라요 - 글로벌 협업의 4가지 패턴

요즘 우리나라는 어느 회사든 글로벌 진출을 염두에 두고 있습니다. 대부분의 분야에서 우리나라 시장은 가파른 속도로 축소될 전망이므로 해외 진출은 하고 싶은 것이 아닌 할 수밖에 없...

리디, DRM 해제기 불법 공유 텔레그램 채널 폐쇄 이끌어
리디
리디, DRM 해제기 불법 공유 텔레그램 채널 폐쇄 이끌어

리디의 적극적인 대응으로 콘텐츠 불법 유통과 피해 확산을 막을 수 있었다. The post 리디, DRM 해제기 불법 공유 텔레그램 채널 폐쇄 이끌어 appeared first on 리디주식회사 RIDI Corporation.

NGINX App Protect WAF V5 – 기존 NGINX 통합 설치 가이드
NGINX STORE
NGINX App Protect WAF V5 – 기존 NGINX 통합 설치 가이드

NGINX App Protect WAF V5 – 기존 NGINX 통합 설치 가이드 이 포스트는 기존에 NGINX가 설치된 인스턴스에 NGINX App Protect WAF V5(NAP WAF)를 추가로 설치하여 통합하는 방법을 설명합니다. app-protect-module 패키지를 설치하고, Docker를 통해 waf-enforcer, wa...

이스트시큐리티가 eGISEC 2025 전자정부 정보보호 솔루션 페어에 참가합니다! 3/19(수)~21(금)
이스트 시큐리티
이스트시큐리티가 eGISEC 2025 전자정부 정보보호 솔루션 페어에 참가합니다! 3/19(수)~21(금)

안녕하세요, 이스트시큐리티입니다.   통합 보안 전문 기업, 이스트시큐리티가 오는 3월 19일(수)부터 3월 21일(금)까지 일산 KINTEX에서 개최되는 eGISEC 2025 전자정부 정보보호 솔루션페어에 참가하여 기업 고객을 위한 더욱 강력한 보안 대응 전략을 제시합니다!   이번 eGISEC 2025에서는 이스트시큐리티...

[클로바시선 #18] 복잡한 정보의 숲에서 길을 찾다: 지식 내비게이션 GraphReady
네이버 클라우드
[클로바시선 #18] 복잡한 정보의 숲에서 길을 찾다: 지식 내비게이션 GraphReady

인터넷에서 원하는 정보가 나오지 않아 답답했던 적 있나요? 하이퍼클로바X는 방대한 데이터 속에서 길잡이처럼 원하는 정보를 쏙쏙 찾아주는 기술을 가지고 있다는데요. 대체 어떻게 길을 찾고 있는 건지, 한 번 알아볼까요? 연결의 힘 보험 약관 수백 페이지, 내가 원하는 정보는 어디에..? 연말정산 항목에서 내게 해당하는 정보를 빠르게 찾을 수 있을까? 이...

건강한 SEO로 성장하는 웹사이트 만들기
당근마켓
건강한 SEO로 성장하는 웹사이트 만들기

안녕하세요, 당근 프로덕트 디자이너 Ina입니다.당근의 웹사이트를 알고 계신가요? 당근 웹사이트에서는 당근의 다양한 서비스를 앱 설치 없이도 만나볼 수 있는데요. 사용자들에게 당근의 매력을 알리는 중요한 창구예요.당근 웹사이트: https://www.daangn.com/Karrot 글로벌 웹사이트(캐나다): https://www.karrotmarket.com/ca/Karrot 글로벌 웹사이트(일본): https://www.karrotmarket.com/jp/이번 글에서는 당근의 글로벌 서비스 Karrot의 사용자들이 웹에서도 당근을 쉽게 만날 수 있도록, 북미와 일본 지역을 대상으로 검색 엔진 최적화(SEO)를 강화하고 자연스럽게 앱 설치로 이어지는 매물 중심 탐색 경험을 개선한 웹사이트 프로젝트를 공유해보려고 해요.SEO란 무엇일까요?SEO(Search Engine Optimization)는 검색 엔진 최적화를 의미해요. 구글이나 네이버 같은 검색엔진에서 사용자가 원하는 정보를 검색했을 때, 당근의 웹사이트가 상단에 노출되도록 만드는 작업이에요.예를 들어, “중고 아이폰 15”라는 키워드를 검색했을 때 당근 웹사이트가 검색 결과 첫 페이지에 노출된다면, 더 많은 사람들이 사이트를 방문하게 될 거예요. 이는 곧 서비스 성장으로도 이어지겠죠.즉, SEO는 검색 결과에서의 노출뿐만 아니라 사용자와의 연결을 강화하는 필수 전략이라고 볼 수 있어요.SEO를 위한 유저 경험 만들기이 프로젝트의 핵심은 당근 웹사이트의 검색 랭킹을 높이기 위해, 다음 세 가지 요소를 충족시키는 것이었어요:관련성(Relevance): 사용자가 실제로 원하는 키워드와 유용한 콘텐츠 제공품질(Quality): 신뢰도를 높이는 양질의 콘텐츠 및 백링크사용성(Usability): 모바일 친화성, 페이지 속도, 보안 등 사용자 중심의 사이트 환경위와 같은 기술적인 SEO 목표를 달성하면서, 동시에 사용자 만족을 높이기 위해선 어떤 경험이 필요할까요?저는 이 문제를 해결하기 위해 당근의 디자인 원칙 세 가지와 검색 랭킹을 높이기 위한 기술적 솔루션 세 가지를 매칭해보고자 했어요.연결된 경험 — 관련성(Relevance)직관적인 경험 — 품질(Quality)사용자를 위한 개선 — 사용성(Usability)(참고) 당근의 디자인 원칙 7가지1. 연결된 경험2. 사용자를 위한 개선3. 직관적인 경험4. 하나의 화면 하나의 목표5. 단순한 시각 요소6. 적절한 피드백7. 간결한 문구1. 관련성(Relevance)을 위해 ‘연결된 경험’을 제공해요맥락에 맞는 키워드를 배치해요사용자들이 실제로 많이 검색하는 키워드를 자연스럽게 배치하고자 검색 결과 페이지에 필터를 추가했어요.필터는 탐색 편의를 높여요. 동시에 필터에 포함된 키워드가 검색 결과에도 노출되죠. 따라서 사용자 경험과 SEO 모두에 긍정적인 영향을 줘요.그 외에도 검색창 아래에 인기 키워드를 배치하는 등 키워드가 노출되는 곳을 다양하게 늘려나가고자 했어요.지역 설정 기능을 제공해요당근을 떠올리면 가장 먼저 생각나는 ‘동네’ 키워드를 웹사이트에 녹여내기 위해, 동네 설정과 검색 기능을 추가했어요.이를 통해 사용자는 동네에서 거래되는 물건을 쉽게 확인할 수 있게 되었어요. 또한 검색 엔진에서 ‘서초동’ + ‘소파’ 같은 지역 키워드를 함께 입력했을 때도 자연스럽게 당근 웹사이트를 만나볼 수 있게 되었어요.2. 품질(Quality)을 위해 ‘직관적인 경험’을 제공해요카테고리 목록을 추가해요글로벌 Karrot은 중고거래 서비스만 제공하고 있어요. 그래서 카테고리 페이지를 추가해 사용자들이 어떤 카테고리가 있는지 한눈에 파악하도록 돕고, 카테고리 자체로도 검색 결과가 보일 수 있도록 개선했어요.카테고리 자체가 검색 결과가 되도록 노출하기카테고리도 하나의 검색 결과로 만들며 검색 엔진에 노출되도록 개선했어요브레드크럼(Breadcrumb)을 추가해요“홈 > 부동산 > 매물”처럼 현재 위치와 다음 동선을 한눈에 파악할 수 있도록 내비게이션 흐름을 구성했어요.브레드크럼(Breadcrumb)은 사이트 품질을 높여요. 동시에 사용자에게 지금 어느 페이지에 있고 이전에 어떤 페이지를 거쳤는지를 명확히 알려줘, 직관적인 탐색 경험을 강화해요.3. 사용성(Usability)을 위해 사용자를 위한 개선을 만들어요반응형 디자인글로벌의 다양한 디바이스 환경을 고려해, 화면 크기에 따른 배치·컴포넌트를 6가지 브레이크포인트로 정교하게 설계했어요. 그 결과, 모바일 디바이스·태블릿·웹 등 다양한 환경에서도 웹사이트를 불편함 없이 이용할 수 있게 되어, 사용성(Usability)이 크게 향상됐어요.결과배포 한 달 이후의 결과예요🇨🇦 북미(캐나다): Impression(노출) 약 20배 성장, 클릭이 2배 성장했어요.배포 이후의 성장 그래프🇰🇷 한국 (24년 11월 초에 동일한 UX/UI로 개편) : 월 접속자 수 약 43% 상승했어요. (기존 426만 → 610만)마치며이번 프로젝트는 ‘관련성(Relevance)’, ‘품질(Quality)’, ‘사용성(Usability)’의 세 가지 핵심 요소를 사용자 중심의 디자인으로 풀어낸 SEO 전략으로, 당근의 웹사이트가 더 많은 사용자에게 노출되고 건강하게 성장할 수 있는 발판을 마련한 프로젝트라 뜻깊게 참여할 수 있었어요.이 프로젝트에 함께해 준 토니, 리바이, 리아, 헤일리, 해나, 브랜딩팀 리지, 쿄, 유니와 이어서 웹사이트를 널리 알리는데 애써주시는 SEO Growth 팀에게 응원과 감사의 마음을 전해요!건강한 SEO로 성장하는 웹사이트 만들기 was originally published in 당근 테크 블로그 on Medium, where people are continuing the conversation by highlighting and responding to this story.

글로벌 트렌드를 통해 본 2025년 ESG 주요 이슈<br>- COP29, CES 2025, WEF 2025를 중심으로
삼성 SDS
글로벌 트렌드를 통해 본 2025년 ESG 주요 이슈<br>- COP29, CES 2025, WEF 2025를 중심으로

이 글에서는 글로벌 컨퍼런스인 COP29, CES 2025, WEF 2025에서 강조한 ESG 관련 메시지를 통해 ESG 경영에 영향을 미칠 수 있는 주요 이슈들을 재조명하고자 합니다.

새로운 팀의 코드베이스 적응기: 내 코드로 만들어가는 과정
데브시스터즈
새로운 팀의 코드베이스 적응기: 내 코드로 만들어가는 과정

이직 / 팀 이동 후 어색한 코드를 내 코드로 녹여내기까지의 여정을 공유합니다.

Trino로 타임아웃 개선하기
NHN 클라우드
Trino로 타임아웃 개선하기

![NHN Cloud_meetup banner_trino_202502-01_900.png](https://image.toast.com/aaaadh/real/2025/techblog/NHN%20Cloudmeetup%20bannertrino20250201900.png) # 들어가며 안녕하세요. NHN Cloud의 클라우드AI팀 이태형입니다. 로그 데이터가...

사용자 경험 개선을 위한 올리브영 테크팀 아이디어톤 현장 전격 공개!
올리브영
사용자 경험 개선을 위한 올리브영 테크팀 아이디어톤 현장 전격 공개!

본 글은 2024년도 12월에 올리브영 테크플랫폼센터 오거나이저에 의해 작성되었습니다. 새로운 경험의 서막: 마곡의 한 호텔 연회장에 모인 올리브영 엔지니어들 2024년 11월 1…

2025년 국내기업 경영 환경 및 IT 투자 전망 (서비스산업 편)
삼성 SDS
2025년 국내기업 경영 환경 및 IT 투자 전망 (서비스산업 편)

이 전망은 삼성SDS 마케팅팀 MI그룹에서 2024년 말에 400여 명의 국내 IT 의사결정 관계자를 대상으로 실시한 설문 결과로서, 2025년도에 직면할 국내기업의 경영 환경과 IT 투자 전망 중 서비스산업을 집중 분석하였습니다.

[네이버클라우드캠프] 2024 네이버클라우드캠프 서포터즈 해단식 현장 스케치✨
네이버 클라우드
[네이버클라우드캠프] 2024 네이버클라우드캠프 서포터즈 해단식 현장 스케치✨

안녕하세요, 누구나 쉽게 시작하는 클라우드 네이버클라우드(ncloud.com)입니다. #네이버클라우드 #네이버클라우드캠프 #네이버클라우드캠프서포터즈 지난 1월 17일 오후, 네이버 파트너 스퀘어 역삼에서는 '2024 네이버클라우드캠프 서포터즈 해단식'이 진행되었습니다. 서포터즈 분들은 지난 3개월간 엄청난 열정과 솜씨로 네이버클라우드캠프 소식들을 콘텐...

2025년 국내기업 경영 환경 및 IT 투자 전망 (유통/리테일 산업 편)
삼성 SDS
2025년 국내기업 경영 환경 및 IT 투자 전망 (유통/리테일 산업 편)

이 전망은 삼성SDS 마케팅팀 MI그룹에서 2024년 말에 400여 명의 국내 IT 의사결정 관계자를 대상으로 실시한 설문 결과로서, 2025년도에 직면할 국내기업의 경영 환경과 IT 투자 전망 중 유통/리테일 산업을 집중 분석하였습니다.

[프로모션] 스마트 팩토리 솔루션사, 지금이 타이밍인 이유⏳
네이버 클라우드
[프로모션] 스마트 팩토리 솔루션사, 지금이 타이밍인 이유⏳

안녕하세요, 누구나 쉽게 시작하는 클라우드 네이버클라우드 ncloud.com입니다. 오직 네이버클라우드에서만 제조 솔루션사 통합 지원 프로그램 네이버클라우드는 제조 DX에 앞장서는 제조 솔루션사가 클라우드와 AI로 급변하는 기술 트렌드 속에서 경쟁력을 갖출 수 있게 돕습니다. 지금 바로 프로그램 지원하고 클라우드 사업 구조 안착 지원, 비용 절감 + ...

Reserved Instance & Savings Plan
농심 클라우드
Reserved Instance & Savings Plan

흔히 사용되는 AWS 제품 중 EC2, RDS, Fargate, Lambda의 비용을 줄이는 방법에 대해 알아보겠습니다. The post Reserved Instance &amp; Savings Plan appeared first on NDS Cloud Tech Blog.

AWS Direct Connect(DX): 클라우드와 온프레미스를 연결하는 최적의 네트워크 솔루션
농심 클라우드
AWS Direct Connect(DX): 클라우드와 온프레미스를 연결하는 최적의 네트워크 솔루션

이번 블로그에서는 AWS Direct Connect의 개념, 구성 요소, 작동 방식, 주요 활용 사례를 알아보겠습니다. The post AWS Direct Connect(DX): 클라우드와 온프레미스를 연결하는 최적의 네트워크 솔루션 appeared first on NDS Cloud Tech Blog.

2025년 국내기업 경영 환경 및 IT 투자 전망 (제조산업 편)
삼성 SDS
2025년 국내기업 경영 환경 및 IT 투자 전망 (제조산업 편)

이 전망은 삼성SDS 마케팅팀 MI그룹에서 2024년 말에 400여 명의 국내 IT 의사결정 관계자를 대상으로 실시한 설문 결과로서, 2025년도에 직면할 국내기업의 경영 환경과 IT 투자 전망 중 제조산업을 집중 분석하였습니다.

Let'Swift 2024 X 올리브영: 기술과 경험을 나누는 특별한 만남
올리브영
Let'Swift 2024 X 올리브영: 기술과 경험을 나누는 특별한 만남

안녕하세요. 올리브영에서 iOS 개발을 맡고 있는 럭셔Lee입니다. Let'Swift 2024 컨퍼런스에서 올리브영 부스를 운영하며 많은 iOS…

LLM을 활용한 스마트폰 시세 조회 서비스 구축
당근마켓
LLM을 활용한 스마트폰 시세 조회 서비스 구축

스마트폰을 바꾼 후 이전에 썼던 기기를 중고로 팔아보신 적 있으세요? ‘이 정도 상태의 기기면 어느 정도 가격대가 적당한 거지?’ 고민하며, 수많은 중고 매물 게시글을 일일이 확인하지는 않으셨나요? 이제는 LLM(대형 언어 모델) 덕분에 이렇게 번거롭고 어려웠던 작업이 훨씬 쉽고 빠르게 해결되고 있어요.이 글에서는 LLM을 활용해 중고거래 게시글에서 스마트폰 정보를 추출하고, 이를 통해 시세를 산출한 방법을 소개하려고 해요. 먼저 스마트폰 시세조회 서비스를 왜 만들게 됐는지 배경을 간단히 살펴본 후, LLM으로 게시글을 분류·정제하는 과정, BigQuery를 이용해 정보를 후처리하고 시세를 집계하는 과정, 마지막으로 벡터 DB 기반으로 유사 게시글을 추천하는 과정을 단계별로 소개해 드릴게요. LLM으로 사용자 경험을 효과적으로 개선할 방법을 고민 중인 분들에게 이 사례가 큰 도움이 되면 좋겠어요.스마트폰 시세조회 서비스의 모습스마트폰 시세조회는 왜 필요할까요?많은 중고거래 판매자들이 물품의 적절한 가격을 결정하는 걸 어려워해요. 개인 간 거래는 워낙 다양한 상품이 혼재되어 있기 때문인데요. 종류도 워낙 다양한데 상태도 가지각색이라, 물품의 정확한 시세를 한눈에 파악하기 어려운 거죠. 스마트폰을 예로 들면 단순히 같은 기종만 검색해서 끝날 일이 아니라, 사용 기간, 배터리 효율, 스크래치 여부 등 상태가 비슷한 기기가 얼마에 팔리는지 일일이 확인해야 하는 거예요.중고거래팀은 사용자가 물품의 시세를 한눈에 확인하고 더 쉽게 가격을 결정할 수 있도록, 아이폰, 갤럭시 기종을 대상으로 한 스마트폰 시세 조회 서비스를 테스트하기로 했어요. 다양한 물품 중 스마트폰을 베타 테스트 대상으로 선정한 이유는 다음과 같아요. 스마트폰은 제품 모델이 명확하고 게시글 수가 많아 데이터 기반 시세 계산에 유리해요. 또 판매 단가가 높아 가격 결정이 중요한 상품이기도 하고요.결과적으로 모델, 용량, 새 상품 여부, 스크래치 및 파손, 배터리 효율 등 구체적인 물품 상태에 따라 시세가 어느 정도인지 파악할 수 있는 서비스를 만들었어요. 예를 들어 사용자가 ‘아이폰 16 Pro 128GB’를 선택하고 필터에서 구체적인 ‘사용 상태’나 ‘배터리 성능’을 설정하면, 곧바로 그에 따른 시세 정보를 ‘OOO만원-OOO만원’과 같은 가격 범위의 형태로 확인할 수 있어요. 이번 프로젝트는 머신러닝을 활용해 당근 중고거래 데이터를 기반으로 정확한 시세를 제공한 첫 번째 시도로, 팀 내에서도 의미가 큰 프로젝트이기도 했는데요. 그럼 본격적으로 기능을 구현해 나간 과정을 단계별로 소개해 드릴게요.Step 1. 상품 정보 추출가장 큰 문제는 게시글에서 상품 정보를 추출하는 것이에요. 당근은 판매자의 글쓰기 허들을 낮추기 위해 중고거래 게시글에 구체적인 기종이나 물품 상태를 입력하도록 요구하지 않아요. 하지만 구체적인 물품 상태별로 스마트폰 시세를 제공하려면 모델, 용량, 새 상품 여부, 스크래치 및 파손 여부, 배터리 효율 등 여러 가지 다양한 조건을 알아내야 했어요.기존에는 이런 데이터를 추출하려면 복잡한 정규식을 만들거나 이에 특화된 ML 모델을 만들어야 했어요. 하지만 LLM을 도입하여 ‘모델명’, ‘용량’, ‘스크래치 여부’ 등을 추출할 수 있게 되었어요. 정규식이나 별도 모델을 구축할 때와 달리, 프롬프트 수정만으로도 추출 정확도를 높일 수 있어 공수가 매우 줄었어요.게시글에서 정보를 추출하는 과정 예시우선 타겟 게시글들을 정한 후 프롬프트 엔지니어링을 통해 결과물을 뽑았어요. 그 결과물을 채점하고 프롬프트를 수정하여 추출의 정확도를 높였어요. 만족할만한 성능이 나온 후에는 게시글이 생성될 때마다 LLM을 적용하여 사내 데이터 웨어하우스인 BigQuery에 적재하는 파이프라인을 구축했어요.BigQuery에 적재한 이후에는 데이터의 후처리를 거쳤어요. LLM 특성상 잘못된 분류를 하거나 허구의 정보를 생성하는 환각 문제를 완전히 피할 수는 없었어요. 특히 모델명을 추출하는 과정에서 나열한 기종 이외에 다른 이름으로 추출한다거나, 복잡한 기종 명의 경우 잘못된 이름으로 추출하는 경우도 있었어요.예를 들어, 1세대 갤럭시 폴드의 경우 “Galaxy Fold”지만 2세대부터는 “Galaxy Z Fold2”라는 이름을 가져요. 하지만 LLM은 “Galaxy Z Fold”나 “Galaxy Fold1”, “Galaxy Fold 1”처럼 사용자의 입력한 잘못된 모델명을 그대로 추출하는 경우가 있었어요.결국 프롬프트에서 모든 예외 케이스를 처리하기보다는, BigQuery View Table을 통해 2차 가공을 하기로 했어요. 아래 코드는 특정 스마트폰 시리즈(예: Galaxy Fold, Galaxy Flip 등)의 여러 가지 잘못된 표기를 정규화하는 SQL 예시예요. 이 로직을 만들 때도 GPT를 활용해 삽질 과정을 크게 줄였어요.-- Galaxy Fold 패턴 처리WHEN REGEXP_CONTAINS( REGEXP_REPLACE(REGEXP_REPLACE(item_name, r'\\s5G$', ''), r'(?i)(\\+|plus)', '+'), r'^Galaxy\\sFold($|\\s?\\d+)' ) THEN CASEWHEN REGEXP_CONTAINS( REGEXP_REPLACE(REGEXP_REPLACE(item_name, r'\\s5G$', ''), r'(?i)(\\+|plus)', '+'), r'^Galaxy\\sFold($|\\s?1)$' ) THEN 'Galaxy Fold'ELSE REGEXP_REPLACE( REGEXP_REPLACE( REGEXP_REPLACE(item_name, r'\\s5G$', ''), r'(?i)(\\+|plus)', '+' ), r'Galaxy\\sFold\\s?(\\d+)', 'Galaxy Z Fold\\\\1' )-- ...Step 2. 데이터 기반 시세 집계위 과정을 통해 정제된 모델명과 흠집, 배터리 용량 등에 대한 원시 데이터를 얻었어요. 이제 이 데이터들을 집계해서 시세 정보를 만들어낼 수 있어요. 데이터를 집계하고, 사용자분들에게 제공하는 데에는 BigQuery와 MySQL, 두 개의 저장소를 사용했어요. 각 저장소의 장단점이 다르다 보니 각각의 장점을 활용해 더 좋은 서비스를 만들어내기 위해서였어요. 두 저장소의 특징을 비교해 보면 다음과 같아요.MySQL주요 용도: 트랜잭션 처리(OLTP), CRUD 작업, 실시간 데이터 제공 및 웹 백엔드성능 특성: 낮은 지연 시간과 빠른 트랜잭션 처리로 실시간 응답에 유리데이터 이동 및 적재 전략: 사용자에게 빠른 응답을 위한 최종 집계 결과나 가공된 데이터 저장에 적합사용 사례: 웹 애플리케이션 백엔드, 실시간 거래 처리BigQuery주요 용도: 대규모 데이터 분석(OLAP), 데이터 웨어하우징, 로그/이벤트 분석성능 특성: 대규모 집계 및 복잡한 분석 쿼리에 최적화데이터 이동 및 적재 전략: 원본 대용량 데이터 분석에 집중, 불필요한 데이터 이동 최소화사용 사례: 데이터 사이언스, 머신러닝, 대규모 로그 분석, 배치 분석두 저장소의 장점을 얻기 위해 팀에서 사용한 방법은 다음과 같아요. 우선 빅쿼리에서 주간 시세조회 처리 같은 대용량 작업을 마친 후, 집계 결과만을 MySQL로 옮겨 저장했어요. 그 후 사용자가 화면에 진입할 때는 BigQuery 접근 없이 MySQL을 활용해서 시세조회 결과를 내려줬어요.BigQuery에서 MySQL로 모든 데이터를 덤프했다면, 비효율이 발생했거나 응답시간이 느려졌을 텐데요. 이 과정을 통해 그런 문제들을 방지할 수 있었어요. 또한 집계 결과를 BigQuery에서 MySQL로 옮겨오는 작업을 멱등하게 설계하여서 운영의 편의성을 높였어요.Step 3. 유사 게시글 제공이 과정을 통해 사용자가 원하는 조건의 상품 시세를 구체적인 가격 범위로 제공하게 됐어요. 그런데 당근에서 물건을 팔기 전 비슷한 물건을 하나하나 확인해 보는 것처럼, 일부 사용자의 경우 좀 더 정확한 가격 책정을 위해 다른 게시글을 직접 확인하고 싶어 할 수도 있겠다고 판단했어요. 이 과정을 편리하게 만들기 위해 시세 조회 화면에서 시세 통계 데이터뿐만 아니라 유사 게시글도 제공하려 했어요. 이 기능은 통계 데이터와는 다르게 게시글의 임베딩을 활용해 구현했어요.임베딩은 텍스트, 이미지 등의 개체를 수학적인 형태로 바꾸어 표현한 것이에요. 좋은 임베딩 모델은 텍스트의 의미를 수학적으로 잘 변환하기 때문에, 의미상으로 유사한 게시글을 빠르게 찾아낼 수 있어요. 예를 들어 영어로 작성한 “iPhone”과 한글로 적은 “아이폰”이 같은 의미라는 것은 단순히 문자열의 유사도로는 알아낼 수 없어요. 하지만 좋은 임베딩 모델을 사용한다면 이 두 단어는 비슷한 벡터로 변환이 되고, 따라서 사용자가 “아이폰”으로 검색하든 “iPhone”으로 검색하든 동일한 결과를 제공할 수 있게 돼요. 또 팀에서는 벡터 저장과 검색에 최적화된 데이터베이스인 벡터 DB, 그중 Pinecone을 도입해서 벡터 서빙을 최적화했어요.그 과정이 순탄하지만은 않았는데요. 쿼리와 문서의 불일치 때문에 어려움을 겪었어요. 당근의 게시글은 제목이나 본문이 모두 길고 상세하게 설명하는 형태예요. 하지만 스마트폰 시세조회의 경우 “아이폰 16 프로 흠집 있음”처럼 아주 짧은 단어로 이루어진 형태인데요. 이러다 보니 생각보다 유사하지 않은 게시글들이 검색되는 경우가 잦았어요.문제 해결을 위해 여러 가지 임베딩 모델을 테스트해 보다가 구글의 임베딩 모델은 작업 유형을 선택할 수 있다는 걸 알게 되었어요. 임베딩 모델을 호출할 때 문서의 경우 task_type: RETRIEVAL_DOCUMENT, 쿼리의 경우 task_type: RETRIEVAL_QUERY과 같은 형태로 옵션을 넘겨 해당 작업에 최적화된 형태로 임베딩을 만들어냈어요.위 옵션을 지정하고 다른 임베딩 모델들과 비교하자 훨씬 좋은 결과를 얻었어요. 임베딩의 평가는 해당 임베딩 모델을 통해 얻어낸 게시글이 추출 모델, 메타데이터 (흠집 유무, 배터리 사이클 등)에 맞을 때마다 더 높은 점수를 부여하는 방식으로 설계했어요. 이 채점 과정 또한 LLM을 통해 자동화하여 공수를 많이 줄였어요.유사한 게시글들을 잘 찾아내지만, 순서가 생각과 잘 맞지 않는 문제도 있었어요. “갤럭시 S24”를 검색했는데 15개의 게시글 중 갤럭시 S24가 10개, S24+가 3개, S23이 2개 있다고 생각해 보세요. 그러면 우리가 기대하는 결과는 S24, S24+, S23 순으로 게시글이 나열되는 거예요. 하지만 모두 높은 유사도를 보이다 보니 순서가 뒤죽박죽이었어요.RAG나 추천 등에 익숙하신 분이라면 ReRanker를 도입해서 문제를 풀면 될 거 같다는 생각이 드실 거예요. 저희도 ReRanker를 테스트해 보았는데, 파인튜닝 같이 도메인에 특화하지 않은 상태로 일반 모델을 적용했을 때는 딱히 더 나은 결과를 얻지 못했어요. 게다가 팀에는 이 과정을 도와줄 수 있는 ML 엔지니어도 없는 상황이어서 저희는 다른 방법을 택하기로 했어요.이미 유사한 게시글을 들고 온 이후기 때문에, 특정 규칙을 기반으로 어떤 문서들은 배제하고 사용했어요. 예를 들어 “탭”, “패드” 같은 단어 등장한 게시글은 사용하지 않는 식이죠. 같은 맥락으로 내 아이템과 일치하는 단어가 많을수록 더 상위에 위치시키고, 일치하지 않는 단어가 있을 경우 순위를 좀 더 아래로 조정했어요. 이 과정에서 기본적인 동의어 처리도 진행했고요. 예를 들어, 갤럭시 S23의 시세를 조회한다면 갤럭시의 동의어인 Galaxy S23이 있는 게시글은 상위에 위치시키고, S23 울트라는 울트라로 인해 감점되어서 더 아래로 내려가는 식이죠.마치며여태까지 LLM과 임베딩 모델 등 새로운 기술을 활용하여 당근의 자체 데이터 기반으로 시세 조회 기능을 만들어간 과정을 소개해 드렸어요. 그동안은 없었던 새로운 도구를 활용하여 사용자의 문제를 풀어나가 기술적으로도, 한 사람의 메이커로서도 즐거운 경험이었어요.이 과정에서 얻은 교훈은 다음과 같아요.LLM이 똑똑하고 좋은 도구는 맞지만, 모든 과정을 프롬프트 엔지니어링으로 해결하려고 하기보다는 후처리 과정을 따로 작성하는 게 더 효율적일 때도 있다는 것내가 필요한 장점을 가진 저장소를 선택하면 효율적으로 일할 수 있다는 것내 작업 유형에 잘 맞는 임베딩 모델을 사용하면 문제를 쉽게 풀어낼 수 있다는 것중고거래실은 이처럼 새로운 도구를 활용하여 사용자들의 문제를 풀고 더 좋은 경험을 제공하는 것에 진심인 팀이에요. 팀에 흥미가 생기셨다면 아래 공고를 통해 지원하실 수 있어요.Software Engineer, Backend — 중고거래LLM을 활용한 스마트폰 시세 조회 서비스 구축 was originally published in 당근 테크 블로그 on Medium, where people are continuing the conversation by highlighting and responding to this story.