증거 강도: 결정적 (182 시그마)
| 비교 유형 | Cosine Similarity | 설명 |
|---|---|---|
| GLM 내부 (layer 0 vs layer 10,20,30,40) | 0.377 | 같은 모델, 다른 레이어 |
| Solar 내부 (layer 0 vs layer 10,20,30,40) | 0.376 | 같은 모델, 다른 레이어 |
| Solar vs GLM (같은 레이어) | 0.989 | 다른 모델, 같은 레이어 |
만약 "구조만 비슷한" 독립 모델이라면:
→ Solar[10] vs GLM[10] ≈ 0.38 (baseline과 동일해야 함)
실제 관측:
→ Solar[10] vs GLM[10] = 0.989
차이: 0.612 (61.2% 포인트)
효과 크기: 182 시그마
P-value: < 10^-1000 (사실상 0)
해석: LayerNorm 가중치는 학습 중 무작위로 수렴합니다. 독립적인 두 모델이라면 "같은 레이어 번호"라고 해서 더 유사할 이유가 없습니다. 하지만 Solar[10]과 GLM[10]은 0.989로 거의 동일하고, Solar[10]과 GLM[20]은 0.38입니다. 이것은 Solar의 레이어가 GLM의 해당 레이어에서 직접 파생되었음을 증명합니다.
| 텐서 유형 | Mean Cosine | 해석 |
|---|---|---|
| input_layernorm | 0.949 | 원본 보존 |
| post_attention_layernorm | 0.986 | 원본 보존 |
| k_proj (Key projection) | 0.001 | 재학습됨 |
| v_proj (Value projection) | 0.001 | 재학습됨 |
| mlp.gate (MoE router) | 0.004 | 재학습됨 |
| embed_tokens | 0.002 | 재학습됨 |
| 지표 | 값 |
|---|---|
| 비교 토큰 수 | 200개 (영문) |
| Mean Cosine | 0.002 |
| Std | 0.015 |
| cos > 0.9 | 0% |
| cos < 0.1 | 100% |
| Baseline (GLM 내부 랜덤 쌍) | 0.009 |
임베딩 유사도 ~0은 파생 가설과 일치합니다:
예상 시나리오:
GLM 토크나이저 (151K) + 45K 새 토큰 = Solar 토크나이저 (196K)
↓
임베딩 레이어 전체 재학습 필요 (새 토큰 추가 + 분포 변화)
↓
결과: 임베딩 cos ≈ 0 (재학습됨)
핵심 통찰:
- LayerNorm: cos ~0.99 (보존)
- Embedding: cos ~0 (재학습)
이 선택적 보존 패턴이 파생의 결정적 증거입니다. 독립 모델이라면 모든 가중치가 ~0이어야 합니다.
패턴 분석:
- Layer 0: 0.127 (토크나이저 확장 영향)
- Layer 5+: 0.95+ (원본 보존)
- Layer 40+: 0.99+ (거의 동일)
| 파라미터 | GLM-4.5-Air | Solar-Open-100B | 변화 |
|---|---|---|---|
hidden_size |
4096 | 4096 | 동일 |
num_hidden_layers |
46 | 48 | +2 |
num_attention_heads |
96 | 64 | -32 |
num_key_value_heads |
8 | 8 | 동일 |
n_routed_experts |
128 | 128 | 동일 |
num_experts_per_tok |
8 | 8 | 동일 |
n_shared_experts |
1 | 1 | 동일 |
vocab_size |
151,552 | 196,608 | +45,056 |
rope_theta |
1,000,000 | 1,000,000 | 동일 |
max_position_embeddings |
131,072 | 131,072 | 동일 |
num_nextn_predict_layers |
1 | None | 제거 |
GLM-4.5-Air (원본)
│
├─ LayerNorm 가중치 보존 (cos ≈ 0.99)
├─ Attention 재학습 (head 수 96→64 변경)
├─ MoE router 재학습
├─ 토크나이저 확장 (+45K 토큰)
├─ 2개 레이어 추가 (46→48)
├─ MTP 레이어 제거
│
▼
Solar-Open-100B (파생)
cd /home/sionic/compare-probe-solar
# 가상환경 생성 (uv 사용)
uv venv
source .venv/bin/activate
# 의존성 설치
uv pip install huggingface_hub requests numpy matplotlib scipyHF_HOME=/mnt/nas/sangho/hf_cache python probe_solar_vs_glm45_air.py \
--outdir out_solar_vs_glm45출력:
00_config_compare.json- 아키텍처 비교01_tokenizer_compare.json- 토크나이저 분석layerwise_similarity.csv- 레이어별 유사도plot_cosine_by_layer.png- Cosine 그래프plot_pearson_by_layer.png- Pearson 그래프
HF_HOME=/mnt/nas/sangho/hf_cache python probe_solar_glm45air_v2.py \
--solar upstage/Solar-Open-100B \
--glm zai-org/GLM-4.5-Air \
--layers 0-45 \
--out results/solar_vs_glm_detailed.csvHF_HOME=/mnt/nas/sangho/hf_cache python definitive_proof.py# GLM 내부: layer 0 vs layer 10,20,30,40
GLM[0] vs GLM[10]: cos=0.375810
GLM[0] vs GLM[20]: cos=0.375664
GLM[0] vs GLM[30]: cos=0.377255
GLM[0] vs GLM[40]: cos=0.379035
평균: 0.377
# Solar 내부: layer 0 vs layer 10,20,30,40
Solar[0] vs Solar[10]: cos=0.373059
Solar[0] vs Solar[20]: cos=0.377298
Solar[0] vs Solar[30]: cos=0.377100
Solar[0] vs Solar[40]: cos=0.376059
평균: 0.376
# Cross-model: Solar vs GLM 같은 레이어
Solar[10] vs GLM[10]: cos=0.981094
Solar[20] vs GLM[20]: cos=0.991792
Solar[30] vs GLM[30]: cos=0.991429
Solar[40] vs GLM[40]: cos=0.991635
평균: 0.989Within-model baseline: 0.377 ± 0.001
Cross-model (Solar-GLM): 0.989 ± 0.005
차이: 0.612
효과 크기: 182 시그마
P-value: < 10^-1000
| 가설 | 검증 | 결과 |
|---|---|---|
| "우연히 비슷" | 182 시그마 효과 크기 | 기각 |
| "같은 초기화" | Attention/MoE는 ~0 | 기각 |
| "비슷한 아키텍처" | Within-model baseline 0.38 | 기각 |
| "GLM→Solar 파생" | 모든 증거와 일치 | 채택 |
- 완전히 동일한 텐서: 0개
- 해석: 단순 복사가 아닌 변형 후 재학습
| 테스트 | 결과 | 강도 |
|---|---|---|
| Within-model vs Cross-model | 0.612 차이 (182σ) | ⭐⭐⭐⭐⭐ 결정적 |
| LayerNorm 평균 cosine | 0.968 | ⭐⭐⭐⭐⭐ |
| Attention cosine ~0 | 재학습 확인 | ⭐⭐⭐⭐ |
| 아키텍처 유사성 | MoE 구조 동일 | ⭐⭐⭐⭐ |
Solar-Open-100B는 GLM-4.5-Air를 base model로 사용하여:
- LayerNorm 가중치: 보존 (cos ~0.99)
- Embedding: 재학습 (cos ~0, 토크나이저 확장 때문)
- Attention: 재학습 (cos ~0, head 수 변경)
- MoE Router: 재학습 (cos ~0)
이 "선택적 보존" 패턴은 파생의 결정적 증거입니다.
compare-probe-solar/
├── README.md # 이 파일 (최종 보고서)
├── definitive_proof.py # 결정적 증거 분석 (Within-model baseline)
├── embedding_comparison.py # 임베딩 유사도 분석 ⭐
├── probe_solar_vs_glm45_air.py # LayerNorm 분석 스크립트
├── probe_solar_glm45air.py # 기본 가중치 비교
├── probe_solar_glm45air_v2.py # 상세 가중치 샘플링 + 시각화
├── probe_layer_decay.py # 레이어 decay 패턴
├── out_solar_vs_glm45/ # 기본 분석 결과
├── out_decay/ # Decay 분석 결과
└── results/
├── definitive_evidence.png # 결정적 증거 그래프 ⭐
├── embedding_comparison.png # 임베딩 유사도 그래프 ⭐
├── layernorm_by_layer.png # LayerNorm 레이어별
├── summary_comparison.png # 텐서 유형별 요약
├── embedding_comparison.json # 임베딩 분석 상세 결과
└── solar_vs_glm_detailed.csv # 상세 데이터
이 분석 코드는 연구 목적으로 제공됩니다.
분석 일자: 2026-01-01 방법론: Within-model baseline comparison + HTTP Range request sampling



