Executive Summary

학습 데이터에서 중복을 걷어내는 일은 요즘 대부분 임베딩 검색으로 처리됩니다. 벡터를 파티션으로 나눠 두고, 쿼리마다 정해진 개수의 파티션을 뒤져 유사도 임계값을 넘는 이웃을 찾는 방식입니다. Hunyuan의 실제 워크로드를 분석한 새 논문 SieveIVF는 이 검색을 훨씬 일찍 멈춰도 된다고 말합니다. 임계값을 넘는 후보가 W번 연속으로 안 나오면 그 쿼리를 그냥 포기하는 것입니다.

1억 건 규모의 공개 데이터셋 DEEP-100M에서 이 규칙은 고정 프로브 방식보다 8.38배 빨랐습니다. 대신 임계값을 넘는 top-10 이웃의 2.29%p를 놓쳤습니다. 속도와 손실은 W 하나로 정확히 맞물려 움직이기 때문에, 실제 설계 순서는 얼마나 빠르게 돌릴지가 아니라 얼마나 놓쳐도 괜찮은지를 먼저 정하는 쪽이 됩니다.

정작 아무도 계산해 주지 않는 것은 그다음입니다. 놓친 2.29%p가 나중에 학습된 모델에 무엇을 남기는지, 그리고 그 손실 폭을 정한 W가 왜 데이터셋 카드 어디에도 적히지 않는지는 논문도 문서 표준도 답하지 않습니다.

주요 수치

아래 네 숫자 중 앞의 셋은 논문이 잰 거래 조건입니다. 얻는 속도, 내주는 재현율, 그리고 실제 배포 환경에서 더 붙는 손실입니다. 마지막 하나는 그렇게 놓친 중복이 나중에 왜 문제가 되는지를 보여 주는 다른 연구의 결과입니다.

출처: SieveIVF (arXiv:2608.03199), Lee et al. 2022

8.38배

DEEP-100M 속도 향상

1억 건, W=8, 고정 프로브 대비

2.29%p

같은 조건의 재현율 손실

임계값을 넘는 top-10 이웃 기준

0.27~2.88%p

근사 할당 시 추가 손실

실험은 정확한 중심점 할당 기준

약 10배

중복 제거로 줄어든 암기

Lee et al. 2022, 문자열 그대로의 재생산

1

중복 제거는 조용히 컴퓨트를 잡아먹는다

데이터 정제 공정에서 중복 제거는 눈에 잘 띄지 않는 단계입니다. 라벨링처럼 사람 손이 많이 가지도 않고, 필터링처럼 결과가 극적으로 달라지지도 않습니다. 그런데 학습 코퍼스가 억 단위로 커지면 이 단계가 클러스터를 가장 오래 붙잡습니다. 억 개의 벡터끼리 서로 가까운 이웃을 찾아야 하기 때문입니다.

표준 해법은 IVF(Inverted File Index)입니다. 벡터를 수천 개 파티션으로 미리 나눠 두고, 쿼리가 들어오면 가장 그럴듯한 파티션 몇 개만 골라 뒤집니다. 문제는 그 "몇 개"가 모든 쿼리에 똑같이 주어진다는 점입니다. 중복 제거는 유사도 임계값을 넘는 이웃만 필요한데, 고정 프로브 IVF는 그 조건을 아예 모르는 채로 예산을 나눠 줍니다. 쉬운 쿼리는 첫 파티션에서 답을 찾고도 나머지를 계속 뒤지고, 어려운 쿼리는 예산이 다 떨어져도 답을 못 찾습니다.

논문 저자들이 Hunyuan의 실제 워크로드 네 종을 뜯어보니 낭비의 규모가 드러났습니다. 임계값을 만족하는 정확한 top-10 이웃은 파티션 랭킹에서 90퍼센타일 기준 16등까지 흩어져 있었지만, 첫 8개 파티션 안에 이미 93.76%에서 99.95%가 들어 있었습니다. 대부분의 쿼리에는 파티션 여덟 개면 충분했다는 뜻입니다.

분석 대상은 각각 1천만 개의 768차원 벡터를 담은 인덱스 네 벌이었고, 벡터는 2,400개 파티션으로 나뉘어 있었습니다. 중복으로 판정하는 유사도 임계값은 워크로드 성격에 따라 0.85에서 0.93 사이로 잡혀 있었습니다. 억 단위 코퍼스에서는 이 구조가 그대로 커집니다. 쿼리 하나당 낭비되는 파티션 몇 개가 억 번 반복됩니다.

