Skip to content

Development Labels 39 KO

teamswyg edited this page Sep 30, 2026 · 2 revisions

학습·검증 정답 경로의 제한된 순차 처리 — 실험 39

개발 자료 13,021개 전체의 정답 준비 결과를 집계했다. 기존 파일 경로를 얻은 작업은 12,669개이며, 공백 패치 292개·크기 초과 2개·기존 경로 없음 58개를 별도로 보존했다. 모델 학습이나 품질 개선 결과가 아니다. 최종 평가 2,402개와 미선택 형제 작업은 대상에서 제외했다.

원래 계획을 먼저 고정했다. 입력은 실험 36의 고정 Parquet와 실험 37의 고정 역할 소속이다. 개발 ID를 Arrow 단계에서 선택한 뒤 선택된 패치만 관리용 프로그램 객체로 변환한다. Parquet 내부에서 다른 행의 바이트가 압축 해제되지 않는다는 주장은 아니다. 최종 역할의 패치를 분석하거나 정답을 생성·채점하지 않는다.

첫 변환은 JSON 한 행이 117,856,291바이트여서 사전 16MiB 한도에서 중단됐다. 진단 재실행도 같은 크기에서 실패했고 미완성 출력은 삭제했다. 한도를 올리지 않고 크기 초과 처리 보완을 실제 정답 분석 전에 고정했다. 선택된 패치의 UTF-8 길이를 Arrow에서 구한 뒤, 기존 판독기 한도인 2MiB 초과 원문은 Python 문자열이나 출력에 넣지 않는다. ID·원래 바이트 수·크기 초과 표시와 patch:null만 남긴다. 해당 작업은 정답을 알 수 없는 실패이며 빈 정답으로 간주하지 않는다.

구분 학습 검증 합계
고정 작업 수 7,335 5,686 13,021
지원 형식으로 기존 경로를 얻은 작업 7,294 5,375 12,669
공백만 있는 패치 0 292 292
크기 초과 패치 1 1 2
파싱은 성공했으나 기존 경로 없음 40 18 58
기존 경로 참조 21,715 15,399 37,114
작업 하나의 최대 기존 경로 수 265 137 265

저장소별 전체 집계. 실패 294개는 공백 292개와 크기 초과 2개를 포함한다. 크기 초과 원문은 각각 8,020,190바이트·102,783,478바이트였다. 새 파일 블록은 전체 2,401개다. 파싱된 패치의 지원하지 않는 블록은 0개지만, 파싱 실패가 0이라는 뜻은 아니다. 기존 경로 없는 58개도 검색 실패나 성공으로 아직 채점하지 않았다.

Go의 별도 개발 reader는 최대 256MiB 전체 파일의 SHA-256을 먼저 순차 검증하고, 다시 읽으며 최대 16MiB JSONL 행을 처리한다. 두 번째 읽기도 해시를 확인한다. 개발 ID 배열의 이진 탐색과 방문 여부 배열로 누락·중복·다른 역할을 거부하며, 기존 평가 reader의 32MiB/4,096행 계약은 바꾸지 않는다. 패치마다 보유하는 원문을 해제하고 경로 문자열만 복사한다. 전체 원문 파일을 메모리에 올리거나 전역 잠금·캐시를 추가하지 않는다. SIMD 성능 향상을 주장하지 않는다.

이 준비 단계에서 Python/PyArrow는 기존 관리용 Parquet 변환에만 사용한다. 런타임·Go CLI·CI의 Python 의존성을 추가하지 않는다. 패치 적용이나 데이터셋 코드 실행은 없다. 원문·패치·작업별 정답은 0600 로컬 파일로 유지하며 GitHub에는 코드·계획·집계만 게시한다.

# 고정 개발 자료의 비공개 투영 생성(기존 관리용 PyArrow 환경)
python scripts/training/project_development_labels.py \
  --input .cache/training-source-36/data/train-00000-of-00001.parquet \
  --membership .cache/training-partition-37/membership.json \
  --output .cache/development-patches-new.jsonl
# 고정 SHA-256과 계획을 검증한 후 새 디렉터리에 집계/비공개 정답 저장
go run ./cmd/riido-developmentlabels \
  --projection .cache/development-patches-new.jsonl \
  --out .cache/development-labels-new

최종 비공개 투영은 13,021행·110,290,640바이트, SHA-256 6bed55ca053705e59b1362f982b86cbd977fa3d216312a018b1657dfb9fd284b다. 재변환 파일이 바이트 단위로 일치했으며 일반 재실행과 실제 전체 race 실행의 공개 집계·비공개 정답도 일치했다. 합성 검증은 최종/미선택 ID 거부, 누락/중복, 스키마/해시/경계 크기, 크기 표시 모순, 공백 패치, 입력 보존 및 원문과 독립적인 경로 저장을 다룬다. 전체 race·vet·형식·redacted scan을 통과한 뒤 공개한다.

수집 프로세스가 별도로 실행 중이므로 이 단계의 시간을 단독 실행 성능으로 보고하지 않는다. 특히 Arrow가 큰 압축 블록을 읽는 메모리와 Go reader의 메모리는 다르다. 메모리 구조를 개선한 것이며 측정 없이 RSS 개선율을 주장하지 않는다.

다음은 완전한 수정 전 파일 목록과 정답 경로의 연결 검사다. 이번 결과만으로 37,114개 경로가 실제 후보 목록에 모두 있다고 판단할 수 없다. 정답 경로는 목표/사후 평가용이며 추론 특징에 넣지 않는다. 과거 라이선스·이슈 이용 조건·학습 승인은 미완료다. 이 자료만으로 난이도·작업 분할·모델 라우팅 또는 실제 LLM 비용 절감을 입증하지 않으며 새 모델/Hugging Face 배포도 없다.

Source / 원본 · PR #62

Clone this wiki locally