오픈 가중치 모델에 프리트레이닝 중력 테스트를 적용해봤습니다. 결과는 예상대로였습니다.
요약
본 글은 오픈 가중치 모델을 대상으로 '프리트레이닝 중력 테스트'를 적용한 실험 결과를 공유합니다. 이 테스트는 모델이 컨텍스트에 없는 표준 유닉스 구조(카나리아)를 환각하는 경향성('중력')을 측정하며, 조건 A와 B의 성능을 분석했습니다. 결과적으로, 순수 산문만으로는 예측 실패가 높았고, 표준 바이트코드를 먼저 로드해도 근본적인 해결책은 아니며, 모델이 읽었다고 주장하는 것 자체를 신뢰해서는 안 된다는 결론을 내립니다.
핵심 포인트
- 오픈 가중치 모델의 '프리트레이닝 중력' 테스트 결과를 공개함.
- 순수 산문(조건 A)만으로는 표준 유닉스 구조 환각이 발생하지 않음.
- 표준 바이트코드 로드(조건 B) 시 실패율은 감소하나 근본적 해결책은 아님.
- 모델의 출력 내용을 맹신하지 말고, '수령증'과 같은 검증 메커니즘이 필수적임.
화요일, Part 3.8 스레드에서 저는 공적으로 하나의 실험을 사전 등록했습니다: Reconciliation layer를 증인으로 삼아 Randal의 gate-attack 카탈로그를 open weights 모델에 재현하는 것입니다. 이는 'Unix라서 작동하는 것'과 '최첨단 기술이라서 작동하는 것'을 분리하기 위함이었습니다. 사전 등록 내용은 해당 스레드의 댓글이며, Humam Moin의 질문이 이를 제안했습니다. 어제 실행이 완료되었고 결과는 커밋되었으며, 이 게시물이 그 결과를 읽어내는 글입니다. 먼저 수령증을, 나중에 형용사를 말하겠습니다.
시스템 (The rig)
모델별로 하나의 오케스트레이터 레이스를 재현합니다. 심사위원은 diff에 대한 리뷰를 생성하도록 요청받고, 삽입된 카나리아는 '4. Blast Radius'라는 특정 번호가 매겨진 섹션 제목인데, 어떤 정직한 패스도 임의로 만들어낼 수 없는 것입니다. 조건 A는 모델에게 순수하게 산문만 제공합니다: 시스템 프롬프트는 이전 지식(priors)에서만 올 수 있습니다. 조건 B는 먼저 표준 출처를 컨텍스트에 로드합니다 — waitpid() 원칙입니다: 판단을 내리기 전에 봉인된 사양(sealed spec)을 읽으라는 것입니다. 심사위원은 제 의견이 아닙니다: 이는 NoireBox가 출시한 증인 레이어, 즉 seal_spec + reconcile_spec이며, 제품이 실행되는 것과 동일한 도구입니다. 삽입된 카나리아 없이 생성된 프롬프트는 spec_not_canonical 오류를 발생시킵니다. 이 도구가 곧 제품이며, 벤치마크가 도구에서 벗어날 수 없습니다.
표 — 커밋된 내용대로
측정된 표는 레포지토리에 있습니다 그리고 이 글은 기억에서 재진술하기보다는 이를 인용합니다. 세 가지 로컬 open weights 모델, 트라이얼별 시드, 모든 셀의 분모:
| Model | A prose: trips/n | B primitive: trips/n | strict canonical |
|---|---|---|---|
| qwen2.5-coder:3b | 18/18 (100%) | 15/20 (75%) | 0 |
| ... |
조건 A는 천장이며, 예측의 전반부는 견고하게 유지된다. 어떤 모델도 사전 지식(priors)만으로 "4. 폭발 반경(Blast Radius)"을 추측해낸 적이 없다. 모든 경우에서 100% 실패했다. 최전선에서는 Randal의 매트릭스가 모델들이 컨텍스트에 없는(without it in context) 표준 유닉스 구조를 환각하는 것을 보여준다. 이 끌림이 중력이다. 이러한 오픈 가중치(open weights)에서는 그 끌림이 부재하다. 기대는 발을 디딜 학습된 관습의 바닥 자체가 없기 때문에, 카나리아조차 흥미로운 방식으로 틀릴 수 없다.
조건 B가 예측보다 더 흥미로워지는 지점이다. 표준 바이트코드(canonical bytecode)를 먼저 로드했을 때, 실패율은 75~79%로 떨어지지만, 레벨 1(컨텍스트 내의 고질량 원시 요소, high-mass primitive in context)이 환각을 줄여줄 뿐 근본적으로 해결하지는 못한다. 다섯 모델 중 하나는 여전히 주어진 소스 자체를 패러프레이징한다. 이것이 바로 레벨 2에 대한 측정된 주장이다: 호스트(host)는 봉인된 저장소(sealed store)에서 사양(spec)을 로드하고, 실제로 로드된 것과 수령증(receipt)을 대조하여 등급을 매겨야 한다. 모델이 읽었다고 재진술하는 것을 결코 신뢰해서는 안 된다.
엄격한 표준 준수(Strict canonical)는 모든 조건에서 0이다. 그리고 이것이 바로 수령증에 spec_hash가 포함되어야 하는 이유다. 어떤 모델도 어떤 조건에서도 정확한 바이트를 재현해낸 적이 없다. 심지어 목격자(witness)가 표준이라고 받아들인 출력물조차 느슨했다. 만약 감사(audit)가 모델이 읽었다고 주장하는 것에 묶여 있다면, 당신은 패러프레이즈에 묶이는 것이다. 실제로 로드된 것의 해시값에 묶여라.
그리고 llama-guard3:1b는 스스로를 점검하는 도구다. 이것은 코드 판정기(code judge)가 아니라 안전성 분류기(safety classifier)이다. 따라서 역할을 수행할 수 없으며, 두 조건 모두에서 20/20으로 실패했다. 분류기가 검토자(reviewer)로 통과하도록 허용한 목격자는 가치가 없는 목격자일 것이다. 이 도구는 모든 시도에서 총체적인 역할 비준수(total role non-compliance)를 포착해냈다.