이 낭비가 조용한 이유는 장애로 나타나지 않기 때문입니다. 검색은 정상적으로 끝나고, 중복도 제대로 걸러집니다. 초과분은 그저 클라우드 청구서와 정제 리드타임으로 흘러갈 뿐입니다. 누구도 티켓을 열지 않는 비용입니다.

2

규칙 한 줄이 8배를 벌고 2.3%p를 내준다

SieveIVF가 도입한 규칙은 한 문장으로 끝납니다. 임계값을 만족하는 후보가 W개 파티션 연속으로 나오지 않으면 그 쿼리의 검색을 중단합니다. 중간에 조건을 만족하는 결과가 하나라도 나오면 카운터를 0으로 되돌리고 계속 뒤집니다. 쿼리마다 멈추는 지점이 달라지니 파티션 접근이 흩어지는데, 저자들은 같은 파티션을 볼 준비가 된 쿼리끼리 그때그때 다시 묶는 방식으로 캐시 지역성을 지켰습니다.

검색을 일찍 끝낸다는 발상 자체는 새롭지 않습니다. 앞선 연구들은 이 쿼리를 언제 멈춰야 하는지 맞히는 예측기를 따로 학습시켜 왔습니다. SieveIVF는 그 학습을 없앴습니다. 학습용 쿼리도, 예측기도 필요 없이 조건을 만족하는 후보가 몇 번 연속으로 나오지 않았는지만 세면 됩니다. 도입 비용이 거의 들지 않는다는 뜻이지만, 판단 근거가 그만큼 얇다는 뜻이기도 합니다. 멈출지 말지를 정하는 정보는 이미 뒤져 본 파티션이 전부입니다.

아래 도식은 고정 프로브와 조기 중단이 같은 쿼리를 어떻게 다르게 처리하는지 보여 줍니다. 위쪽은 파티션 예산을 전부 소진하는 기존 방식이고, 아래쪽은 세 번째 파티션에서 조건을 만족한 뒤 여덟 개가 연속으로 비자 열한 번째에서 멈추는 경우입니다.

고정 프로브 예산 전부 소진 탐색한 파티션 16개 SieveIVF W=8에서 중단 임계값 충족 연속 8개 파티션에서 충족 후보 없음 여기서 중단 탐색하지 않은 파티션
▲ 고정 프로브와 SieveIVF의 파티션 탐색 비교. 조기 중단은 임계값 충족이 끊긴 지점에서 쿼리를 포기한다 | 페블러스 원본 도식

W를 8로 두었을 때 Hunyuan의 1천만 건 워크로드 네 종은 4.1배에서 7.6배 빨라졌고, 재현율 손실은 0.03%p에서 1.13%p 사이였습니다. 1억 건짜리 공개 데이터셋 두 종에서는 6.1배에서 8.4배가 나왔습니다. 제목에 붙은 수치는 그중 가장 극단인 DEEP-100M에서 나왔습니다. 8.38배 빨라지고 2.29%p를 잃었습니다. 같은 조건에서 LAION-100M은 6.11배에 1.43%p였습니다.

조기 중단 윈도우 속도 향상 top-10 재현율 손실
고정 프로브 (기준) 1.0배 0%p
W = 8 6.11배 / 8.38배 1.43%p / 2.29%p
W = 12 5.6배~5.8배 0.88%p~1.34%p

1억 건 공개 워크로드 두 종(LAION-100M / DEEP-100M) 기준. 출처: arXiv:2608.03199

표에서 읽어야 할 것은 개별 숫자가 아니라 두 열이 함께 움직인다는 사실입니다. 윈도우를 8에서 12로 넓히면 손실은 절반 아래로 내려가고 속도 이득도 함께 깎입니다. 저자들은 인덱스 구조도, 중심점도, 파티션 내부 검색 로직도 건드리지 않았습니다. 실행 시점에 조정하는 파라미터는 W 하나뿐입니다. 그래서 실무에서 먼저 답해야 하는 질문은 하나로 좁혀집니다. 이 데이터셋에서 우리는 얼마나 놓쳐도 되는가. 논문 부록도 같은 전제 위에 서 있습니다. 배치의 2%를 표본으로 돌려 목표 손실 0.5%에 맞는 W를 자동으로 고르는 절차를 제안합니다.

덧붙일 조건: 위 수치는 중심점 할당을 정확하게 계산한 실험 결과입니다. 대규모 파이프라인이 흔히 쓰는 HNSW 보조 할당을 쓰면 벡터 일부가 엉뚱한 파티션에 들어가고, W=8에서 0.27%p에서 2.88%p의 손실이 더 붙습니다. 실제 배포 환경의 거래 조건은 논문 표보다 나쁠 수 있습니다.

