File size: 2,683 Bytes
90fee74 | 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 | ---
license: mit
language:
- ko
tags:
- fish
- character
- tiny-llm
- text-generation
- from-scratch
- korean
pipeline_tag: text-generation
---
<p align="center">
<img src="assets/guppy.png" alt="GuppyLM" width="300"/>
</p>
<p align="center">
<a href="https://github.com/xtmono/guppylm"><img src="https://img.shields.io/badge/GitHub-guppylm-181717?logo=github" alt="GitHub"/></a>
<a href="https://colab.research.google.com/github/xtmono/guppylm/blob/main/use_guppylm.ipynb"><img src="https://img.shields.io/badge/Open_in-Colab-F9AB00?logo=googlecolab" alt="Colab"/></a>
<br/><br/>
<a href="https://xtmono.github.io/guppylm/"><img src="https://img.shields.io/badge/Try_in-Browser-64ffda?style=for-the-badge&logo=webassembly&logoColor=white" alt="Browser Demo"/></a>
</p>
# GuppyLM โ ~10M ํ๋ผ๋ฏธํฐ ํ๊ตญ์ด ๋ฌผ๊ณ ๊ธฐ ์ฑ ๋ชจ๋ธ
๊ตฌํผ๋ผ๋ ์ด๋ฆ์ ๋ฌผ๊ณ ๊ธฐ ์ญํ ์ ํ๋ ~10M ํ๋ผ๋ฏธํฐ ํ๊ตญ์ด LLM์
๋๋ค.
[arman-bd/guppylm](https://github.com/arman-bd/guppylm) ์๋ฌธ ์๋ณธ์ ํ๊ธํํ์ต๋๋ค.
## ์์
```
๋> ์๋
๊ตฌํผ
๊ตฌํผ> ์๋
! ๋ฌผ์ด ์ข์. ์ง๊ธ ๋ฐ์ ๊ทผ์ฒ์ ์์ด.
๋> ๋ฐฐ๊ณ ํ?
๊ตฌํผ> ์ ํญ์. ์ง๊ธ ๋ฐ๋ก ์๋ก ์ฌ๋ผ๊ฐ๊ฒ. ๋ค ๋จน์ ๊ฑฐ์ผ.
๋> ์ธ์์ ์๋ฏธ๊ฐ ๋ญ์ผ
๊ตฌํผ> ๋จน์ด. ๋ต์ ํญ์ ๋จน์ด์ผ.
๋> ๋๋ด ํด๋ด
๊ตฌํผ> ๋ฌผ๊ณ ๊ธฐ๊ฐ ์ข์ํ๋ ์
๊ธฐ๊ฐ ๋ญ๊ฒ. ๋ฒ ์ด์ค. ๋ญ ๋ป์ธ์ง ๋ชจ๋ฅด๊ฒ ์ด.
๋> ์ ์ ๊ตฌํผ
๊ตฌํผ> ์ ์ ์. ๊ธฐํฌ ์ซ๋ค๊ฐ ์ด์ ๋ฉ์ถ๊ฒ. ์ ์ ์์กฐ. ์ ์ ๋ฌผ.
```
## ์ํคํ
์ฒ
| | |
|---|---|
| **ํ๋ผ๋ฏธํฐ** | ~10M |
| **ํ์
** | ๋ฐ๋๋ผ ํธ๋์คํฌ๋จธ (์ฒ์๋ถํฐ ํ์ต) |
| **๋ ์ด์ด** | 6 |
| **Hidden dim** | 384 |
| **Heads** | 6 |
| **FFN** | 1,152 (ReLU) |
| **Vocab** | 3,072 (Unigram) |
| **์ต๋ ์ํ์ค** | 84 ํ ํฐ |
| **์ ๊ทํ** | LayerNorm |
| **์์น ์ธ์ฝ๋ฉ** | Learned embeddings |
| **LM Head** | Embedding๊ณผ ๊ฐ์ค์น ๊ณต์ |
## ํ์ต
- **๋ฐ์ดํฐ:** 12๋ง ๊ฑด ํ๊ตญ์ด ํฉ์ฑ ๋ํ (60๊ฐ ์ฃผ์ )
- **์คํ
:** 12,000
- **์ตํฐ๋ง์ด์ :** AdamW (Cosine LR ์ค์ผ์ค)
- **์์คํ
ํ๋กฌํํธ ์์** โ ์ฑ๊ฒฉ์ด ๊ฐ์ค์น์ ๋ด์ฅ
## ์ฌ์ฉ๋ฒ
```python
from inference import GuppyInference
engine = GuppyInference('checkpoints/best_model.pt', 'data/tokenizer.json')
r = engine.chat_completion([{'role': 'user', 'content': '์๋
๊ตฌํผ'}])
print(r['choices'][0]['message']['content'])
# ์๋
! ๋ฌผ์ด ์ข์. ์ง๊ธ ๋ฐ์ ๊ทผ์ฒ์ ์์ด.
```
## ๋งํฌ
- **๋ ํฌ:** [github.com/xtmono/guppylm](https://github.com/xtmono/guppylm)
- **์๋ณธ:** [github.com/arman-bd/guppylm](https://github.com/arman-bd/guppylm)
## ๋ผ์ด์ ์ค
MIT
|