File size: 12,246 Bytes
59fd928
 
49871e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59fd928
49871e2
59fd928
 
49871e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b7b9673
 
 
 
49871e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b7b9673
 
 
 
49871e2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59fd928
49871e2
 
59fd928
49871e2
d9fceea
49871e2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
---
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 묢음**이닀.