웹 스크랩 데이터를 이용해 파인튜닝할 때 발생한 문제점과 해결 방법 [D]
요약
웹 스크랩 데이터를 이용해 모델을 파인튜닝할 때 발생하는 '보일러플레이트 오염' 문제를 다루고 있습니다. 이를 해결하기 위해 단순 텍스트 추출 대신 공격적인 DOM 타겟팅과 로테이팅 프록시 사용의 중요성을 강조합니다. 또한, 중복 제거 순서와 다국어 근접 중복 감지 같은 데이터 전처리 과정의 어려움도 논했습니다.
핵심 포인트
- 보일러플레이트 오염(boilerplate contamination)은 학습 예제에 포함되는 주요 문제입니다.
- DOM 타겟팅과 로테이팅 프록시 사용이 스크랩 데이터 품질 향상에 효과적입니다.
- 중복 제거 시 정확한 중복 제거를 먼저 수행하는 것이 중요합니다.
- 다국어 코퍼스에서 근접 중복(near-duplicate) 감지는 여전히 어려운 과제입니다.
스스로 수집한 웹 데이터로 파인튜닝하는 것은 간단할 것 같았지만, 그렇지 않았습니다. 실제로 문제를 일으킨 원인은 다음과 같습니다: 보일러플레이트 오염(boilerplate contamination)이 조용한 살인자였습니다. 내비게이션 메뉴, 쿠키 배너, 푸터 텍스트 등이 학습 예제로 새어 들어왔습니다. 모델은 반쯤 렌더링된 HTML처럼 보이는 이상하게 구조화된 출력을 생성하기 시작했습니다.
이를 해결하기 위해 단순 텍스트 추출 대신 공격적인 DOM 타겟팅(DOM-targeting)을 사용했고, 로테이팅 레지덴셜 프록시 레이어(rotating residential proxy layer)로 전환한 것이 눈에 띄는 차이를 만들었습니다. (요청당 IP 로테이션은 대상 사이트가 봇 필터링된 골격 구조 대신 실제 브라우저 세션에서 얻을 수 있는 동일한 렌더링된 DOM을 제공한다는 의미입니다.) 이는 파서(parser)를 건드리기 전의 원본 HTML이 얼마나 깨끗했는지에 영향을 주었습니다.
중복 제거 순서가 예상보다 중요했습니다. 퍼지(fuzzy) 중복 제거 전에 정확한(exact) 중복 제거를 실행하는 것이 역순과 의미 있게 다른 학습 세트를 생성했습니다. 모델이 구절을 되풀이하려는 경향은 순서에 따라 눈에 띄게 변화했습니다.
아직 완전히 해결하지 못한 것은 여러 언어에 걸친 근접 중복(near-duplicate) 감지입니다. MinHash는 단일 언어로는 잘 작동하지만, 다국어 중복 제거 과정에서 마음에 들지 않는 엣지 케이스가 계속 발생합니다.
특히 다국어 코퍼스(multilingual corpora)와 관련하여 다른 사람들도 같은 문제에 직면했는지 궁금합니다. 또한 스크랩된 데이터의 품질이 '충분히 좋다'고 판단하여 클리닝을 멈추고 바로 학습을 진행할지 결정하는 원칙적인 접근 방식이 있는지 진심으로 궁금합니다.
submitted by /u/Symeoon [link] [comments]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/MachineLearning (hot)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기