| # OLMoE-1B-7B-Eagle3 Draft Model |
|
|
| ์ด ์ ์ฅ์๋ OLMoE-1B-7B-Eagle3 ๊ธฐ๋ฐ์ EAGLE Draft ๋ชจ๋ธ ๊ฐ์ค์น์ ๊ด๋ จ ์ฝ๋, ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. |
|
|
| --- |
|
|
| ## ๐ฆ ํฌํจ ํ์ผ |
|
|
| - `pytorch_model.bin` : ํ์ต๋ EAGLE Draft ๋ชจ๋ธ ๊ฐ์ค์น |
| - `config.json` : ๋ชจ๋ธ ์ค์ ํ์ผ (OLMoE ๊ตฌ์กฐ) |
| - `tokenizer_config.json` : ํ ํฌ๋์ด์ ์ค์ ํ์ผ |
| - `modeling_olmoe_kv.py` : OLMoE ์ ์ฉ ๋ชจ๋ธ ์ฝ๋ (EAGLE ์ถ๋ก ์ ํ์) |
| - `eagle_data.json` : ํ์ต์ ์ฌ์ฉ๋ ๋ฐ์ดํฐ์
(ShareGPT ์ง๋ฌธ + OLMoE ๋ต๋ณ) |
| - `.gitattributes` : Git LFS ์ค์ ๋ฑ |
|
|
| --- |
|
|
| ## ๐ฆ
EAGLE Draft ๋ชจ๋ธ์ด๋? |
|
|
| EAGLE์ ๋๊ท๋ชจ ์ธ์ด๋ชจ๋ธ(LLM)์ ์ถ๋ก ์๋๋ฅผ ํ๊ธฐ์ ์ผ๋ก ๋์ด๊ธฐ ์ํด, |
| **Draft(์ด์) ๋์ฝ๋ ๊ณ์ธต**์ ๋ณ๋๋ก ํ์ต์ํค๋ ๊ตฌ์กฐ์
๋๋ค. |
|
|
| - **OLMoE-1B-7B-0125-Instruct**์ ๊ตฌ์กฐ์ ํธํ |
| - EAGLE Draft ๊ณ์ธต์ Main Model์ ๋์ฝ๋์ ๊ตฌ์กฐ์ ์ผ๋ก ์ ์ฌํ๊ฒ ์ค๊ณ๋จ |
| - ์ถ๋ก ์, Draft ๊ณ์ธต์ด ์ฌ๋ฌ ํ ํฐ์ ๋ฏธ๋ฆฌ ์์ฑ โ Main Model์ด ๊ฒ์ฆ/accept |
|
|
| --- |
|
|
| ## ๐ ํ์ต ๋ฐ์ดํฐ ์ค๋ช
|
|
|
| - **eagle_data.json** |
| - ShareGPT ๋ฐ์ดํฐ์
์์ **์ง๋ฌธ(ํ๋กฌํํธ)๋ง ์ถ์ถ** |
| - ๊ฐ ์ง๋ฌธ์ ๋ํด **allenai/OLMoE-1B-7B-0125-Instruct** ๋ชจ๋ธ์ด ์ง์ ๋ต๋ณ์ ์์ฑ |
| - ์ฆ, **๋ชจ๋ธ์ด ์ค์ค๋ก ์์ฑํ ๋ต๋ณ**์ ์ ๋ต์ผ๋ก ์ฌ์ฉํ์ฌ Draft ๊ณ์ธต์ ํ์ต |
| - ์ด๋ ๊ฒ ํ๋ฉด, Draft ๊ณ์ธต์ด Main Model์ ๋์ฝ๋์ ๋ ๊ฐ๊น์ด ๋ถํฌ๋ฅผ ํ์ตํ๊ฒ ๋์ด |
| EAGLE ์ถ๋ก ์ฑ๋ฅ์ด ๊ทน๋ํ๋จ |
| |
| --- |
| |
| ## ๐ ๏ธ ์ฌ์ฉ๋ฒ |
| |
| ### 1. ๋ชจ๋ธ ๊ฐ์ค์น/์ค์ ํ์ผ ์ฌ์ฉ |
| |
| - `pytorch_model.bin`, `config.json`, `tokenizer_config.json`์ |
| HuggingFace Transformers ๋๋ EAGLE ์ฝ๋์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. |
| |
| ### 2. EAGLE Inference ์ฝ๋์ ์ ์ฉ |
| |
| - `modeling_olmoe_kv.py` ํ์ผ์ |
| EAGLE ๊ณต์ ์ ์ฅ์์ `EAGLE/eagle/model/` ๋๋ ํ ๋ฆฌ์ ๋ณต์ฌ/๋ฎ์ด์ฐ๊ธฐ ํ์ธ์. |
| - EAGLE ์ถ๋ก ์คํฌ๋ฆฝํธ์์ |
| `from eagle.model.modeling_olmoe_kv import OlmoeForCausalLM` |
| ํํ๋ก import ํ์ฌ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. |
| |
| ### 3. ์์ ์ฝ๋ |
| |
| ```python |
| from transformers import AutoTokenizer |
| from eagle.model.ea_model import EaModel |
| |
| tokenizer = AutoTokenizer.from_pretrained('allenai/OLMoE-1B-7B-0125-Instruct') |
| model = EaModel.from_pretrained( |
| base_model_path='allenai/OLMoE-1B-7B-0125-Instruct', |
| ea_model_path='์ด ์ ์ฅ์ ๊ฒฝ๋ก', |
| torch_dtype='bfloat16' |
| ) |
| ``` |
| |
| --- |
| |
| ## โ ๏ธ ์ฐธ๊ณ /์ ์์ฌํญ |
| |
| - **eagle_data.json**์ ๊ณต๊ฐ๋ ShareGPT ์ง๋ฌธ์ ๋ํด OLMoE๊ฐ ์์ฑํ ๋ต๋ณ๋ง ํฌํจํฉ๋๋ค. |
| - EAGLE Draft ๊ณ์ธต์ Main Model์ ๊ตฌ์กฐ์ ์ต๋ํ ์ ์ฌํ๊ฒ ์ค๊ณ๋์ด์ผ |
| ์ถ๋ก ํจ์จ์ด ๊ทน๋ํ๋ฉ๋๋ค. |
| - `modeling_olmoe_kv.py`๋ ๋ฐ๋์ EAGLE ์ถ๋ก ์ฝ๋์ ํฌํจ๋์ด์ผ ์ ์ ๋์ํฉ๋๋ค. |
|
|
| --- |
|
|
| ## ๐ ์ธ์ฉ/์ฐธ๊ณ |
|
|
| - [EAGLE: Fast Decoding for Large Language Models](https://github.com/SafeAILab/EAGLE) |
| - [allenai/OLMoE-1B-7B-0125-Instruct](https://huggingface.co/allenai/OLMoE-1B-7B-0125-Instruct) |
| - [ShareGPT Dataset](https://huggingface.co/datasets/sharegpt) |
|
|
| --- |
|
|
| ๋ฌธ์/ํผ๋๋ฐฑ์ ์ด์๋ก ๋จ๊ฒจ์ฃผ์ธ์! |