거래 자체가 성립하지 않는 구간도 있습니다. 임계값을 아주 느슨하게 잡으면 거의 모든 파티션에서 조건을 만족하는 후보가 나오기 때문에 카운터가 계속 초기화됩니다. 중단은 좀처럼 걸리지 않고 스케줄링 비용만 남아 처리량이 고정 프로브의 0.71배에서 0.99배로 오히려 떨어집니다. 이득이 나기 시작하는 임계값은 워크로드마다 달라서, 웹 문서 워크로드는 0.35부터였지만 정형 데이터 워크로드는 0.90은 되어야 했습니다. 남의 W를 그대로 가져다 쓸 수 없는 이유가 여기에도 있습니다.

3

놓친 중복은 어디로 가는가

논문이 측정한 것은 검색 품질입니다. 2.29%p는 찾았어야 할 이웃 중 못 찾은 비율이지, 학습된 모델이 얼마나 나빠지는지가 아닙니다. 그 연결 고리는 논문 범위 밖에 있습니다. 그런데 데이터를 운영하는 쪽에서는 바로 그 고리가 궁금합니다. 놓친 중복은 지워지지 않고 학습 코퍼스에 그대로 남기 때문입니다.

중복이 남으면 무슨 일이 생기는지는 비교적 잘 측정돼 있습니다. Lee 등이 2022년 ACL에 발표한 연구는 학습 데이터에서 반복 문자열을 걷어내자 모델이 학습 문장을 그대로 뱉는 빈도가 약 10배 줄었다고 보고했습니다. 출력 토큰의 1% 이상이던 것이 0.1% 수준으로 내려갔습니다. 같은 연구는 C4의 6.7%, RealNews의 18.6%가 중복이었다는 실측치도 함께 내놨습니다.

더 중요한 것은 그 위험이 균일하지 않다는 점입니다. Carlini 등의 후속 연구는 암기 정도가 학습 데이터 안의 등장 횟수에 로그-선형으로 비례한다는 것을 보였습니다. Kandpal 등은 같은 구조가 데이터 추출 공격의 성공률로 이어진다는 것을 확인했습니다. 그러니까 그 2.29%p가 실제로 얼마나 위험한지는 비율이 아니라, 놓친 항목이 코퍼스 안에서 몇 번 반복됐느냐가 결정합니다. 한 번씩만 등장하는 항목 2.29%p를 놓치는 것과, 수백 번 반복되는 문서 클러스터를 놓치는 것은 같은 숫자가 아닙니다.

위험은 모델 안에만 쌓이지 않습니다. 같은 Lee 등의 연구는 표준 데이터셋에서 검증셋의 4% 이상이 학습셋과 겹쳐 있었다고 보고했습니다. 중복이 남아 있으면 평가 점수가 실력보다 높게 나오고, 그 점수를 근거로 내린 판단이 다시 다음 학습을 좌우합니다. 놓친 중복은 모델을 재는 잣대에도 섞여 듭니다.

놓친 이웃 2.29%p 조기 중단으로 검색에서 누락 중복이 학습 코퍼스에 그대로 남음 지워지지 않고 다음 단계로 전달 1회 등장 항목 암기 위험 낮음 (Carlini et al.) 반복 클러스터 (수백 회) 암기 로그-선형 증가 문자열 재생산 ~10배 (Lee 2022) 검증셋과 교집합 4%+ 평가 점수가 실력보다 높게 (Lee et al. 2022)
▲ 놓친 중복이 학습 코퍼스에 남아 갈라지는 두 경로. 반복 빈도가 낮으면 위험도 낮지만, 클러스터로 반복되면 암기와 평가셋 오염으로 이어진다 | 페블러스 원본 도식

조기 중단이 어느 쪽을 더 많이 놓치는지는 논문에 나오지 않습니다. 규칙의 성격상 놓친 이웃은 무작위가 아니라 임계값 근처에 있고 파티션 랭킹에서 깊은 곳에 있는 쿼리들에 몰려 있을 텐데, 그 분포가 중복 빈도와 어떤 관계인지는 아직 아무도 측정하지 않았습니다. 재현율 한 숫자만으로 다운스트림 위험을 갈음할 수 없는 이유입니다.

4

W는 어디에도 적히지 않는다

