스트리밍 추천을 위한 확장 가능한 동적 임베딩 크기 탐색
초록
SCALL은 메모리 예산을 고정한 채 사용자·아이템 임베딩 차원을 실시간으로 조절하는 강화학습 기반 프레임워크이다. 임베딩 크기를 확률 분포에서 샘플링하고, 평균 풀링을 이용해 고정 길이 상태를 구성해 새로운 사용자·아이템에도 즉시 적용한다. 실험 결과, 기존 방법보다 메모리 사용량을 정확히 제어하면서 추천 정확도(Recall@20, NDCG@20)를 크게 향상시켰다.
상세 분석
본 논문은 스트리밍 환경에서 임베딩 테이블이 급격히 팽창하는 문제를 해결하기 위해, 메모리 예산을 사전에 정의하고 그 한도 내에서 임베딩 차원을 동적으로 할당하는 SCALL이라는 시스템을 제안한다. 핵심 아이디어는 두 단계로 구성된다. 첫째, 정책 네트워크가 현재 사용자·아이템의 빈도 정보를 입력받아 각 엔티티에 할당할 임베딩 차원의 확률 분포 파라미터(예: 가우시안 평균·분산)를 출력한다. 둘째, Soft Actor‑Critic(SAC) 기반 강화학습으로 이 정책을 최적화한다. SAC의 리플레이 버퍼와 엔트로피 정규화는 지속적인 정책 업데이트를 가능하게 하며, 매 시간 단계마다 전체 모델을 재학습할 필요가 없도록 설계되었다.
임베딩 크기 샘플링 과정에서는 정의된 메모리 예산 B를 초과하지 않도록 전체 차원 합을 제약조건으로 두고, 라그랑주 승수를 이용해 샘플링 확률을 조정한다. 이 방식은 빈도가 높은 사용자·아이템에 더 큰 차원을 할당하면서도, 빈도가 감소한 경우 차원을 축소해 메모리를 회수한다. 따라서 메모리 사용량이 시간에 따라 안정적으로 유지된다.
또한, 스트리밍 상황에서는 사용자·아이템 수가 매 순간 변동한다. 이를 해결하기 위해 저자들은 평균 풀링(mean‑pooling) 전략을 도입했다. 먼저 모든 엔티티를 빈도 기반으로 K개의 그룹으로 클러스터링하고, 각 그룹의 평균 빈도를 하나의 특성으로 추출한다. 이렇게 하면 상태 벡터의 차원이 고정(K × 2, 사용자와 아이템 각각)되어 정책 네트워크가 입력 크기 변화에 영향을 받지 않는다. 더불어, 새로운 엔티티가 등장하면 해당 그룹에 삽입하고 평균값만 업데이트하면 되므로 즉시 임베딩 크기를 예측할 수 있다.
실험에서는 두 개의 공개 데이터셋(예: MovieLens‑1M, Amazon‑Books)에서 메모리 예산을 0.5 GB, 1 GB 등으로 설정하고, SCALL을 AutoEmb, ESAPN, DESS, BET, CIESS와 비교하였다. 결과는 모든 예산 조건에서 SCALL이 Recall@20과 NDCG@20에서 평균 3~7%p 상승을 보였으며, 메모리 초과 현상이 전혀 발생하지 않았다. 특히, 빈도 변동이 큰 아이템에 대해 차원을 감소시켜 메모리를 재활용함으로써 장기 스트리밍 시에도 성능 저하가 최소화되었다.
한계점으로는 정책 학습에 필요한 초기 탐색 단계가 존재하고, 매우 급격한 트래픽 변동이 있는 경우 샘플링 제약이 완전히 만족되지 않을 가능성이 있다. 향후 연구에서는 메모리 예산을 다중 레벨(예: GPU, CPU, SSD)로 확장하고, 메타‑러닝을 도입해 정책 초기화를 가속화하는 방안을 제시한다.
댓글 및 학술 토론
Loading comments...
의견 남기기