ExtGemma4-44B는 1차 레이어 확장 모델인 TOTORONG/extGemma4-41B(80레이어, 한국어 법률·STEM 도메인 파인튜닝 완료본)를 기반으로, 블록 복제(Block Duplication) 확장을 추가 적용하여 80층에서 88층으로 늘린 대규모 언어 모델입니다.
1차 확장이 원본 60층 모델에 신규 레이어를 삽입하는 방식이었다면, 본 모델은 이미 도메인 학습이 끝난 80레이어 모델의 특정 블록을 통째로 복제해 삽입하는 2차 확장 실험으로, 학습된 표현력을 보존하면서 추론 역량(reasoning capacity) 자체를 확장하는 것을 목표로 합니다.
개발자: Nextnine (경복대학교 창업보육센터 소속)
베이스 모델: TOTORONG/extGemma4-41B (80레이어, google/gemma-4-31B-it 계열)
ExtGemma4-44B is a large language model built on top of the first-stage layer-expanded model TOTORONG/extGemma4-41B (80 layers, already fine-tuned on Korean legal and STEM domains), to which a Block Duplication expansion was further applied, growing the model from 80 to 88 layers.
While the first-stage expansion inserted new layers into the original 60-layer model, this model represents a second-stage experiment in which an entire block of an already domain-fine-tuned 80-layer model is duplicated and inserted. The goal is to expand the model's reasoning capacity itself while preserving the representational power already learned during fine-tuning.
Developer: Nextnine (Kyungbok University Startup Incubator)
Base model: TOTORONG/extGemma4-41B (80 layers, derived from the google/gemma-4-31B-it lineage)
Model size: ~47B parameters after the 2nd-stage expansion (measured: 46,935,145,520)
License: Follows the license terms of the base model and the datasets used (non-commercial research use recommended)
2. Intended Use
Primary Use Cases
Korean legal document understanding and reasoning: QA, document summarization, and case-law analysis in domains such as civil law
Advanced STEM reasoning: Solving and explaining problems in math, science, and engineering, and handling high-difficulty benchmarks such as GPQA-Diamond
Layer-expansion methodology research: Investigating how block-duplication expansion applied to an already fine-tuned model affects reasoning ability
Limitations
This model is intended for research and evaluation purposes only and must not be used for actual legal advice or high-stakes domains such as medicine or finance.
Compared to the first-stage 80-layer expansion, the additional layers further increase inference latency and memory usage.
The duplicated Full Attention layer (L55) may converge (activate) more slowly during training than the Sliding layers, so its contribution may be relatively low in early deployment versions.
Performance in languages other than Korean is not guaranteed.
Block 5 (B5, layers 40–47) of the 80-layer model that had already completed domain fine-tuning (gemma4_80_bench_merged) was duplicated in its entirety and inserted between B5 and B6, expanding the model to a total of 88 layers.
Full Attention position within the inserted block: L55 (last layer of the block — the first Full-Attention layer ever subjected to zero-init)
All Full Attention positions (11 total): [7, 15, 23, 31, 39, 47, 55, 63, 71, 79, 87]
Sliding window size: 1024 (unchanged)
Mapping logic: every layer after the insertion point (48) is mapped to its original index via the single formula src_idx = new_idx - 8, which simultaneously resolves both the duplicated block and the shifted subsequent blocks.
The three-factor identity-initialization rule established during the first-stage expansion was applied unchanged. In this expansion, however, a Full Attention layer was included in zero-init for the first time.
Zero-initialization:
self_attn.o_proj.weight → 0
mlp.down_proj.weight → 0
Gemma4-specific correction:
The layer_scalar parameter of inserted layers is set to 1.0 (default 0.0654).
Because Gemma4's forward pass ends with hidden_states *= layer_scalar, any value other than 1 distorts the residual pathway.
L55 (Full) peculiarity:
Full Attention lacks a v_proj (shared-KV structure), but it retains o_proj, down_proj, and layer_scalar, so it can be made identity-preserving using the same three-factor rule as the Sliding layers.
Verification: immediately after expansion, the logit difference from the 80-layer model was 0.000e+00, confirming that all 8 inserted layers (including the Full layer) implement an exact identity function.
3.3 Key Configuration Changes
text_config.num_hidden_layers: 80 → 88
text_config.layer_types: an 88-element array (including 11 Full-attention layers)
model.safetensors.index.json: numeric sort applied (preserves block ordering during GGUF conversion, reusing the fix for the lexicographic-sort bug discovered in the first-stage expansion)
3.4 Comparison of Expansion Methods
Method
Layers
Inserted
Base
Full-attn ratio
Notes
Option B (1st stage)
80
20
Original 60L
12.5%
New layers inserted into the original model
Block Duplication B5 (2nd stage)
88
8
Fine-tuned 80L
12.5%
Block duplicated on top of already fine-tuned representations
All methods share the same three-factor initialization rule (o_proj=0, down_proj=0, layer_scalar=1.0).
4. Training
4.1 Training Setup
Method: QLoRA (rank=192), DDP distributed training
Trainable parameters: 2,196,153,344 / 46,935,145,520 (4.6791% of total)
4.2 Verification of Inserted-Layer Training
Whether the duplicated Full Attention layer (L55) trained at a comparable rate to the other 7 Sliding layers (L48–L54) was cross-verified using three methods:
Comparison of LoRA adapter B-matrix norms
Deviation of merged weights from zero
Residual contribution measured via forward-pass hooks
Overall Verdict
Metric
full (L55) vs. average of inserted sliding layers
Verdict
[A] LoRA adapter magnitude
o_proj 112.6%, down_proj 101.0%
Full layer trained at least as much
[B] Actual merged weights
Falls naturally within the sliding-layer range
Settled in the normal range (2–3×10⁻⁴)
[C] Real forward-pass contribution
9.97% vs. 7.71% (1.29×)
Full layer contributes even more actively
All three metrics consistently indicate a successful merge.
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
34model_name ="Nextnine/ExtGemma4-44B"5tokenizer = AutoTokenizer.from_pretrained(model_name)6model = AutoModelForCausalLM.from_pretrained(7 model_name,8 torch_dtype=torch.bfloat16,9 device_map="auto"10)1112inputs = tokenizer("What is Article 1 of the Korean Civil Act?", return_tensors="pt")13outputs = model.generate(**inputs, max_new_tokens=512, temperature=1.0, top_p=0.95, top_k=64)14print(tokenizer.decode(outputs[0]))
7.3 llama.cpp (GGUF) Example
./llama-cli -m ExtGemma4-44B.gguf -p "Explain the requirements for the formation of a contract under civil law." -n 512 --temp 1.0 --top-p 0.95 --top-k 64
8. License & Restrictions
This model is recommended for academic research and non-commercial purposes only.
The licenses of the model and datasets follow the terms of their respective original rights holders and distributors.
Base model: google/gemma-4-31B-it (Google Gemma License)
Datasets: comply with the license stated on each dataset's page (where unspecified, usage is restricted to research/non-commercial purposes out of respect for the original authors' intent)
This model must not be used for actual legal advice, medical diagnosis, financial decisions, or similar purposes.
9. Citation
bibtex
1@misc{nextnine_extgemma4_44b_2026,
2 author = {Nextnine (Kyungbok University Startup Incubator)},
3 title = {ExtGemma4-44B: Block-Duplication Layer-Expanded Gemma4 for Korean Legal and STEM Reasoning},
4 year = {2026},
5 publisher = {Hugging Face},
6 url = {https://huggingface.co/Nextnine/ExtGemma4-44B}
7}
10. Contact
Developer: Nextnine (Kyungbok University Startup Incubator)