42Maru에서 5년 반 동안 한국어 검색과 QA 시스템을 만들었습니다. 현재는 메트라이프에서 보험 비즈니스에 적용되는 ML 모델을 개발하고, 배포 이후의 운영과 개선까지 맡고 있습니다.

MetLife · Data Scientist · 2024–현재

모델이 실제 업무에 적용된 뒤에는 운영 지표와 데이터 변화를 확인하며 개선을 이어갑니다. 고객 유지, 영업 활동, 위험 검토와 관련된 지표가 개선됐고, 반복 운영 과정을 정비해 모델 개선 주기도 줄였습니다.

모델 개발과 운영에 더해 기업 환경에서 필요한 AI 활용 기준과 검토 체계를 다룹니다. 현업이 AI를 이해하고 실제 업무에 활용할 수 있도록 조직 간 협업과 지식 확산에도 참여합니다.

42Maru · Search/QA · 2019–2024

검색식과 사전으로 쿼리를 해석하고 BM25를 튜닝했습니다. 평가셋을 설계해 랭킹 품질을 측정했으며, RAG·MRC·비정형 데이터 파이프라인까지 검색 시스템 전반을 다뤘습니다. 대우조선해양 시맨틱 QA하나은행 OCR-NLP가 이 시기의 프로젝트입니다.

QA 시스템에서 수집한 실패 사례는 국가 과제 데이터셋 설계로 이어졌습니다. NIA AI-Hub를 통해 5종, 약 227만 QA 쌍을 공개했습니다. KAIST·카카오뱅크의 K-FinHallu와 ACL FinNLP 2024의 FINALE가 이 데이터를 사용했습니다.

Public engineering

보험 약관과 한국어 질의에서 발견한 문제를 재현 가능한 테스트로 만들고 upstream 수정으로 연결합니다. Lucene, Elasticsearch, sentence-transformers, Transformers, MLflow, LlamaIndex에 외부 패치 16건이 병합됐습니다.

  • Elasticsearch phrase query: token graph의 position hole이 사라져 원문과 같은 검색이 0건을 반환하던 문제를 고쳤습니다. PR #152931
  • sentence-transformers #3827: ListMLE loss 계산에 padding token이 포함되던 오류를 고쳤습니다. 메인테이너가 수행한 NanoBEIR benchmark에서 평균 nDCG@10이 약 0.39에서 0.529로 상승했습니다.
  • Transformers continuous batching: 이미 전달된 streaming output이 바뀌고 soft-reset 요청이 일찍 종료되던 상태 관리 문제를 수정했습니다. PR #46670
  • Apache Lucene #16242: NFD로 분해된 한글을 nori가 분석하지 못하던 문제에 HangulCompositionCharFilter를 추가했습니다.

Technical scope

Applied ML · Model operations · AI governance · Search & Retrieval · Python · PyTorch · Databricks