확산 생성 검색의 열세는 패러다임이 아니라 디코딩에서 온다

Disentangling Paradigm, Identifier, and Decoding in Generative Retrieval

arXiv2610.08716v1

Hicham Randrianarivo2026-10-06

무엇인가

생성 검색(Generative Retrieval, GR)은 검색을 랭킹 문제가 아니라 생성 문제로 바꾼다. 언어모델이 질의를 받아 관련 문서의 식별자(docid)를 토큰 시퀀스로 생성하고, 그 식별자를 코퍼스의 문서로 되돌리는 방식이다. 최근에는 자기회귀(AR) 디코더 대신 확산(diffusion) 디코더를 쓰는 연구가 검색과 추천 양쪽에서 나오고 있다. 문제는 이들 연구가 확산을 도입하면서 식별자 종류, 학습 레시피, 디코딩 방식을 한꺼번에 바꿔버린다는 점이다. 그래서 Hit@1 차이가 생성 패러다임 자체 때문인지, 아니면 같이 바뀐 다른 요인 때문인지 구분할 수 없다. 이 논문은 그 세 요인을 분리해 같은 조건에서 교차 실험한다.

어떻게 동작하나

설계는 세 축으로 이뤄진다. 첫째 축은 식별자다. 모든 식별자는 16개 레벨(L=16), 레벨당 512개 코드(K=512)라는 동일한 형태를 쓰고, 모델 어휘에 8,192개 토큰을 추가한다. GTR-T5-base 문서 임베딩(768차원)을 잔차 양자화(RQ)하거나 곱 양자화(PQ)해 만든 의미 코드, 의미 없는 무작위 코드, RQ 레벨 순서를 뒤집거나 섞은 순열 RQ 코드를 쓴다. RQ는 앞 레벨이 남긴 잔차를 다음 레벨이 보정하는 계층 구조라 앞 레벨에 의존하고, PQ는 임베딩을 L개 조각으로 잘라 각 조각을 독립적으로 양자화하므로 레벨 간 의존이 없다. 둘째 축은 패러다임이다. AR은 T5 1.1 base(2억 6천만 파라미터)로 레벨을 왼쪽에서 오른쪽으로 하나씩 확정하고, 마스크 확산(MDLM)과 블록 확산(BD4, BD8)은 DiT 12층·폭 768·헤드 12개(1억 8,200만 파라미터)를 OpenWebText로 사전학습한 체크포인트에서 출발한다. MDLM은 16개 레벨 전체를 하나의 블록으로 보고 임의 순서로 확정하며, BD는 4개 또는 8개 레벨 묶음을 왼쪽부터 순차적으로, 묶음 내부는 병렬로 확정한다. 셋째 축은 디코딩이다. 학습은 질의를 깨끗한 접두사로 두고 응답인 식별자만 마스킹하는 방식으로 조건화하며, 각 패러다임은 자기 손실함수로 파인튜닝한다. 저자들은 MDLM/BD3-LM의 1/t 가중치를 제거해 손실을 단순화했다.

무엇과 다른가

디코딩 사다리는 이 논문의 핵심 기여다. AR은 코퍼스 식별자 트라이 위에서 빔 서치(폭 100)를 돌려 모든 빔이 실제 문서에서 끝나도록 한다. 확산에는 트라이가 없으므로 저자들은 같은 체크포인트에 여러 디코딩을 적용한다. 샘플링은 블록별로 역방향 스텝을 돌려 마스크를 확률적으로 해제하고, argmax는 가장 확률 높은 결과를 한 번에 확정한다. 생성된 코드가 실제 식별자가 아닐 수 있으므로 코드 매칭으로 레벨이 가장 적게 다른 100개 문서를 찾고, 완전 마스킹된 식별자 z1에 대한 한 번의 순전파로 얻은 레벨별 로그확률 합 s(d)=Σ log p(c_l(d)|z1,q)로 재정렬한다. 이것이 참조 디코딩인 generate-and-match다. 여기에 저자들이 추가한 one-pass scoring은 생성을 아예 건너뛰고 s(d)로 코퍼스 전체를 채점해 상위 100개를 뽑는다. z1 한 번의 순전파가 L×K 로그확률 표를 내므로 문서 하나 채점에 L번의 표 조회만 들고, 어떤 점수도 식별자 접두사에 의존하지 않아 모델이 사실상 레벨별 분류기처럼 동작한다. 체인룰 재채점은 one-pass 상위 20개를 후보로 두고 각 후보의 접두사를 조건으로 다시 채점하는 근사다.