여기서 거버넌스 문제가 시작됩니다. 모델 품질에 영향을 주는 결정이 하나 내려졌는데, 그 결정을 기록하는 자리가 없습니다. 데이터셋 카드와 데이터시트는 출처, 수집 방법, 라이선스, 안전 필터링까지는 점점 요구하는 추세입니다. C4나 RedPajama의 문서가 사실상 템플릿 역할을 하고 있습니다. 그 목록에 근사 검색을 얼마나 일찍 멈췄는가라는 항목은 없습니다.

목록에 있는 항목조차 잘 채워지지 않습니다. 널리 쓰이는 의료 영상 데이터셋들을 문서화 기준에 대조한 연구는 요구 항목의 20%에서 39%만 충족됐다고 보고했습니다. 가장 크게 비는 영역이 출처와 품질이었습니다. 정제 공정의 근사화 파라미터는 애초에 요구 목록에 오르지도 못했으니, 충족률을 따질 대상조차 아닌 셈입니다.

논문의 자동 W 선택 절차는 이 공백을 오히려 또렷하게 만듭니다. 배치마다 표본을 돌려 목표 손실에 맞는 W를 고른다면, W는 파이프라인 어딘가에 한 번 적어 두는 상수가 아니라 배치마다 달라지는 런타임 값이 됩니다. 그렇게 정해진 값은 로그에는 남을지 몰라도 데이터셋을 설명하는 문서에는 올라가지 않습니다. 몇 달 뒤 모델에서 문제가 발견됐을 때, 그 배치의 정제 강도가 어땠는지 되짚을 방법이 사라집니다.

규제는 이 방향으로 조금씩 다가오고 있습니다. EU AI Act와 NIST AI RMF는 학습 데이터와 모델에 대한 명시적 문서화를 요구하는 쪽으로 움직입니다. 다만 요구 항목이 정제 공정의 근사 파라미터 수준까지 내려간 사례는 아직 드뭅니다. 규제가 내려오기를 기다릴 이유는 없습니다. 이 기록이 필요한 첫 번째 이유는 감사가 아니라 자기 추적이기 때문입니다.

5

그 값을 어디에 적어 둘 것인가

중복 제거를 돌리는 팀이 당장 할 수 있는 일은 크지 않습니다. 데이터셋 카드에 한 문단을 추가하는 정도입니다. 다만 그 문단에 다음 다섯 가지는 숫자로 들어가야 뒤에서 쓸모가 있습니다.

  • 중복 판정에 쓴 유사도 임계값과 임베딩 모델
  • 검색을 얼마나 일찍 멈췄는지, 곧 조기 중단 윈도우나 프로브 예산
  • 중심점 할당이 정확 계산인지 근사인지
  • 측정된 재현율 손실과 그것을 잰 방법(표본 크기 포함)
  • 배치마다 값이 달라진다면 배치별 실제 값의 보관 위치

다섯 줄이면 됩니다. 이 다섯 줄이 있으면, 나중에 모델이 학습 문장을 그대로 뱉거나 평가셋 오염이 의심될 때 정제 단계를 용의선상에 올릴 수 있습니다. 없으면 그 단계는 조사 대상에서 통째로 빠집니다. 재현율 2.29%p는 결함이 아닙니다. 계산된 거래이고, 논문은 그 거래를 정직하게 공개했습니다. 문제는 거래를 한 쪽이 조건을 적어 두지 않는다는 것입니다.

Editor's Note: 페블러스가 AI-Ready Data를 이야기할 때 강조하는 지점도 여기에 있습니다. 데이터의 품질은 마지막에 측정하는 점수가 아니라 공정의 각 단계가 남긴 기록의 합입니다. 어떤 값을 골랐고 그 대가로 무엇을 포기했는지가 데이터와 함께 이동해야, 그 데이터로 만든 모델을 나중에 설명할 수 있습니다.

R

참고문헌

1차 소스

  • 1.Hu, Z. et al. (2026). SieveIVF: Threshold-Aware IVF Execution for Large-Scale Training Data Deduplication. arXiv:2608.03199

학술 논문

  • 2.Lee, K. et al. (2022). Deduplicating Training Data Makes Language Models Better. ACL 2022. arXiv:2107.06499
  • 3.Carlini, N. et al. (2022). Quantifying Memorization Across Neural Language Models. ICLR 2023. arXiv:2202.07646
  • 4.Kandpal, N., Wallace, E., & Raffel, C. (2022). Deduplicating Training Data Mitigates Privacy Risks in Language Models. ICML 2022. arXiv:2202.06539
  • 5.Wang, Z. et al. (2023). Data Management For Large Language Models: A Survey. arXiv:2312.01700