Files
keural-14.8b-stage2-vllm/README.md

193 lines
4.6 KiB
Markdown
Raw Normal View History

---
language:
- ko
- en
license: apache-2.0
tags:
- mixtral
- moe
- korean
- english
- bilingual
- pretrained
base_model: mkd-hossain/keural-14.8b-stage2-vllm
library_name: transformers
pipeline_tag: text-generation
---
# Keural 14.8B — Stage 2 (vLLM Ready)
Keural is a **14.83B parameter bilingual Korean-English Mixture-of-Experts language model** trained from scratch on Korean and English text. This repository contains the **Stage 2 annealing checkpoint** (120,000 steps total) in HuggingFace Mixtral-compatible safetensors format, ready to serve with vLLM or Transformers.
> **Note:** This is a **base pretrained model**, not an instruction-following or chat model. SFT (Supervised Fine-Tuning) training is planned as the next stage.
---
## Model Architecture
| Property | Value |
|---|---|
| Architecture | Mixtral MoE (MixtralForCausalLM) |
| Parameters | ~14.83B total (~2.9B active per token) |
| Layers | 24 |
| Hidden size | 4096 |
| Attention heads | 32 (GQA: 8 KV heads) |
| Experts | 8 total, top-2 active per token |
| FFN intermediate size | 5632 |
| Context length | 4096 tokens |
| Vocabulary | 131,072 |
| RoPE theta | 500,000 |
| Sliding window | 512 |
| Activation | SiLU |
| dtype | bfloat16 |
---
## Tokenizer
Custom SentencePiece tokenizer trained on Korean and English text.
| Token | String | ID |
|---|---|---|
| BOS | `<bos>` | 1 |
| EOS | `<eos>` | 2 |
| PAD | `<pad>` | 0 |
| UNK | `<unk>` | 3 |
---
## Training Details
### Stage 1 — Pretraining
- **Steps:** 100,000
- **Tokens:** ~43 billion
- **Data:** Korean and English web text (FineWeb, WanJuan, HPLT, etc.)
- **Batch size:** Large-scale FSDP distributed training
- **Hardware:** 2× NVIDIA H200 (150GB each)
- **Learning rate:** Cosine decay from 3e-4 to 3e-5
### Stage 2 — Annealing (Clean Data)
- **Steps:** 20,000 (steps 100K → 120K)
- **Tokens:** ~5.16 billion (clean subset)
- **Data:** High-quality filtered Korean and English text only
- FineWeb-Edu (English)
- FineWeb2 Korean
- HPLT Korean
- WanJuan Korean
- **Learning rate:** Cosine continued ~4.8e-5 → 3e-5
- **Purpose:** Improve output quality by annealing on clean data
---
## Usage
### vLLM (Recommended)
Install vLLM:
```bash
pip install vllm==0.9.2 --no-build-isolation
pip install "transformers==4.57.0"
```
Serve as OpenAI-compatible API:
```bash
vllm serve mkd-hossain/keural-14.8b-stage2-vllm \
--dtype bfloat16 \
--max-model-len 4096
```
Query the API:
```python
from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="token")
response = client.completions.create(
model="mkd-hossain/keural-14.8b-stage2-vllm",
prompt="인공지능이란 무엇인가?",
max_tokens=256,
temperature=0.7,
)
print(response.choices[0].text)
```
### Transformers
```python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_id = "mkd-hossain/keural-14.8b-stage2-vllm"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
)
prompt = "인공지능이란 무엇인가?"
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=256,
temperature=0.7,
top_p=0.9,
top_k=50,
repetition_penalty=1.1,
do_sample=True,
)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
### Korean Example
```python
prompt = "한국의 역사에 대해 설명해 주세요."
```
### English Example
```python
prompt = "Explain the history of artificial intelligence."
```
---
## Limitations
- This is a **base pretrained model** — it continues text, it does not follow instructions or answer questions in a chat format.
- Context length is limited to **4096 tokens**.
- Outputs may be repetitive or incoherent for complex reasoning tasks — SFT and RLHF training will improve this significantly.
- Not aligned or safety-filtered. Use responsibly.
---
## Roadmap
- [x] Stage 1 Pretraining — 100K steps, ~43B tokens
- [x] Stage 2 Annealing — 20K steps, ~5.16B clean tokens
- [ ] SFT (Supervised Fine-Tuning) — instruction following
- [ ] RLHF / DPO alignment
- [ ] Keural Chat model release
---
## Citation
```bibtex
@misc{keural2026,
title = {Keural: A Bilingual Korean-English MoE Language Model},
author = {MKD Hossain},
year = {2026},
url = {https://huggingface.co/mkd-hossain/keural-14.8b-stage2-vllm}
}
```
---
*Trained from scratch on KT Cloud NIPA2-H200 infrastructure using FSDP distributed training.*