
포기하지 않았습니다 - extGemma4-40_5B 재실험 결과
요약
Gemma 모델에 새로운 레이어를 추가하여 파라미터 수를 확장하는 실험의 성공 과정을 다룹니다. 초기 실패 원인을 분석하고, 레이어 초기화 방식, 삽입 위치, 볼륨 설정 및 단계별 학습(healing)을 통해 모델을 성공적으로 확장한 경험을 공유합니다.
핵심 포인트
- 레이어를 패스쓰루가 아닌 기존 레이어의 가중치를 섞어 초기화하여 학습 효율 증대
- 모델의 신호 강도를 유지하기 위해 레이어별 볼륨 설정을 평균화하지 않고 중립 유지
- 새 레이어 우선 학습 후 전체 모델을 해제하는 2단계 치유(healing) 과정 적용
- 레이어 삽입 시 모델의 안정적인 구조를 고려한 위치 선정이 핵심
이전 게시물에서 이어집니다: https://www.reddit.com/r/LocalLLaMA/comments/1ul0cx9/i_extended_gemma431b_to_44b_88_layers_since/ 및 https://www.reddit.com/r/LocalLLaMA/comments/1um20ev/why_new_inserted_layers_kill_the_gemma4/ (경고: AI 생성 게시물 - 저의 영어 실력 때문에)
Hugging Face: https://huggingface.co/TOTORONG/extGemma4-40_5B
https://preview.redd.it/veg5nuao1rch1.png?width=2752&format=png&auto=webp&s=85492b121524aa14011f57d8d4fa5ace38c0270a
얼마 전, 저는 파인튜닝된 Gemma 모델에 추가 레이어를 쌓아 키우는 것(88개 레이어 실험)을 시도하는 것에 대해 이곳에 게시한 적이 있습니다. 그것은 실패했습니다. 새로운 레이어들은 마치 죽은 무게처럼 그저 거기에 놓여만 있었고 아무것도 유용한 것을 배우지 못했습니다. 댓글에서 많은 분들이 친절하게/궁금해하며 반응해주셨기에, 여기 후속 내용을 올립니다: 저는 포기하지 않았습니다. 돌아가서 왜 그것이 실패했는지 알아냈고 다시 시도했고 — 이번 실험은 실제로 성공했습니다. 미리 경고합니다: 이것은 논문이 아니라 만지작거리는 것을 좋아하는 사람들을 위한 기록입니다. 수학적 내용이나 파라미터 개수 관련 지식은 제외하고 비유에 의존할 것입니다. 자세한 내용을 원하시면 댓글에서 더 많이 공유할 용의가 있습니다.
왜 첫 번째 시도가 실패했는지 (간단 버전)
새로운 레이어를 삽입하는 표준적인 방법은 그것들을 처음에 아무것도 하지 않는 상태, 즉 패스쓰루(pass-through)로 초기화하는 것입니다. 아이디어는
이번에 제가 다르게 시도한 점은 다음과 같습니다. 신입 사원들에게 가만히 서 있으라고 말하는 대신, 양옆에 있는 두 동료가 이미 하고 있는 일들을 대략적으로 섞어서 가르친 뒤 교대 근무 중간에 투입했습니다. 이제 그들은 첫 1분부터 무언가를 수행하고 있습니다. 서툴긴 하지만 실제로 움직이고 있기 때문에, 즉시 피드백을 받으며 개선하기 시작합니다. 이 단 한 가지의 변화가 핵심입니다. 이미 움직이고 있는 작업자는 코칭을 할 수 있지만, 동상(statue)은 그럴 수 없습니다.
고통스러운 경험을 통해 배운 또 다른 두 가지 중요한 요소가 있습니다. 첫째, 삽입 위치가 중요합니다. 저는 (공정 라인의 "관리자 체크포인트"와 같은) 어색한 지점에 레이어(layer)를 억지로 끼워 넣는 것을 그만두고, 대신 차분하고 안정적인 위치에 슬라이드하듯 삽입했습니다. 배치(placement)는 생각보다 훨씬 까다로운 작업이었습니다.
둘째, 볼륨 노브(volume knobs)를 건드리지 마세요. 모델에는 최종 신호가 적절한 수준으로 출력되도록 개별적으로 조정된 여러 개의 레이어별 "볼륨" 설정이 있습니다. 저의 첫 번째 본능은 새로운 레이어들을 위해 이 값들을 평균화하는 것이었습니다. 하지만 그 결과 신호가 속삭임 수준으로 짓눌려 버렸고, 모델은 쓰레기(garbage) 같은 결과물을 내놓았습니다. 이 노브들을 중립 상태로 두니 문제가 해결되었습니다. (여기서 시간을 아주 많이 허비했습니다.)
그다음 두 차례의 "치유(healing)" 과정을 거쳤습니다. 1단계: 전체 원본 모델을 동결(freeze)하고, 작은 데이터셋(일부 STEM 추론 + 한국어 법률 Q&A)을 사용하여 새로운 레이어들만 학습하도록 했습니다. 이를 통해 새로운 레이어들이 자리를 잡을 수 있었습니다. 2단계: 모든 것을 동결 해제(unfreeze)하고 전체 모델이 함께 안착하도록 했습니다. 바로 이 단계에서 모델이 진정으로 하나로 합쳐졌습니다.
강조하고 싶은 점은, 목표가 결코 원본 모델을 이기는 것이 아니었다는 것입니다. 목표는 이미 미세 조정(fine-tuned)된 모델에 대해 대대적인 수술을 수행할 수 있다는 것—즉, 모델을 절개하고 용량(capacity)을 추가하더라도, 모델이 횡설수설하거나 기존에 알고 있던 모든 것을 잊어버리며 붕괴하는 대신 스스로 치유될 수 있다는 것을 증명하는 것이었습니다. 일반적인 통념은 이런 종류의 수술이 미세 조정된 모델을 망가뜨린다는 것입니다. 저는 그것이 실제로 사실인지 확인하고 싶었습니다.
(스포일러: 반드시 그렇지는 않습니다.) 제가 가장 중요하게 생각하는 증거는 다음과 같습니다: 나란히 비교한 답변들. 벤치마크 (Benchmarks) 결과도 괜찮습니다 (치료된 모델은 수술로 인해 잃었던 대부분의 지표를 회복했으며, GPQA-Diamond에서는 원본 모델에 근접한 성적을 거두었습니다). 하지만 숫자는 대충 얼버무리기 쉽습니다. 저를 확신시킨 것은 실제 답변을 읽어보는 것이었습니다. 그래서 저는 원본 모델과 확장 및 치료된 (expanded+healed) 모델에 물리, 생물, 역사, 철학, 문학, 수수께끼, 논리 퍼즐, 수학 증명, 경제학, 그리고 의학적 메커니즘 질문 등 10가지 서로 다른 분야에 걸친 동일한 10개의 질문을 던지고 이를 비교했습니다. 저는 의도적으로 일반적이지 않고 전문 용어가 많이 포함된 영역을 파고드는 프롬프트 (prompts)를 선택했는데, 왜냐하면 바로 그 지점이 손상된 모델이 무너지기 쉬운 영역이기 때문입니다. 저는 별도의 프론티어 모델 (frontier model)인 Claude를 심판으로 세웠습니다. 결과: 두 모델 모두 붕괴나 횡설수설, 혹은 무작위적인 외국어 스크립트 스팸 현상이 나타나지 않았습니다. (이것은 매우 중요한 부분입니다. 확장된 모델의 손상된 버전은 희귀한 기술 용어를 만날 때마다 문자 그대로 다른 문자 체계의 무작위 문자를 내뱉곤 했습니다. 이제 그런 현상은 완전히 사라졌습니다.) 10개 중 9개: 기본적으로 무승부였습니다. 두 모델 모두 정답을 맞혔습니다 — 수수께끼, 논리 퍼즐 (두 모델 모두 근거 없는 답변을 내놓는 대신 퍼즐의 조건이 불충분하다는 점을 정확히 포착했습니다), √2의 무리수 증명, 칸트 (Kant) 예시, 아스피린 메커니즘 등을 완벽히 수행했습니다. 10개 중 1개: 확장된 모델이 실제로 자신의 모체 모델을 이겼습니다. 이것이 가장 흥미로운 부분입니다. 수술이 빛을 발한 물리 질문. 프롬프트: "광자와 전자가 각각 동일한 드브로이 파장 (de Broglie wavelength)을 가집니다. 어느 쪽이 더 많은 에너지를 운반하며, 그 이유는 무엇입니까?" 이것은 전형적인 함정입니다. 파장이 같다는 것은 운동량 (momentum)이 같다는 것을 의미하므로, 두 대상을 동일하게 취급하고 싶은 유혹에 빠지기 쉽습니다. 하지만 광자와 전자는 완전히 다른 규칙을 통해 에너지를 얻습니다. 원본 모델은 이 함정에 빠졌습니다. 전자의 에너지를 단순한 방식으로 계산했고, 전자의 정지 질량 (rest mass, 전자가 존재하기만 해도 갖는 거대한 에너지 덩어리)을 고려하는 것을 잊었습니다. 그 결과 광자가 승리한다는 결론을 내렸습니다. 틀렸습니다.
확장 및 치유된 (expanded+healed) 모델은 이를 정확하게 처리했습니다. 즉, 거대 입자 (massive particle)에 대한 올바른 관계를 사용했고, 정지 질량 (rest mass)을 고려했으며, 전자가 더 많은 에너지를 운반한다는 결론을 내렸습니다. 맞습니다. 따라서 새로 추가된 용량은 단순한 장식이 아닙니다. 적어도 이 한 가지 문제에서, 모델은 기존 모델이 할 수 없었던 실제 추론 (reasoning)을 수행했습니다. 확장된 모델이 자신이 성장해 온 기반 모델보다 더 뛰어난 추론을 해낸 것입니다. 이 단 하나의 결과가 저로 하여금 이 모든 우회 과정이 가치 있었다고 느끼게 만들었습니다.
치유되는 과정, 현장에서 목격하다
제가 멋지다고 생각했던 한 가지가 더 있습니다. 제가 언급했던 그 "무작위 외국어 문자" 붕괴 현상 말입니다. 저는 그것이 2라운드(Round 2)에 걸쳐 실시간으로 치유되는 것을 지켜보았습니다:
- 치유 전: 희귀한 기술 용어를 만나면 → 반복적인 비라틴계 쓰레기 문자로 탈주함 → 회복하지 못함.
- 2라운드 약 13% 지점: 단어에서 한 번 비틀거리지만, 스스로를 바로잡고 문장을 깔끔하게 마무리함.
- 절반 지점 및 그 이후: 완전히 유창하며, 문제의 흔적이 전혀 없음.
단순히 "성능이 떨어진다"는 수준이 아니라, 구조적 결함이 훈련을 통해 실제로 스스로 복구되는 것을 지켜보는 것은 진심으로 만족스러운 경험이었습니다.
요약 (TL;DR)
저의 첫 번째 대규모 확장 시도는 새로운 레이어들이 죽은 상태의 no-op (no-operation)으로 시작되어 학습 신호 (learning signal)를 전혀 받지 못했기 때문에 실패했습니다 (이 실패에 대해서는 이전에 게시한 적이 있습니다). 이번에는 새로운 레이어들을 이웃 레이어들의 혼합 (blend) 형태로 초기화하여 시작부터 무언가 역할을 수행하도록 했고, 레이어의 배치 위치에 주의를 기울였으며, 모델의 내부 볼륨 설정 (internal volume settings)은 그대로 두었습니다.
작은 데이터셋을 통한 두 차례의 가벼운 치유 결과, 모델은 붕괴나 파괴적 망각 (catastrophic forgetting) 없이 기존 모델에 가깝게 회복되었습니다. 10개의 도메인 중 9개에서 기존 모델과 일치했으며, 기존 모델이 틀렸던 물리 질문에서는 기존 모델을 능가했습니다. "미세 조정된 (fine-tuned) 모델에 레이어를 추가하면 모델이 망가질 것이다"라는 과거의 공포는 이번에 통하지 않았습니다. 제가 베이스 모델보다 더 나은 것을 만들었다고 주장하는 것은 아닙니다. 애초에 그것이 목적도 아니었습니다. 핵심은 이것입니다: 미세 조정된 모델을 망가뜨리지 않고도 그 모델에 작업을 수행할 수 있다는 것입니다.
여전히 이 연구 방향을 결코 포기하지 않을 것입니다. 댓글로 질문해 주시면 기쁘게 답변하겠습니다.
다음은 원본(Solon_V5 vs extGemma4-40_5B) 영어 추론 비교 결과입니다 — 원본 모델 vs. 확장 모델. 10개 도메인, 각 도메인당 하나의 프롬프트, Greedy Decoding (탐욕적 디코딩), 최대 768개의 새로운 토큰. 출력값은 외부 LLM (Claude)에 의해 평가되었습니다. [EOT]는 Turn-end (턴 종료) 토큰을 나타냅니다. solon_v5 — 원본 Fine-tuned (미세 조정된) Gemma 4 31B-IT 베이스라인 (60개 레이어). extGemma4 (Phase 2) — Depth-expanded (깊이 확장) + Healed (치유된) 모델 (77개 레이어).
| 요약 | Collapse (붕괴) | Cross-script contamination (교차 스크립트 오염) | Clean termination (깔끔한 종료) |
| :--- | :--- | :--- |
| solon_v5 | 0/10 | 0/10 | |
| extGemma4 (Phase 2) | 0/10 | 0/10 | |
판결: 두 모델 모두에서 Collapse (붕괴) 또는 Cross-script contamination (교차 스크립트 오염)이 발견되지 않았습니다. 두 모델은 9개 도메인에서 대등한 성능을 보였으며, 물리학 항목에서는 확장 모델이 자신의 부모 모델보다 더 뛰어난 추론 능력을 보여주었습니다. 초기화 단계에서 관찰되었던 구조적 생성 결함(희귀한 기술적 경로에서의 Script collapse)은 여기 어디에서도 나타나지 않았습니다.
- 물리학 프롬프트: 광자(Photon)와 전자(Electron)는 각각 1.0 nm의 드브로이 파장(de Broglie wavelength)을 가집니다. 관련 관계식을 참조하여 어느 쪽이 더 많은 에너지를 운반하는지, 그리고 그 이유는 무엇인지 설명하십시오. 추론 과정을 보여주세요.
판결: 확장 모델 승리. solon_v5는 전자의 정지 질량 에너지(Rest-mass energy, 511 keV)를 누락하고 광자가 더 많은 에너지를 가진다고 결론지었습니다 — 이는 오답입니다. 확장 모델은 상대론적 에너지-운동량 관계식(Relativistic energy–momentum relation)을 적용하여 전자가 더 많은 에너지를 운반한다는 결론을 올바르게 도출했습니다.
어느 입자가 더 많은 에너지를 운반하는지 결정하기 위해, 광자와 전자의 에너지-파장 관계를 조사합니다. 광자의 경우, E = hc/lambda 이며, 1.0 nm에서 약 1242 eV가 됩니다. 전자의 경우, E = h^2/(2 m lambda^2) (비상대론적 운동 에너지)를 사용하면 약 1.5 eV를 얻습니다. 따라서 광자가 현저히 더 많은 에너지를 운반합니다. [참고: solon_v5는 전자의 정지 질량 에너지인 511 keV를 누락했습니다; 출력은 길이 제한으로 인해 잘렸습니다.] 두 입자는 동일한 드브로이 파장을 공유하므로, 동일한 운동량 p=h/lambda를 가집니다. 광자: E=pc=hc/lambda 약 1.24 keV.
전자: E=sqrt((pc)^2+(m c^2)^2); pc=1.24 keV는 정지 에너지 (rest energy) 511 keV보다 훨씬 작으므로, 전자의 총 에너지는 정지 질량 (rest mass)에 의해 지배됩니다. 따라서 전자는 광자에게 결여된 정지 질량 에너지를 총 에너지에 포함하고 있기 때문에 더 많은 에너지를 운반합니다. [EOT] 2. 생물학 프롬프트 (Biology Prompt): 세 문장으로 CRISPR-Cas9이 어떻게 표적 유전자 편집 (targeted gene editing)을 수행하는지 설명하세요. 판정: 무승부 (Tie). 두 답변 모두 가이드 RNA (guide-RNA)의 표적화, Cas9 절단 (cleavage), 그리고 복구 기반 편집 (repair-based editing)에 대해 정확한 세 문장 설명을 제공합니다. CRISPR-Cas9은 특정 표적 DNA 서열과 일치하도록 설계된 가이드 RNA를 사용합니다. 가이드 RNA가 표적을 찾아내면, Cas9 효소가 정밀한 이중 가닥 절단 (double-strand break)을 일으킵니다. 세포는 자체적인 기제를 사용하여 이 절단을 복구하며, 이를 통해 과학자들은 유전자를 비활성화하거나 새로운 유전 물질을 삽입할 수 있습니다. [EOT] CRISPR-Cas9은 특정 표적 DNA 서열과 일치하도록 설계된 가이드 RNA를 사용합니다. 가이드 RNA는 Cas9을 해당 위치로 안내하며, 그곳에서 정밀한 이중 가닥 절단을 일으킵니다. 세포는 자연적인 메커니즘을 통해 절단을 복구하며, 이는 유전자를 비활성화하거나 새로운 유전 물질을 삽입하는 데 활용될 수 있습니다. [EOT] 3. 역사 프롬프트 (History Prompt): 짧은 단락으로 베스트팔렌 조약 (Treaty of Westphalia, 1648)이 왜 현대적 국가 주권 (state sovereignty) 개념의 기원으로 간주되는지 설명하세요. 판정: 무승부 (Tie). 두 답변 모두 주권을 '지역에 따른 종교 결정 (cuius regio, eius religio)'과 초국가적 권위의 종말로 올바르게 귀속시켰습니다; 확장된 모델의 문구가 약간 더 정밀합니다. 베스트팔렌 조약은 유럽의 질서를 신성 로마 제국 (Holy Roman Empire)과 가톨릭 교회가 지배하는 계층 구조에서 독립적이고 평등한 국가들의 체제로 전환시켰습니다. '지역에 따른 종교 결정 (cuius regio, eius religio)'을 성문화함으로써, 외부의 간섭 없이 각 국가의 내부 사무에 대한 독점적 권위를 인정하였고, 영토 보전 (territorial integrity)과 불간섭 (non-intervention)을 베스트팔렌 체제의 핵심으로 확립했습니다. [EOT] 베스트팔렌 조약은 '지역에 따른 종교 결정 (cuius regio, eius religio)'을 인정하여, 신성 로마 제국의 보편적 권위 주장을 종식시켰습니다.
국내 문제에 대한 외부의 간섭을 금지함으로써, 정당성의 근거를 초국가적인 종교 질서에서 독립적이고 영토로 정의된 국가로 전환시켰으며, 이는 현대 주권 민족 국가 질서의 근간이 되는 법적 평등과 불간섭이라는 베스트팔렌 규범 (Westphalian norms)을 창출했습니다. [EOT] 4. 철학 프롬프트 (Philosophy Prompt): 칸트의 정언 명령 (categorical imperative)에 대해 간략히 설명하고, 이를 적용하는 일상적인 예시를 하나 드시오. 판결: 무승부 (Tie). 양측 모두 가언 명령 (hypothetical imperatives)과 정언 명령을 구분하였고, 유효한 보편화 가능성 (universalizability) 예시(거짓말하기 vs. 주운 지갑 돌려주기)를 제시했습니다. 칸트의 정언 명령 (Kant's Categorical Imperative)은 조건부적인 가언 명령 (hypothetical imperatives)과 달리, 개인이 보편적 법칙으로서 의도할 수 있는 준칙 (maxims)에 따라 행동할 것을 명령합니다. 예시: 문제를 피하기 위해 거짓말을 하는 행위는 보편화될 경우 신뢰를 파괴하고 거짓말을 자기모순적으로 만들기 때문에 항상 잘못된 것입니다. [EOT] 칸트의 정언 명령 (Kant's Categorical Imperative)은 무조건적인 도덕 규칙입니다: 조건부적인 가언 명령 (hypothetical imperatives)과 달리, 당신이 보편적 법칙으로서 의도할 수 있는 준칙 (maxims)에 따라서만 행동하십시오. 예시: 주운 지갑을 갖는 행위는 보편화될 경우 소유권 개념을 붕괴시키므로 비도덕적입니다; 따라서 당신은 상관없이 그것을 돌려주어야 합니
AI 자동 생성 콘텐츠
본 콘텐츠는 r/OpenAI Codex (search)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기