gemma4-e2b-mud / README.md
sangwon1472's picture
Add dataset guide and model card links
b7b9673
---
license: apache-2.0
language:
- ko
library_name: transformers
pipeline_tag: text-generation
base_model:
- google/gemma-4-E2B-it
tags:
- gemma
- gemma4
- korean
- roleplay
- mud
- lore
- gguf
- llama.cpp
- lmstudio
- transformers
---
# gemma4-e2b-mud
`gemma4-e2b-mud` λŠ” **Gemma 4 E2B 계열을 기반으둜 ν•œ ν•œκ΅­μ–΄ μš°μ£Όν•­ν–‰ ν…μŠ€νŠΈ MUD μŠ€νƒ€μΌ λͺ¨λΈ**이닀.
짧은 λͺ…λ Ή λ°˜μ‘, NPC λŒ€μ‚¬, λ°© λΆ„μœ„κΈ° λ¬˜μ‚¬, μ „μŠΉ μ„€λͺ…, ν•­λ‘œ 힌트 같은 **κ²Œμž„ μ„œμ‚¬ λ ˆμ΄μ–΄**λ₯Ό 닀루기 μ’‹κ²Œ μ •λ¦¬ν•œ μ²΄ν¬ν¬μΈνŠΈμ™€, 이λ₯Ό μž¬ν˜„ν•˜κ±°λ‚˜ ν™•μž₯ν•  수 μžˆλŠ” **Colab μŠ€νƒ€ν„° νŒ¨ν‚€μ§€**, 그리고 **LM Studio용 GGUF**λ₯Ό ν•¨κ»˜ μ œκ³΅ν•œλ‹€.
이 μ €μž₯μ†Œμ˜ 핡심 λ°©ν–₯은 β€œκ²Œμž„ μ—”μ§„μ˜ νŒμ •β€μ΄ μ•„λ‹ˆλΌ, **말투, λΆ„μœ„κΈ°, 짧은 세계관 응닡**을 AIκ°€ 맑도둝 λ§Œλ“œλŠ” 것이닀.
## TL;DR
- 기반 λͺ¨λΈ: `google/gemma-4-E2B-it`
- μ£Ό μ‚¬μš© μ–Έμ–΄: ν•œκ΅­μ–΄
- μ£Ό μ‚¬μš© μ˜μ—­: ν…μŠ€νŠΈ MUD, NPC λŒ€ν™”, λ£Έ λ¬˜μ‚¬, μ „μŠΉ/λ‘œμ–΄ μ„€λͺ…
- 포함 ν˜•μ‹:
- Transformers 체크포인트
- LM Studio / llama.cpp 용 `GGUF`
- Colab / Unsloth μž¬ν˜„μš© μŠ€νƒ€ν„° νŒ¨ν‚€μ§€
- κ°€μž₯ 잘 λ§žλŠ” μž…λ ₯:
- `talk oracle`
- `look`
- `rumor`
- `scan signal`
- `First Fire Horizon이 μ–΄λ–€ 곳인지 μ„€λͺ…ν•΄μ€˜.`
## 이 μ €μž₯μ†Œμ— λ“€μ–΄ μžˆλŠ” 것
### 1. Transformers 체크포인트
λ£¨νŠΈμ—λŠ” λ³‘ν•©λœ Hugging Face ν˜•μ‹ λͺ¨λΈ κ°€μ€‘μΉ˜κ°€ λ“€μ–΄ μžˆλ‹€.
- `model-00001-of-00005.safetensors`
- `model-00002-of-00005.safetensors`
- `model-00003-of-00005.safetensors`
- `model-00004-of-00005.safetensors`
- `model-00005-of-00005.safetensors`
- `config.json`
- `processor_config.json`
- `tokenizer.json`
- `tokenizer_config.json`
- `chat_template.jinja`
### 2. GGUF
LM Studio / llama.cpp 에 λ°”λ‘œ κ°€μ Έκ°ˆ 수 μžˆλ„λ‘ λ‹€μŒ GGUF νŒŒμΌμ„ ν•¨κ»˜ μ œκ³΅ν•œλ‹€.
- `gemma4-e2b-mud-Q4_K_M.gguf`
이 νŒŒμΌμ€ 둜컬 μΆ”λ‘ , LM Studio ν…ŒμŠ€νŠΈ, λΉ λ₯Έ 배포에 μ ν•©ν•œ μ‹œμž‘μ μ΄λ‹€.
### 3. Companion starter package
μ €μž₯μ†Œ μ•ˆμ˜ [`gemma-mud-colab-starter/`](./gemma-mud-colab-starter) ν΄λ”μ—λŠ” λ‹€μŒμ΄ ν¬ν•¨λ˜μ–΄ μžˆλ‹€.
- Colab λ…ΈνŠΈλΆ
- E2B / E4B μ‹€ν—˜μš© λ…ΈνŠΈλΆ λ³€ν˜•
- μ˜ˆμ‹œ 데이터셋
- LM Studio μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈ
- ν…ŒμŠ€νŠΈ ν”„λ‘¬ν”„νŠΈ
- μ‹€ν–‰ μ•ˆλ‚΄μ™€ νŠΈλŸ¬λΈ”μŠˆνŒ… λ¬Έμ„œ
즉 이 μ €μž₯μ†ŒλŠ” β€œλͺ¨λΈλ§Œ 던져 놓은 ν˜•νƒœβ€κ°€ μ•„λ‹ˆλΌ, **μ‹€ν—˜κ³Ό λ°°ν¬κΉŒμ§€ μ΄μ–΄μ§€λŠ” νŒ¨ν‚€μ§€ν˜• μ €μž₯μ†Œ**λ₯Ό λͺ©ν‘œλ‘œ ν•œλ‹€.
데이터셋 ꡬ쑰와 μ œμž‘ 방법은 별도 λ¬Έμ„œμ— 정리해 λ‘μ—ˆλ‹€.
- [`DATASET_GUIDE.md`](./DATASET_GUIDE.md)
## λͺ¨λΈ κ°œμš”
이 λͺ¨λΈμ€ **Gemma 4 E2B instruct 계열을 ν…μŠ€νŠΈ MUD 톀에 맞게 닀듬은 νŒŒμƒ λͺ¨λΈ**이닀.
μ§€ν–₯ν•˜λŠ” 응닡은 μ•„λž˜μ™€ κ°™λ‹€.
- μ§§κ³  μ„ λͺ…ν•œ NPC λŒ€μ‚¬
- λΆ„μœ„κΈ°κ°€ μ‚΄μ•„ μžˆλŠ” λ°©/μž₯λ©΄ μ„€λͺ…
- 세계관 고유λͺ…사λ₯Ό μ€‘μ‹¬μœΌλ‘œ ν•œ μ „μŠΉ/λ‘œμ–΄ μ•ˆλ‚΄
- ν”Œλ ˆμ΄λ₯Ό λ•λŠ” 짧은 힌트
- λ²”μš© λΉ„μ„œν˜• 닡변보닀, **세계 μ•ˆμ— 머무λ₯΄λŠ” λ°˜μ‘**
λ°˜λŒ€λ‘œ μ•„λž˜μ™€ 같은 λ°©ν–₯은 ν”Όν•˜λ„λ‘ μ„€κ³„ν–ˆλ‹€.
- ν˜„μ‹€ κΈ°μ—…/DB/상식 μ„€λͺ…μœΌλ‘œ μƒˆλŠ” λ‹΅λ³€
- `AIλ‘œμ„œ...` 같은 메타 λ°œμ–Έ
- μž₯ν™©ν•œ 백과사전식 μ„€λͺ…
- κ²Œμž„ μƒνƒœλ₯Ό λͺ¨λΈμ΄ μž„μ˜λ‘œ ν™•μ •ν•˜λŠ” λ°œν™”
## 기반 λͺ¨λΈκ³Ό ꡬ쑰
이 μ €μž₯μ†Œμ˜ κΈ°λ°˜μ€ [`google/gemma-4-E2B-it`](https://huggingface.co/google/gemma-4-E2B-it) 이닀.
Gemma 4 E2BλŠ” Google의 μž‘μ€ Gemma 4 계열 λͺ¨λΈμ΄λ©°, 곡식 μΉ΄λ“œ κΈ°μ€€μœΌλ‘œ **Apache 2.0** λΌμ΄μ„ μŠ€λ₯Ό μ‚¬μš©ν•œλ‹€.
주의:
- **이 μ €μž₯μ†Œ λ£¨νŠΈμ— 올라온 μ‹€μ œ κ°€μ€‘μΉ˜μ™€ GGUFλŠ” E2B κΈ°λ°˜μ΄λ‹€.**
- starter package μ•ˆμ— λ“€μ–΄ μžˆλŠ” `E4B` λ…ΈνŠΈλΆμ€ **E4B μ‹€ν—˜/μž¬ν•™μŠ΅μš© companion notebook** 이며, 루트 μ²΄ν¬ν¬μΈνŠΈκ°€ E4BλΌλŠ” λœ»μ€ μ•„λ‹ˆλ‹€.
이 μ €μž₯μ†Œμ˜ 둜컬 `config.json` κΈ°μ€€ μ£Όμš” ν…μŠ€νŠΈ 섀정은 λ‹€μŒκ³Ό κ°™λ‹€.
- μ•„ν‚€ν…μ²˜: `Gemma4ForConditionalGeneration`
- `model_type`: `gemma4`
- ν…μŠ€νŠΈ hidden size: `1536`
- ν…μŠ€νŠΈ λ ˆμ΄μ–΄ 수: `35`
- attention heads: `8`
- key/value heads: `1`
- intermediate size: `6144`
- vocab size: `262144`
- sliding window: `512`
μ€‘μš”:
- **이 νŒŒμƒ λͺ¨λΈμ˜ μ‹€μ œ μ‚¬μš© μ΄ˆμ μ€ ν…μŠ€νŠΈ 생성**이닀.
- Gemma 4 E2B 계열 μžμ²΄λŠ” μž‘μ€ λ©€ν‹°λͺ¨λ‹¬ κ³„μ—΄μ΄μ§€λ§Œ, 이 μ €μž₯μ†Œμ˜ μŠ€νƒ€ν„° νŒ¨ν‚€μ§€μ™€ μ˜ˆμ‹œ ν”„λ‘¬ν”„νŠΈλŠ” **ν…μŠ€νŠΈ MUD μ‚¬μš© μ‹œλ‚˜λ¦¬μ˜€**에 맞좰져 μžˆλ‹€.
- ν•¨κ»˜ λ“€μ–΄ μžˆλŠ” GGUF 파일 μ—­μ‹œ LM Studioμ—μ„œ **ν…μŠ€νŠΈ λŒ€ν™” 쀑심**으둜 λ°”λ‘œ ν…ŒμŠ€νŠΈν•˜λŠ” μš©λ„μ— λ§žλ‹€.
## μ–΄λ–€ μž‘μ—…μ— 잘 λ§žλŠ”κ°€
### 잘 λ§žλŠ” μž‘μ—…
- ν…μŠ€νŠΈ MUD NPC λŒ€ν™”
- λ£Έ/μž₯λ©΄ λΆ„μœ„κΈ° λ¬˜μ‚¬
- 짧은 rumor / lore / signal 응닡
- 둜컬 μŠ€ν† λ¦¬ν…”λ§ ν…ŒμŠ€νŠΈ
- ν•œκ΅­μ–΄ 세계관 ν”„λ‘œν† νƒ€μ΄ν•‘
- MUD μ—”μ§„μ˜ β€œμ„œμ‚¬ λ ˆμ΄μ–΄β€ 뢄리 μ‹€ν—˜
### 특히 잘 λ§žλŠ” μž…λ ₯ μŠ€νƒ€μΌ
- ν•œλ‘ 단어 λͺ…λ Ήν˜•
- `talk oracle`
- `look`
- `rumor`
- `scan signal`
- 짧은 μ„€λͺ… μš”μ²­ν˜•
- `First Fire Horizon이 μ–΄λ–€ 곳인지 μ„€λͺ…ν•΄μ€˜.`
- `Helios Verge의 μ˜λ―Έμ™€ μ€‘μš”μ„±μ„ μ„€λͺ…ν•΄μ€˜.`
## μ–΄λ–€ μž‘μ—…μ—λŠ” λ§žμ§€ μ•ŠλŠ”κ°€
이 λͺ¨λΈμ€ μ•„λž˜ 역할을 **직접 λ‹΄λ‹Ήν•˜μ§€ μ•ŠλŠ” 편이 μ•ˆμ „ν•˜λ‹€.**
- ν€˜μŠ€νŠΈ μ™„λ£Œ νŒμ •
- 보상 μ§€κΈ‰
- μ•„μ΄ν…œ/κ³¨λ“œ μ •μ‚°
- λ¬Έ μ—΄λ¦Ό/잠금 λ“± μƒνƒœ λ³€κ²½ ν™•μ •
- μ „νˆ¬ 승패 계산
- 법λ₯ , 의료, 금육 같은 κ³ μ‹ λ’° 정보 제곡
즉, μΆ”μ²œ μ‚¬μš© κ΅¬μ‘°λŠ” λ‹€μŒκ³Ό κ°™λ‹€.
- **μ—”μ§„**: 이동, μ „νˆ¬, μƒνƒœ, 보상, ν€˜μŠ€νŠΈ 둜직
- **λͺ¨λΈ**: λŒ€μ‚¬, λΆ„μœ„κΈ°, μ „μŠΉ, 짧은 힌트, λ¬˜μ‚¬
## λΉ λ₯Έ μ‹œμž‘
### Transformers 둜 λ°”λ‘œ μ“°κΈ°
Gemma 4 곡식 λ¬Έμ„œμ˜ μ‚¬μš© 방식에 맞좰 `AutoProcessor` + `AutoModelForImageTextToText` 경둜둜 μ‹œμž‘ν•  수 μžˆλ‹€.
```python
from transformers import AutoProcessor, AutoModelForImageTextToText
import torch
MODEL_ID = "sangwon1472/gemma4-e2b-mud"
processor = AutoProcessor.from_pretrained(MODEL_ID)
model = AutoModelForImageTextToText.from_pretrained(
MODEL_ID,
dtype="auto",
device_map="auto",
)
messages = [
{
"role": "system",
"content": "당신은 μš°μ£Όν•­ν–‰ ν…μŠ€νŠΈ MUD의 ν•­λ‘œ μ•ˆλ‚΄μžμ΄μž 세계관 ν•΄μ„€μžλ‹€. 닡변은 ν•œκ΅­μ–΄λ‘œ ν•œλ‹€."
},
{
"role": "user",
"content": "talk oracle"
},
]
text = processor.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True,
enable_thinking=False,
)
inputs = processor(text=text, return_tensors="pt").to(model.device)
input_len = inputs["input_ids"].shape[-1]
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=128,
temperature=1.0,
top_p=0.95,
top_k=64,
)
response = processor.decode(outputs[0][input_len:], skip_special_tokens=False)
print(processor.parse_response(response))
```
## LM Studio / llama.cpp μ‚¬μš©
이 μ €μž₯μ†Œμ—λŠ” λ°”λ‘œ import κ°€λŠ₯ν•œ GGUF 파일이 ν¬ν•¨λ˜μ–΄ μžˆλ‹€.
- `gemma4-e2b-mud-Q4_K_M.gguf`
LM Studio μ—μ„œλŠ” 이 GGUFλ₯Ό κ°€μ Έμ™€μ„œ λ°”λ‘œ ν…ŒμŠ€νŠΈν•  수 μžˆλ‹€.
ν•¨κ»˜ μ œκ³΅ν•˜λŠ” μ‹œμŠ€ν…œ ν”„λ‘¬ν”„νŠΈμ™€ ν…ŒμŠ€νŠΈ λ¬Έμž₯은 starter package μ•ˆμ— μžˆλ‹€.
- [`lmstudio_system_prompt_ko.txt`](./gemma-mud-colab-starter/examples/lmstudio_system_prompt_ko.txt)
- [`lmstudio_system_prompt_npc_ko.txt`](./gemma-mud-colab-starter/examples/lmstudio_system_prompt_npc_ko.txt)
- [`lmstudio_system_prompt_lore_ko.txt`](./gemma-mud-colab-starter/examples/lmstudio_system_prompt_lore_ko.txt)
- [`lmstudio_test_prompts.md`](./gemma-mud-colab-starter/examples/lmstudio_test_prompts.md)
### ꢌμž₯ μ‹œμž‘ ν”„λ‘¬ν”„νŠΈ
- `talk oracle`
- `look`
- `rumor`
- `scan signal`
- `First Fire Horizon이 μ–΄λ–€ 곳인지 μ„€λͺ…ν•΄μ€˜.`
### ꢌμž₯ 생성 μ„€μ •
Gemma 4 계열은 곡식/μ‹€μ „ μ‚¬μš©μ—μ„œ μ•„λž˜ 값이 λ¬΄λ‚œν•œ μΆœλ°œμ μ΄λ‹€.
- `temperature = 1.0`
- `top_p = 0.95`
- `top_k = 64`
보닀 μ§§κ³  μ•ˆμ •μ μΈ NPC 닡변이 ν•„μš”ν•˜λ©΄ μ•„λž˜μ²˜λŸΌ 쑰금 보수적으둜 μ‹œμž‘ν•΄λ„ μ’‹λ‹€.
- `temperature = 0.7`
- `max tokens = 96 ~ 128`
μœ„μ˜ β€œλ” μ§§κ²Œβ€ 섀정은 이 μ €μž₯μ†Œμ˜ MUD μš©λ„μ— 맞좘 μ‹€μ „ ꢌμž₯값이닀.
## Companion starter package μ•ˆλ‚΄
ν•¨κ»˜ μ œκ³΅ν•˜λŠ” [`gemma-mud-colab-starter/`](./gemma-mud-colab-starter) ν΄λ”λŠ” λͺ¨λΈμ„ λ‹€μ‹œ ν•™μŠ΅ν•˜κ±°λ‚˜ λ³€ν˜•ν•΄ 보고 싢은 μ‚¬μš©μžλ₯Ό μœ„ν•œ ꡬ성이닀.
μ£Όμš” 파일:
- [`README.md`](./gemma-mud-colab-starter/README.md)
- [`run_instructions.md`](./gemma-mud-colab-starter/run_instructions.md)
- [`troubleshooting.md`](./gemma-mud-colab-starter/troubleshooting.md)
- [`Gemma4_MUD_QLoRA_Colab_Notebook-E2B.ipynb`](./gemma-mud-colab-starter/notebooks/Gemma4_MUD_QLoRA_Colab_Notebook-E2B.ipynb)
- [`Gemma4_MUD_QLoRA_Colab_Notebook-E4B.ipynb`](./gemma-mud-colab-starter/notebooks/Gemma4_MUD_QLoRA_Colab_Notebook-E4B.ipynb)
ν¬ν•¨λœ μ˜ˆμ‹œ 데이터셋:
- `combined_1000.jsonl` : 1000ν–‰ 원본
- `combined_1000.unsloth_chatml_dedup.jsonl` : 963ν–‰ 정리본
- `combined_1000.unsloth_gemma4_messages_dedup.jsonl` : 963ν–‰ Gemma 4 messages 정리본
- `gemma4_mud_alpaca_100.jsonl` : 100ν–‰ μ†Œν˜• μ˜ˆμ‹œ
λ°μ΄ν„°μ…‹μ˜ ꡬ쑰, 뢄포, μ •μ œ 방식, μƒˆ μƒ˜ν”Œ μž‘μ„± κ·œμΉ™μ€ 별도 λ¬Έμ„œμ—μ„œ μžμ„Ένžˆ 닀룬닀.
- [`DATASET_GUIDE.md`](./DATASET_GUIDE.md)
μ€‘μš”:
- μœ„ 데이터셋은 **starter/retraining/example μš©λ„**둜 ν•¨κ»˜ λ„£μ–΄ λ‘” 것이닀.
- 이 μ €μž₯μ†Œμ˜ 체크포인트λ₯Ό μ΄ν•΄ν•˜κ±°λ‚˜ ν™•μž₯ν•˜λŠ” 데 도움을 μ£ΌλŠ” 자료이며, μž¬ν˜„ μ‹€ν—˜μ„ μœ„ν•œ 좜발점으둜 λ³΄λŠ” 편이 μ’‹λ‹€.
## 응닡 ν’ˆμ§ˆμ„ λ³Ό λ•Œ 쒋은 κΈ°μ€€
μ •λ‹΅ λ¬Έμž₯을 μ™Έμ›Œ λ‚΄λŠ”μ§€κ°€ 핡심은 μ•„λ‹ˆλ‹€.
더 μ€‘μš”ν•œ 것은 **μ‘λ‹΅μ˜ κ²°**이닀.
쒋은 μ‹ ν˜Έ:
- ν•œκ΅­μ–΄λ‘œ λ‹΅ν•œλ‹€
- 세계관 μ•ˆμ— λ¨Έλ¬Έλ‹€
- μ§§κ³  λΆ„μœ„κΈ°κ°€ μžˆλ‹€
- λͺ…령어별 λ°˜μ‘ 결이 λ‹€λ₯΄λ‹€
- ν˜„μ‹€ 일반 상식 κ°•μ˜λ‘œ μƒˆμ§€ μ•ŠλŠ”λ‹€
경계 μ‹ ν˜Έ:
- `Hello!` 둜 μ‹œμž‘ν•˜λŠ” λ²”μš© 챗봇 톀
- `Oracle Database` 같은 ν˜„μ‹€ 상식 λ°˜μ‘
- `AIλ‘œμ„œ` 같은 메타 λ°œμ–Έ
- 엔진이 ν•΄μ•Ό ν•  μƒνƒœ νŒμ •μ„ λͺ¨λΈμ΄ 직접 μ„ μ–Έ
## ν•œκ³„μ™€ μ£Όμ˜μ‚¬ν•­
이 λͺ¨λΈμ€ νŠΉμ • μŠ€νƒ€μΌκ³Ό μš©λ„μ— 맞좘 **도메인 μ μ‘ν˜• λͺ¨λΈ**이닀. λ”°λΌμ„œ μ•„λž˜ ν•œκ³„λ₯Ό μ΄ν•΄ν•˜κ³  μ“°λŠ” 것이 μ’‹λ‹€.
- 세계관 톀은 κ°•ν™”λ˜μ§€λ§Œ, μž‘μ€ 도메인 적응 λͺ¨λΈ νŠΉμ„±μƒ **고유λͺ…사λ₯Ό κ³Όμž₯되게 μ΄μ–΄λΆ™μ΄κ±°λ‚˜ λΆ„μœ„κΈ°λ₯Ό 과생성**ν•  수 μžˆλ‹€.
- ν…μŠ€νŠΈ MUD μ„œμ‚¬μ—λŠ” 잘 λ§žμ§€λ§Œ, 일반 λΉ„μ„œν˜• μ§ˆμ˜μ‘λ‹΅μ˜ 정확도λ₯Ό λͺ©ν‘œλ‘œ ν•˜μ§€λŠ” μ•Šμ•˜λ‹€.
- μž₯ν™©ν•œ μ„€λͺ…을 쀄이기 μœ„ν•΄ ν”„λ‘¬ν”„νŠΈμ™€ μ‹œμŠ€ν…œ λ©”μ‹œμ§€λ₯Ό μ§§κ³  λͺ…ν™•ν•˜κ²Œ μœ μ§€ν•˜λŠ” 편이 μ’‹λ‹€.
- 곡식 벀치마크 기반 μž¬ν‰κ°€λ‚˜ 별도 μ•ˆμ „μ„± 평가λ₯Ό 이 μΉ΄λ“œμ—μ„œ μ œκ³΅ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.
## ꢌμž₯ μ‚¬μš© νŒ¨ν„΄
이 λͺ¨λΈμ€ μ•„λž˜μ²˜λŸΌ 뢙이면 κ°€μž₯ μžμ—°μŠ€λŸ½λ‹€.
1. ν”Œλ ˆμ΄μ–΄ μž…λ ₯을 짧은 ν…μŠ€νŠΈ ν”„λ‘¬ν”„νŠΈλ‘œ μ •λ¦¬ν•œλ‹€.
2. 엔진은 μƒνƒœ/νŒμ •μ„ μ²˜λ¦¬ν•œλ‹€.
3. λͺ¨λΈμ€ λŒ€μ‚¬, λ¬˜μ‚¬, 힌트, μ „μŠΉ μ„€λͺ…을 μƒμ„±ν•œλ‹€.
4. 엔진은 λͺ¨λΈ 좜λ ₯을 κ·ΈλŒ€λ‘œ 쓰기보닀, ν•„μš”ν•˜λ©΄ ν›„μ²˜λ¦¬ κ·œμΉ™μ„ λ‘”λ‹€.
특히 μ•„λž˜ 선은 μ§€ν‚€λŠ” 편이 μ’‹λ‹€.
- **엔진이 κ²°μ •ν•΄μ•Ό ν•  것**: ν€˜μŠ€νŠΈ 성곡, 보상, μ „νˆ¬ νŒμ •, λ¬Έ μƒνƒœ
- **λͺ¨λΈμ΄ ν‘œν˜„ν•΄λ„ 쒋은 것**: λΆ„μœ„κΈ°, λͺ©μ†Œλ¦¬, μ—¬μš΄, λ‹¨μ„œ, λ¬Έν™”, μ‹ ν™”
## λΌμ΄μ„ μŠ€μ™€ 좜처
- νŒŒμƒ 기반 λͺ¨λΈ: [`google/gemma-4-E2B-it`](https://huggingface.co/google/gemma-4-E2B-it)
- λΌμ΄μ„ μŠ€ ν‘œκΈ°: `Apache-2.0`
- GGUF 및 starter package λŠ” 이 μ €μž₯μ†Œ 배포 편의λ₯Ό μœ„ν•΄ ν•¨κ»˜ ν¬ν•¨ν–ˆλ‹€.
Gemma 4 자체의 ꡬ쑰와 κΈ°λ³Έ μ‚¬μš© 방식은 곡식 Gemma 4 μΉ΄λ“œμ™€ Unsloth Gemma 4 λ¬Έμ„œλ₯Ό μ°Έκ³ ν•˜λ©΄ μ’‹λ‹€.
- [Google Gemma 4 E2B model card](https://huggingface.co/google/gemma-4-E2B-it)
- [Unsloth Gemma 4 docs](https://unsloth.ai/docs/models/gemma-4)
## ν•œ 쀄 μš”μ•½
`gemma4-e2b-mud` λŠ” **ν•œκ΅­μ–΄ μš°μ£Όν•­ν–‰ ν…μŠ€νŠΈ MUD의 λΆ„μœ„κΈ°, NPC λŒ€μ‚¬, μ „μŠΉ μ„€λͺ…을 λ‘œμ»¬μ—μ„œλ„ λΉ λ₯΄κ²Œ μ‹œν—˜ν•  수 있게 λ§Œλ“  Gemma 4 E2B νŒŒμƒ λͺ¨λΈ + GGUF + Colab starter package 묢음**이닀.