어떻게 쓰나

실험은 NQ320K(32만 위키피디아 질의-문서 쌍)와 MS300K(MS MARCO 부분집합, 32만 문서·36만 학습 쌍)에서 이뤄졌다. 가장 눈에 띄는 결과는 디코딩만 바꿔도 확산 모델의 Hit@1이 6.6~13.7점 움직인다는 것이다. NQ320K의 BD8-RQ를 예로 들면 한 번 샘플링 31.6에서 argmax 35.4, generate-and-match 39.1, best-of-N(N=8) 40.2, one-pass scoring 40.3으로 올라간다. 생성 자체의 정확도는 낮다. 코드 매칭 이전에 생성된 식별자가 정답과 정확히 일치하는 비율은 NQ320K 질의의 14~21%에 불과하고, 틀린 생성의 54~60%는 16개 레벨 중 8개 이상이 어긋난다. 매칭과 재정렬을 거쳐야 Hit@1이 37~45%가 된다. 즉 Hit@1의 상당 부분은 디노이징이 아니라 코퍼스 대조가 만들어낸다. one-pass scoring은 12개 확산 설정 중 11개에서 generate-and-match와 같거나 앞섰고, MS300K의 MDLM-PQ에서만 0.5점 뒤졌다. 한 번 샘플링에서 출발하면 MDLM이 AR 빔에 대해 가진 격차의 46~83%를 one-pass scoring이 메우지만, generate-and-match에서 출발하면 최대 4분의 1에 그친다. 그럼에도 AR은 Hit@1에서 여전히 앞선다. NQ320K에서 가장 근접한 확산 행은 MDLM-RQ로 3.4점 뒤지고, MS300K에서는 2.5점 뒤진다. 다만 NQ320K에서 AR의 우위는 빔 서치에서 오지 않는다(그리디가 1점 이내). MS300K에서는 빔이 6.9점 격차 중 2.9점을 담당한다.

전제와 한계

식별자 축의 결과는 통념을 흔든다. NQ320K에서 무작위 코드는 의미 코드(RQ) Hit@1의 83~90%를 그대로 유지한다. 즉 모든 패러다임이 어떤 질의에 어떤 식별자가 답인지를 상당 부분 암기한다. MS300K에서는 무작위 코드가 예산 내에 수렴하지 않아 절반도 유지하지 못한다. 학습 노출도가 낮을 때만 내용이 중요하다. 학습 질의가 하나뿐인 문서에서 무작위 코드는 확산 모델마다 4%에 그치지만 PQ는 19~22%를 기록하고, 학습 질의가 12개를 넘으면 무작위 코드가 따라잡는다. PQ가 RQ를 앞서는 폭도 디코딩에 따라 달라진다. NQ320K에서 PQ 우위는 AR 3.4점, MDLM 3.6점, BD8 2.2점, BD4 −0.7점이다. 확산 내부에서는 한 번에 확정하는 레벨 수가 많을수록 PQ 우위가 커지지만, 한 레벨씩 확정하는 AR이 MDLM과 같은 3.4점을 낸다. AR의 격차에서 확산 평균 격차를 뺀 값은 generate-and-match에서 +1.7점으로 저자들이 정한 ±2점 임계 안에 들어오고, one-pass scoring에서 2.1점, 체인룰 재채점에서 2.3점으로 살짝 넘는다. 각 모델의 최선 디코딩에서는 1.5점이다. MS300K에서는 방향이 반대로 뒤집혀, AR 빔은 PQ를 3.6점 선호하지만 체인룰 재채점을 쓴 확산은 RQ를 3.6~6.7점 선호한다. 병렬 디코더에 PQ가 유리하다는 가설에 대한 반증 신호다.

