전문서비스 / 채용 플랫폼
LinkedIn: 채용공고와 이력서의 의미 기반 추천
- 기업
- 국가
- 미국
- 도입 상태
- 운영
- 자료 공개
- 날짜 기준
- 자료 발표 시점. 도입 시작일과 다를 수 있음
- 근거 확인 방법
- 원문 본문 열람
업무 문제
LinkedIn은 10억 명이 넘는 회원과 수천만 건의 채용공고를 이어 주는 추천에서 기존 임베딩 체계인 Pensieve의 한계에 부딪혔다. 이 회사는 Pensieve가 작고 정확도가 떨어지는 모델에 기대고 있었고 손으로 유지하기 어려운 분류 체계와 바꾸기 힘든 상위 처리 흐름에 묶여 있었다고 설명했다. 그렇다고 큰 언어 모델을 그대로 서비스에 넣으면 계산 비용이 크고 배포 흐름이 복잡해지며 업무 자료에 계속 맞춰 줘야 하는 부담이 생긴다고 밝혔다.
적용한 기술과 데이터
이 회사는 JUDE를 만들어 실제 서비스에 넣었다. 채용공고와 회원 프로필, 이력서를 같은 공간의 임베딩으로 바꿔 주는 사내 플랫폼이다. 공통 기반 모델 하나에 입력 종류별 prompt 양식을 붙이고 two tower 방식으로 미세조정했다. 먼저 관련성 라벨로 학습하고 그다음 실제 지원 기록으로 이어 학습했다. LoRA와 Flash Attention 2, bfloat16, DeepSpeed ZeRO를 써서 H100 여러 대로 돌렸다. 서비스 쪽은 Lambda 구조에서 Kappa 구조로 옮겼다. Kafka 변경 스트림으로 바뀐 항목만 골라 다시 계산하고 결과를 Venice 키값 저장소에 넣어 온라인에서 읽는다. 모델은 Kubernetes GPU pod 위의 gRPC 서비스로 띄웠다.
성과
LinkedIn은 이 임베딩을 채용 추천과 검색의 2차 순위 모델에 함께 넣어 기존에 겹치던 표준 특징을 대체했고 트래픽을 점차 늘렸다고 밝혔다. 온라인 A/B 시험에서 적합 지원이 2.07% 늘고, 공고를 밀어낸 횟수와 지원 횟수의 비가 5.13% 줄었으며, 전체 지원 건수가 1.91% 늘었다고 설명했다. 이 회사는 그 반년 동안 모델 하나를 바꿔 얻은 가장 큰 폭의 개선이었다고 덧붙였다. 비용 쪽에서는 바뀐 항목만 다시 계산하는 방식으로 추론 비용을 최대 3배 줄였고 해시와 중복 제거로 초기 적재 때 추론량을 약 6배 줄였다. 70억 규모 모델에서 응답 시간은 95번째 백분위 기준 300밀리초 아래로 지켰다.
한계와 남은 과제
원문은 이 회사의 엔지니어링 블로그이고 사용한 기반 모델의 이름과 크기를 정확히 밝히지 않았다. A/B 시험을 언제 얼마 동안 어느 규모로 돌렸는지도 없다. 지표는 상대 변화율만 있고 절대값이 없다. 도입을 시작한 월을 밝히지 않아 글 게시일로 정렬했다. 지난 기록에서는 원문을 확인하지 못한 후보였고 이번 조사에서 원문을 읽고 본조사로 옮겼다.
출처
공개된 자료를 정리한 사례입니다. ATF Works 도입 고객의 결과가 아닙니다.