# 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) --- 문의/피드백은 이슈로 남겨주세요!