더 이상한 부분
숫자들이 적어낸 예측 불가능한 한 줄이 여기 있습니다. 최전선(frontier)에서 던진 질문은 '컨텍스트 내의 원시적 요소가 출력을 표준적인 방향으로 끌어당기는가?'였고, 중력(gravity)은 '그렇다, 강하게'라고 답했습니다 (Randal의 매트릭스에서 61.4% → 96.2%). 하지만 오픈 가중치 모델에서는 질문 자체가 무의미해집니다: 모델들이 최전선 모델이 작동하는 영역에 도달조차 하지 못했기 때문입니다. 그들은 더 나쁜 개요나 부분적인 것을 만들어내는 것이 아니라 — 완전히 다른 것을 만들어내며, 카나리(canary)는 그것을 어쨌든 포착합니다. 예측은 '더 심하게 비틀어진다(Trips harder)'였지만, 데이터는 '모든 조건에서 천장까지 비틀어지게 한다(trips at ceiling, everywhere, in both conditions)'입니다. 중력은 분포의 오픈 끝단에서도 약해지지 않았습니다. 애초에 그곳에 존재하지 않았던 것이며 — 사전에 등록된 측정 도구는 그 차이를 감별할 수 있었는데, 왜냐하면 그것은 '느낌(vibes)'이 아니라 바이트를 등급 매기기 때문입니다.
크레딧 (Credits)
- Randal L. Schwartz — 예측, 카나리 코퍼스, SCAR-114 자체, 그리고 이 포스트가 따르는 SCAR-BENCH 주장 형식(Part 3.8).
- howcani — 스키마의 틈을 메우고
judged_by를 필수 항목으로 지정한 감사 스레드 (receipt v0.2.2) 및 (v0.2.3). 이 시험들을 등급 매기는 증인 계층(witness layer)이 바로 그 영수증 스키마입니다. - Humam Moin — 실행을 촉발한 오픈 가중치 질문.
공개 고지 (Disclosures, verbatim)
단일 머신, 로컬 Ollama, 온도 0.7, 시험별 시드(42+i, 시험별 기록), bench/scar114_canary.py의 프롬프트 사용, 분모를 표시한 4개의 시간 초과 제외. 최전선 테스트는 오픈 상태입니다 — 동일한 하네스, 하나의 API 키.
재현 (Reproduce)
git clone https://github.com/noirebox/noirebox && cd noirebox
make scar-bench # 실행, 증인, 표
결과 파일에는 시드가 포함된 모든 시험이 담겨 있습니다. 증인은 벤치마크를 위해 만들어진 하네스가 아니라 배포된 제품이며 — 당신이 사용하는 것과 동일한 코드로 우리를 등급 매기십시오.
두 가지 정직한 한계 (Two honest limits)
이 모델들은 작고 로컬하며, 프론티어 테스트는 실행되지 않았습니다. 0.5B에서 3B 파라미터 규모의 단일 기기 구동은 배포 범위 중 가장 저렴한 끝단이며, 이는 노트북과 하루 정도의 시간만 있으면 누구나 재현할 수 있기 때문에 선택되었습니다. 프론티어가 어떤 기울기를 보여주든, 이 표는 그것을 측정하지 않습니다 — 동일한 하네스, 하나의 API 키로 차분(differential)이 완성됩니다.
그리고 llama-guard3는 실패한 팔이 아니라 증인 확인입니다. 20/20의 트립은 모델이 실패하는 것처럼 보이지만; 이는 분류기(classifier)가 분류기 역할을 성공적으로 수행했음을 의미합니다 — 총체적인 역할 비준수(total role non-compliance)를 포착한 것입니다. 이를 평균에 포함하면 트립률을 부풀리게 됩니다. 이 표에 있는 이유는 불가능한 판정을 플래그할 수 없는 증인은 장식품이기 때문입니다.
당신의 차례
사전 등록은 공개되었고, 실행은 커밋되었으며, 프론티어 테스트는 하나의 API 키 너비만큼 넓습니다. 만약 저희가 수행하지 않은 모델 — 오픈이든 프론티어든 — 에 대해 이 하네스를 실행한다면, SCAR-BENCH 형식으로 표를 가져와 등록소에 추가하십시오. 차분은 점수가 이동할 때만 정직하게 유지됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기