Upload README.md with huggingface_hub
Browse files
README.md
CHANGED
|
@@ -1,3 +1,116 @@
|
|
| 1 |
-
---
|
| 2 |
-
|
| 3 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
language:
|
| 3 |
+
- ko
|
| 4 |
+
license: mit
|
| 5 |
+
tags:
|
| 6 |
+
- hamster
|
| 7 |
+
- korean
|
| 8 |
+
- small-language-model
|
| 9 |
+
- educational
|
| 10 |
+
- onnx
|
| 11 |
+
- chatml
|
| 12 |
+
library_name: onnx
|
| 13 |
+
---
|
| 14 |
+
|
| 15 |
+
# πΉ HamsterLM
|
| 16 |
+
|
| 17 |
+
HamsterLMμ **νμ€ν° μΊλ¦ν°λ‘ λννλ μμ νκ΅μ΄ μΈμ΄ λͺ¨λΈ**μ
λλ€.
|
| 18 |
+
λΈλΌμ°μ μμ μ§μ μ€νν μ μλλ‘ ONNXλ‘ λ³νλμ΄ μμΌλ©°, κ΅μ‘ λͺ©μ μΌλ‘ μ²μλΆν° νμ΅λμμ΅λλ€.
|
| 19 |
+
|
| 20 |
+
[arman-bd/guppylm](https://github.com/arman-bd/guppylm)μμ μκ°μ λ°μ μ μλμμ΅λλ€.
|
| 21 |
+
|
| 22 |
+
## λͺ¨λΈ μ 보
|
| 23 |
+
|
| 24 |
+
| νλͺ© | κ° |
|
| 25 |
+
|------|------|
|
| 26 |
+
| νλΌλ―Έν° | ~100M |
|
| 27 |
+
| μν€ν
μ² | Transformer λμ½λ (RMSNorm + SwiGLU + RoPE) |
|
| 28 |
+
| μλ² λ© μ°¨μ | 768 |
|
| 29 |
+
| λ μ΄μ΄ μ | 12 |
|
| 30 |
+
| μ΄ν
μ
ν€λ | 12 |
|
| 31 |
+
| μ΅λ μνμ€ κΈΈμ΄ | 128 |
|
| 32 |
+
| μ΄ν ν¬κΈ° | 4,096 |
|
| 33 |
+
| ν ν¬λμ΄μ | ByteLevel BPE |
|
| 34 |
+
| λν ν¬λ§· | ChatML |
|
| 35 |
+
| μμν | int8 (Dynamic Quantization) |
|
| 36 |
+
|
| 37 |
+
## νμ΅ κ³Όμ
|
| 38 |
+
|
| 39 |
+
### 1λ¨κ³: μ¬μ νμ΅ (Pretrain)
|
| 40 |
+
- **λ°μ΄ν°**: νκ΅μ΄ μν€νΌλμ (μ½ 200λ§ μ²ν¬)
|
| 41 |
+
- **λͺ©ν**: νκ΅μ΄ λ¬Έλ², μ΄μ, μ‘°μ¬ λ± κΈ°λ³Έ μΈμ΄ ν¨ν΄ νμ΅
|
| 42 |
+
- **μ€μ **: 20K iter, batch 32, LR 1e-3 (warmup + cosine decay)
|
| 43 |
+
|
| 44 |
+
### 2λ¨κ³: SFT (Supervised Fine-Tuning)
|
| 45 |
+
- **λ°μ΄ν°**: Claude Haiku APIλ‘ μμ±ν νμ€ν° λν 10,000κ°
|
| 46 |
+
- **λͺ©ν**: νμ€ν° μΊλ¦ν°μ λ§ν¬μ λ΅λ³ μ€νμΌ νμ΅
|
| 47 |
+
- **μ€μ **: 5K iter, batch 32, LR 3e-4 (val loss κΈ°μ€ best checkpoint μ μ₯)
|
| 48 |
+
- **λ°μ΄ν° ꡬμ±**:
|
| 49 |
+
- κ³ μ μ§λ¬Έ ν κΈ°λ° 5,000κ°
|
| 50 |
+
- AI μμ± λ€μν μ§λ¬Έ 5,000κ°
|
| 51 |
+
- 34κ° μΉ΄ν
κ³ λ¦¬ (μΈμ¬, μμ, κ°μ , μ² ν λ±)
|
| 52 |
+
|
| 53 |
+
## νμΌ
|
| 54 |
+
|
| 55 |
+
- `hamsterlm.onnx` - int8 μμνλ ONNX λͺ¨λΈ (~90MB)
|
| 56 |
+
- `tokenizer.json` - HuggingFace tokenizers νμ
|
| 57 |
+
|
| 58 |
+
## μ¬μ© λ°©λ²
|
| 59 |
+
|
| 60 |
+
μ΄ λͺ¨λΈμ `transformers`μ νΈνλμ§ μλ **컀μ€ν
μν€ν
μ²**μ
λλ€.
|
| 61 |
+
ONNX Runtimeμ μ§μ μ¬μ©νμ¬ μΆλ‘ ν΄μΌ ν©λλ€.
|
| 62 |
+
|
| 63 |
+
### λΈλΌμ°μ λ°λͺ¨
|
| 64 |
+
|
| 65 |
+
[https://kciter.github.io/HamsterLM](https://kciter.github.io/HamsterLM) μμ μ§μ μ¬μ©ν΄ λ³Ό μ μμ΅λλ€.
|
| 66 |
+
λͺ¨λ μΆλ‘ μ΄ λΈλΌμ°μ μμ WASMμΌλ‘ μ€νλλ©° μλ²λ μ¬μ©νμ§ μμ΅λλ€.
|
| 67 |
+
|
| 68 |
+
### μΆλ‘ μμ
|
| 69 |
+
|
| 70 |
+
ν둬ννΈλ λ€μ ChatML νμμ λ°λΌμΌ ν©λλ€:
|
| 71 |
+
|
| 72 |
+
```
|
| 73 |
+
<|im_start|>user
|
| 74 |
+
{user_message}<|im_end|>
|
| 75 |
+
<|im_start|>assistant
|
| 76 |
+
|
| 77 |
+
```
|
| 78 |
+
|
| 79 |
+
λΈλΌμ°μ /Node.jsμμμ μ 체 μΆλ‘ μ½λλ [GitHub λ ν¬](https://github.com/kciter/HamsterLM)μ
|
| 80 |
+
`web/app.js`λ₯Ό μ°Έκ³ νμΈμ. ν ν¬λμ΄μ λ‘λ, μκΈ°νκ· λμ½λ©, top-k μνλ§μ΄ ꡬνλμ΄ μμ΅λλ€.
|
| 81 |
+
|
| 82 |
+
## λν μμ
|
| 83 |
+
|
| 84 |
+
```
|
| 85 |
+
User: μκΈ°μκ° ν΄λ΄
|
| 86 |
+
HamsterLM: λλ νμ€ν°μΌ. ν΄λ°λΌκΈ°μ¨ μμ² μ’μνκ³ λ³Όμ£Όλ¨Έλμ κ°μ λͺ¨μΌλ κ² νΉκΈ°μ§.
|
| 87 |
+
|
| 88 |
+
User: λ³Όμ£Όλ¨Έλμ λ μμ΄?
|
| 89 |
+
HamsterLM: μ§κΈ νΈλ°μ¨ λ κ° λ€μ΄μμ΄. λΉμμ©μ΄λΌ μ λ λͺ» μ€.
|
| 90 |
+
|
| 91 |
+
User: 무μμ΄ κ² λμΌ?
|
| 92 |
+
HamsterLM: μ§κ³΅ μ²μκΈ° μ리. μκ°λ§ ν΄λ κ·κ° λ©μν΄μ Έ.
|
| 93 |
+
```
|
| 94 |
+
|
| 95 |
+
## νκ³μ
|
| 96 |
+
|
| 97 |
+
- **μμ λͺ¨λΈ**: 100M νλΌλ―Έν°λ‘ νμ΅ λ°μ΄ν° λ²μλ₯Ό ν¬κ² λ²μ΄λλ μ§λ¬Έμ μ λ΅νμ§ λͺ»ν©λλ€
|
| 98 |
+
- **μ§§μ 컨ν
μ€νΈ**: μ΅λ 128 ν ν°μ΄λΌ κΈ΄ λνκ° μ΄λ ΅μ΅λλ€
|
| 99 |
+
- **λλ©μΈ μ ν**: νμ€ν° κ΄λ ¨ λνλ‘λ§ νμ΅λμ΄ μΌλ°μ μΈ μ§λ¬Έ(μν, κ³Όν λ±)μ λ€λ£¨μ§ μμ΅λλ€
|
| 100 |
+
- **μ±κΈν΄ κΆμ₯**: μΉ λ°λͺ¨μμλ μλλ₯Ό μν΄ λ¨μΌ ν΄ λνλ§ μ§μν©λλ€
|
| 101 |
+
- **μμν μν₯**: int8 μμνλ‘ μΈν΄ μΌλΆ ννμμ λ―ΈμΈν νμ§ μ νκ° μμ μ μμ΅λλ€
|
| 102 |
+
|
| 103 |
+
## νμ΅ νκ²½
|
| 104 |
+
|
| 105 |
+
- GPU: NVIDIA A100 (Colab Pro)
|
| 106 |
+
- νμ΅ μκ°: μ¬μ νμ΅ ~50λΆ + SFT ~15λΆ
|
| 107 |
+
|
| 108 |
+
## κ΄λ ¨ μλ£
|
| 109 |
+
|
| 110 |
+
- **λ°μ΄ν°μ
**: [kciter/HamsterLM-SFT](https://huggingface.co/datasets/kciter/HamsterLM-SFT)
|
| 111 |
+
- **μμ€ μ½λ**: [github.com/kciter/HamsterLM](https://github.com/kciter/HamsterLM)
|
| 112 |
+
- **μκ°μ μ€ νλ‘μ νΈ**: [GuppyLM](https://github.com/arman-bd/guppylm)
|
| 113 |
+
|
| 114 |
+
## λΌμ΄μ μ€
|
| 115 |
+
|
| 116 |
+
MIT License
|