오픈AI의 GPT-OSS가 드러내는 OpenAI 훈련 데이터의 비밀
(fi-le.net)- OpenAI가 최근 공개한 오픈 가중치 모델을 통해 훈련 데이터의 비밀에 일부 접근 가능해짐
- GPT-5 분석 과정에서 성인 사이트 문구가 훈련 데이터에 포함된 증거가 발견됨
- 특정 이상 토큰(glitch token) 을 분석해 GPT 계열 모델의 훈련 데이터 속성을 유추할 수 있음
- Github 등에서 수집된 스팸/부적절 콘텐츠도 일부 토큰에 반영되어 있음
- 오픈 가중치 공개가 훈련 데이터 추론 및 공격 벡터 확대의 원인이 될 수 있음
개요
- OpenAI가 최근 GPT-oss의 가중치를 공개함에 따라, 훈련 데이터가 정확히 무엇인지 부분적으로 추정 가능한 상황이 발생
- 공식적으로는 "STEM, 코딩, 일반 지식에 중점을 둔 수조 개 토큰의 텍스트 데이터셋"으로 명시될 뿐, 실제 데이터 출처에 대한 상세 공개는 이루어지지 않음
- 하지만 공개된 모델 파라미터의 구조적 분석을 통해 암시적 정보를 획득할 수 있음
실험 및 이상 토큰 확인
- GPT-5(GPT-5-2025-08-07) 모델에 아브하지어(Abkhaz) 단어와 같은 특이 유니코드 입력을 반복하도록 요청시, 엉뚱하게 Malayalam(말라얄람어) 단어로 답을 반환함
- 이 입력은 임의가 아닌, 모델 취약성을 유도하는 글리치 토큰임이 실험을 통해 밝혀짐
- GPT-5 및 최근 OpenAI 모델들은 o200k 토크나이저를 사용하며, 각 토큰 임베딩의 L2 Norm 분포를 분석하여
- L2 Norm이 매우 낮은 약 936개 토큰은 훈련에 거의 등장하지 않은 토큰이나 특수 토큰, 혹은 일부 유니코드 바이트임
- 반면, L2 Norm이 높은 토큰들은 주로 영어 코드와 설명, 추론에 자주 쓰이는 단어임
고노름 비ASCII 토큰의 정체
- 높은 L2 Norm을 가진 비ASCII 토큰들 다수는 중국어, 아브하지어, 아르메니아어, 태국어, 인도 지역 언어로 구성
- 특히 중국어 토큰들 중 여러 개가 성인 사이트나 도박용 사이트, 정치적 사이트 명칭(예:.tieba, 凤凰大参考 등)에 해당함
- GPT 계열 모델의 토크나이저에 이런 단어들이 과대대표(overrepresented)된 점이 지적됨
- 일부 토큰들은 특정 지역 도시명, 축구 관련 문구 등, 인터넷상에서 스팸이나 자동화된 데이터 수집에 의해 유입된 것으로 보임
글리치 토큰 활용
- GPT-5 및 GPT-oss 계열 모델에 글리치 토큰을 입력해 모델이 해당 토큰의 의미/언어를 인지하는지 평가
- 실제 입력 실험에서 일부 민감 토큰에 대해 모델이 의미를 파악하거나 답변을 생성하는 현상 발견
- 이는 membership inference의 일종으로, 해당 토큰이 훈련 데이터에 포함됐음을 뒷받침함
- 이런 방식으로 어느 데이터가 모델 훈련에 쓰였는지, 대략적 추론 가능
훈련 데이터 출처 분석 및 시사점
- 글리치 토큰이 Github에서 흔히 검색되는 경우가 많아, 일부 훈련 데이터가 Github에서 수집됐을 가능성도 제기됨
- 토큰별 Github 검색 결과와 모델 인식률 사이에 상관 관계 존재(스피어만 ρ=0.448)
- 다만 오픈 가중치 모델의 배포는 비정상적 훈련 데이터 추론 뿐 아니라, 보안상 공격 벡터 확대에도 기여
- Frontier AI 연구소들은 비정상·희귀 문자열의 토크나이저 등록 방지 등 보안적인 추가 조치 필요
부록: 글리치 토큰 연구의 확장
- 글리치 토큰은 모델 식별(특정 API/서비스가 어떤 모델을 사용하는지 추론) 등 다양한 활용 가능
- 훈련 횟수, 샘플 효율성, 임베딩 및 앞단 레이어를 통한 추가 분포 분석 등 심층 연구 주제로 확장 중
- GPT-4o 계열에서 글리치 토큰이 무한 반복 출력을 유발, 서비스 거부(DoS) 공격에 활용될 위험도 언급
- 자세한 사례와 표는 동반 Github 리포지터리 참조
참고 및 결론
- 대표적인 실증 연구로 MIT Technology Review 및 중국 기술 블로그 등을 참조
- 최종적으로, 오픈 가중치 모델의 배포가 모델에 내재된 훈련 데이터의 세부 내역을 유추하는 새로운 방법을 제공, 데이터 보안 및 프라이버시 측면에서 시사점 큼
- 모델 개발자들은 민감/비정상 데이터가 토크나이저와 학습 데이터에 포함되지 않도록 적극적 차단 전략을 강구해야 함
과학의 측면에서 AI에게 세계에 대한 일반지식을 가르친다는 의도라면 성인사이트를 굳이 거를 필요는 없을 것 같은데요.
프로덕트를 만든다는 측면에서 고객에게 신뢰할 수 있는 챗봇을 제공한다는 측면이라면, 저질 커뮤니티나 성인사이트는 거르는 게 맞겠고요.
Openai의 PM이 어떤 판단을 내렸던건지 내막이 궁금하네요.
Hacker News 의견
- 이 기사에서 "GPT-5가 성인 웹사이트에서 가져온 문구로 학습됐다"고 말하는데, 실제로는 GPT-5가 성인사이트에도 등장하는 문구로 학습됐다는 이야기임, 그리고 이런 문구가 포함된 데이터의 소스가 GitHub일 수도 있다는 추측이 있을 뿐임
- 중국 성인 사이트 광고는 재포장된 무료 콘텐츠나 불법 복제 콘텐츠에 널리 퍼져 있음, 이들 자료는 github, shadow libraries, YouTube 같은 곳을 통해 배포됨, 같은 이유로 whisper 모델에 빈 오디오를 넣으면 이런 광고 문구가 출력되는 현상도 있음
- 블로그 마지막에 이 부분이 다뤄짐
- “GPT-5가 성인 사이트 문구로 학습됐다”는 표현이 정말로 성인사이트에서 가져왔다는 뜻인지, 아니면 그런 문구가 학습 데이터에 흔했다는 것인지 궁금함, 블로그스팸, 링크 농장, 어필리에이트 마케팅 등이 성인/도박 사이트에서 흔하니, 관련 문구가 많이 섞이는 게 자연스러움
- 이 사람, 성인 사이트를 꽤 잘 아는 듯한 뉘앙스임
- “약 936개의 매우 작은 L2 norm 값을 가진 토큰이 있는데, 이는 이 토큰들이 GPT-oss의 학습에서 쓰이지 않아 가중치 감소로 인해 억제됐음을 의미한다”는 주장에 대해, 관례적으로 embedding과 norm 파라미터는 weight decay에서 제외되는데 지금도 그런지 궁금함, minGPT 예시 코드를 보면 실제로 그렇다고 설명함 minGPT 코드 보기
- 혹시 이런 토큰들이 데이터셋의 평균값+노이즈로 초기화됐고, 학습 과정에서 노출이 안 돼서 값이 변하지 않은 것 아닐까 하는 추측임, 최신 기법인지는 모르겠지만 Karpathy 영상에서는 초기 gradient descent에서 손실이 급격히 떨어지는 걸 막으려고 이런 트릭을 쓰곤 함
- 기사는 이런 패턴을 학습 데이터에서 어떻게 찾는지 과정 설명이 부족하다고 느꼈음, 그냥 결과만 다루고 있어서 내용이 아쉬웠음
- 기사에서 흥미로운 점 하나는 ‘글리치 토큰’을 이용해 어떤 언어 모델을 쓰는지 알아낼 수 있다는 것임, 글리치 토큰을 프롬프트에 넣어서 반응을 보면 모델의 정체가 드러남
- 앞으로 펜테스트에서도 LLM 지문을 식별해 모델 종류와 보안 취약점 등을 파악하는 플로우가 나올 수 있을 것 같다는 상상임
- 나도 비슷한 생각을 했음, 앞으로 다양한 agentic flow에서 쓰는 모델이 뭔지 밝히는 계기가 될지 궁금함, 한 모델이 다른 하위 모델들을 콜할 때 각 단계별 글리치 반응을 통해 전체 호출 구조를 역추적할 수도 있을 것 같음
- 근데 이런 리버스 엔지니어링이 가능한 건 우리가 tokenizer를 직접 볼 수 있어서가 아닐까 싶음, Claude나 Gemini용 tokenizer는 공개됐나? 만약 그렇지 않다면 이런 공격기법도 막을 수 있을 것 같음
- LLM, 특히 API만 제공하는 닫힌 모델들을 역공학하거나 학습 데이터 구성을 알아내는 연구가 있는지 궁금함, 예를 들어 Claude Sonnet 4.5의 학습 데이터를 어떻게 추정할 수 있는지, 또 RLHF 이후 프리트레인된 모델의 성향까지 밝혀내는 연구도 있을까 궁금함, GPT-4o 같은 모델에서 바이애스가 완전히 사라지는지 아니면 모델 깊숙이 그냥 숨어있는지 그 차이도 알고 싶음
- 관련 논문이 있음 arXiv:2403.06634, arXiv:2311.17035, Nicholas Carlini 인터뷰도 한 적이 있어서 기억하고 있음
- 바이애스는 인간적인 단어라 이런 식으로 논의하면 논쟁이 끝도 없어지는 듯함, 과거에 시스템d가 출시됐을 때 LLM이 이미 있었으면 그때 정보량이 적어서 옛날 정보를 바탕으로 답했을 것임, LLM은 받은 데이터를 재생산하는 것뿐이고 데이터에서 정보 삭제가 오히려 학습 데이터 정제보다 싸게 먹히는 경향임
- “xadder”라는 토큰이 이상하게 여겨졌는데, 실제로는 “xpadder”(게임 패드 툴)의 오타, 여러 툴의 이름, XLib 호출 파라미터, Xilinx Vivado의 full adder 구현 등 다양한 맥락에서 쓰이는 단어임, 포럼 닉네임으로도 사용되는 등 사례가 많음
- 기사에서 소개된 중국어 문구 번역이 너무 부정확해서 의미 파악이 힘들고, 결과적으로 데이터 행렬 자체가 부정확할거란 생각이 듦, 저자는 경험 많은 중국 원어민의 교차검증이 필요함
- 누군가 더 나은 번역을 올리면 업데이트하겠다는 피드백임
- 이렇게 “저품질” ad 토큰 등에 토큰 공간을 낭비할 만큼 범위가 넓은데, 양자화 모델 성능을 높이려고 토큰 공간을 줄이려는 시도가 있었는지 궁금함, ad 토큰을 보고 문득 떠오른 생각임
- 일부 30b 매개변수 모델이 실제로는 한 번에 3b 정도만 활성화시키는 구조가 바로 그런 아이디어 아닌지 생각함
- 내가 혹시 오해한 걸 수 있지만, 기사에서 OpenAI가 성인 사이트 데이터를 학습에 썼다는 게 뭔가 스캔들처럼 암시되는 듯함, 근데 사실 Google도 성인 사이트를 인덱싱하고 검색에 반영하는데 LLM은 뭐가 다른지 잘 모르겠음
- 사실 새로운 일도 아님, gpt-tokens 저장소 참고하면, 이미 1년 전쯤부터 Gpt-4o에서 성인 사이트 관련 중국어 문구가 발견된 사례가 있음, 이 이슈는 이미 예전부터 알려져 있었음
- 이슈의 핵심은, 만약 Github에 올라온 특정 문구가 모델 안에서 드러나면 Github이 학습 데이터에 포함됐을 가능성이 높다는 점임
- 개인적으로 기사에서 그런 뉘앙스를 못 느꼈음
- 기업 입장에서는 이런 데이터, 특히 성인 콘텐츠 관련 문구는 검열이나 정책 준수를 위해 학습 데이터에서 미리 제거하는 게 맞을 것 같음
- Gemini 2.5 pro에서 기사 사례를 테스트해봤는데 거의 대부분 문제없이 잘 처리함, Google의 모델은 전혀 다른 glitch token에만 취약할 수 있다는 생각이 듦, 기사에서 다루는 기술적 논의는 좀 어렵게 느껴짐
- glitch token은 토크나이저 별로 다르게 작동함, Gemini는 OpenAI 모델과 다른 토크나이저를 사용함, OpenAI glitch token의 기원도 흥미로운데, 초창기 토크나이저를 학습할 때 사용 데이터의 인기 스트링(예: Reddit의 활발한 사용자 닉네임 등)이 정수로 지정됐고, 그중 무작위로 뽑힌 예가 “davidjl”임, 더 많은 설명