흥미로운 반전은 랭킹 깊이에서 나온다. NQ320K에서 one-pass scoring을 쓰면 MDLM은 Hit@10에서 AR 빔과 PQ에서 동률(63.5 대 63.8)이고 RQ에서는 앞선다(60.1 대 58.9). Hit@100에서는 PQ 5.2점, RQ 3.1점 앞서며, 미학습 문서 비율도 41% 대 21%로 두 배다. 빔 폭을 500으로 늘려도 AR의 Hit@100이 변하지 않으므로 가지치기가 원인이 아니다. 저자들은 이를 접두사를 주변확률로 정렬하는 제약 빔 서치가 Hit@1은 지키지만 깊이를 잃는다는 기존 증명과 연결한다. 미스 분석도 식별자의 성질을 드러낸다. 생성이 정답에서 처음 네 레벨 안에 벗어났을 때, PQ 정답 문서가 후보 안에 남아 있을 확률은 RQ의 약 2.3배이고 그 이후에는 1.3~1.4배다. PQ는 레벨이 독립적이라 근접 미스에서 나머지 레벨이 살아남기 때문이다. PQ 코드를 공유하는 문서가 1.4%로 RQ의 0.1%보다 훨씬 많은데도 이런 우위가 나온다. 다만 문서 단위로 채점하면 PQ 우위는 AR에서 +3.4점에서 +1.9점으로 줄어든다. 미스가 어디로 떨어지는지는 패러다임이 아니라 식별자·코퍼스·디코딩이 결정한다. RQ에서 한 번 샘플링하면 미스의 71~74%가 무관한 문서로 가지만, generate-and-match·one-pass scoring·체인룰 재채점은 대부분을 주제 관련 문서로 되돌린다. 학습된 코드 8개 셀에 오라클을 적용하면 NQ320K Hit@1이 62.6%로 최고 단일 셀 48.8%를 크게 넘는다. 패러다임들이 서로 다른 질의를 맞히고 있다는 뜻이다.

개발자 관점에서 이 논문이 주는 실무 지침은 명확하다. 첫째, 확산 기반 검색기를 쓸 때는 반드시 그 패러다임에 맞는 학습 레시피를 써야 한다. AR 레시피를 그대로 적용하면 확산 모델이 상수만 출력한다(MDLM-PQ와 BD8-PQ는 NQ320K에서 44.7, 41.3, MDLM-RQ는 MS300K에서 18.1에서 0.0으로 붕괴). 둘째, 디코딩을 one-pass scoring으로 바꾸는 것만으로 추가 학습 없이 대부분의 설정에서 이득을 본다. 셋째, 블록 확산에 RQ를 쓸 때는 상위 20개에 체인룰 재채점을 얹으면 두 코퍼스 모두에서 0.6~1.8점 오르지만, MDLM에 PQ를 쓸 때는 3.1점 손해다. 넷째, 패러다임 비교 논문을 읽을 때는 각 패러다임이 자기 레시피와 최선 디코딩에서 측정됐는지 확인해야 한다. 저자들이 권하는 보고 형식은 패러다임마다 원시 정확 일치율, 최선 디코딩의 Hit@1, 그리고 미학습 문서가 있는 코퍼스라면 학습 문서와 미학습 문서의 Hit@1을 분리한 네 개의 숫자다.

저자들이 밝힌 한계는 네 가지다. 첫째, 패러다임 간 백본이 다르다. AR의 T5는 C4로 사전학습돼 확산 모델의 OpenWebText보다 약 20배 많은 텍스트를 봤고, 무작위 가중치에서 학습한 AR이 NQ320K PQ에서 40.6점으로 MDLM의 44.7점보다 낮아진다는 사실은 AR 우위의 일부가 사전학습에서 올 수 있음을 시사한다. 파라미터 수도 2억 6천만 대 1억 8,200만으로 비슷할 뿐 일치하지 않으며, 5억 파라미터 이하로 제한했기 때문에 더 큰 모델에서 순위가 유지될지는 열려 있다. 둘째, AR 레시피가 확산을 붕괴시키므로 각 패러다임이 자기 레시피로 학습돼 레시피와 패러다임이 부분적으로 얽혀 있다. 셋째, 식별자 결론은 하나의 코드 형태와 숫자 식별자에 한정되고, RQ1과 RQ3는 MS300K에서 무작위 코드가 수렴하지 않아 NQ320K에 의존한다. 넷째, one-pass scoring은 생성 디코딩과만 비교했을 뿐 비생성 레벨별 분류기와는 비교하지 않아 그 이득 중 얼마가 확산 고유의 것인지 열려 있고, 코퍼스가 커지면 비용도 증가한다. 체인룰 재채점이 MDLM에 PQ에서 3.1점 손해를 주는 이유도 미해결로 남는다.