Text Generation
Transformers
Safetensors
Korean
hanforge
korean
causal-lm
pretraining
small-language-model
custom_code
Instructions to use drlee1/HanForge-base with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use drlee1/HanForge-base with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="drlee1/HanForge-base", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("drlee1/HanForge-base", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use drlee1/HanForge-base with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "drlee1/HanForge-base" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "drlee1/HanForge-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/drlee1/HanForge-base
- SGLang
How to use drlee1/HanForge-base with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "drlee1/HanForge-base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "drlee1/HanForge-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "drlee1/HanForge-base" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "drlee1/HanForge-base", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use drlee1/HanForge-base with Docker Model Runner:
docker model run hf.co/drlee1/HanForge-base
| language: | |
| - ko | |
| license: apache-2.0 | |
| library_name: transformers | |
| tags: | |
| - korean | |
| - causal-lm | |
| - pretraining | |
| - small-language-model | |
| pipeline_tag: text-generation | |
| # HanForge 35M (Korean Base) | |
| HanForge 35M is a small Korean causal language model pretrained from scratch on **467M tokens** of Korean text. It is designed as a research-friendly base model for downstream fine-tuning. The model is **not instruction-tuned** and should not be used directly for chat or question answering — see [`drlee1/HanForge-47M-SFT`](https://huggingface.co/drlee1/HanForge-47M-SFT) for that. | |
| ## Model Details | |
| | | | | |
| |---|---| | |
| | **Architecture** | Llama-style decoder (RMSNorm, RoPE, Grouped-Query Attention) | | |
| | **Parameters** | 34.84M | | |
| | **Hidden size** | 512 | | |
| | **Layers** | 8 | | |
| | **Attention heads** | 8 (KV heads: 2, GQA) | | |
| | **Intermediate size** | 1408 | | |
| | **Max position** | 4096 (RoPE θ = 50000) | | |
| | **Vocab size** | 24,000 | | |
| | **Tokenizer** | SentencePiece BPE, Korean-optimized (~2.17 chars/token) | | |
| ## Intended Use | |
| This model is intended for: | |
| - **Continued fine-tuning** on Korean downstream tasks (instruction tuning, classification, etc.) | |
| - **Korean text continuation** and language modeling research | |
| - **Educational use** — exploring small language model training on a single language | |
| It is **not** intended for: | |
| - Direct chat or instruction following (use the fine-tuned variant) | |
| - Production text generation without further training and safety review | |
| - Tasks requiring factual accuracy, reasoning, or multilingual capability | |
| ## Training Data | |
| The model was pretrained on **467M raw tokens** of Korean text drawn from three publicly available sources: | |
| | Source | Description | | |
| |---|---| | |
| | Wikipedia (Korean) | Encyclopedic articles, factual prose | | |
| | FineWeb-2 (Korean subset) | Filtered Korean web text | | |
| | korean-webtext-edu | Educational Korean web content | | |
| The corpus was deduplicated, length-filtered, and tokenized with a Korean-optimized SentencePiece BPE (24k vocab) trained separately on the same data. | |
| ## Training Procedure | |
| | | | | |
| |---|---| | |
| | **Tokens seen** | 467M (1 epoch) | | |
| | **Batch size (effective)** | 16 | | |
| | **Optimizer** | AdamW (β1=0.9, β2=0.95, weight decay 0.1) | | |
| | **Learning rate** | Cosine schedule, peak 3e-4 | | |
| | **Sequence length** | 1024 | | |
| | **Precision** | bf16 mixed precision | | |
| | **Hardware** | Mac MPS / single GPU | | |
| ## Evaluation | |
| The base model achieves the following on internal Korean evaluations: | |
| | Metric | Value | | |
| |---|---| | |
| | Korean character ratio (sample mode) | 87.3% | | |
| | Minimal-pair grammar accuracy | 60.8% | | |
| | Held-out perplexity | ~25 | | |
| > The Korean character ratio includes some false positives where the model produces repeated Korean tokens — this is expected for a base model that has not learned chat formatting. For coherent Korean output, use the fine-tuned variant. | |
| ## Limitations and Bias | |
| - **Small scale (35M)**: Limited reasoning, factual accuracy, and long-form coherence | |
| - **Single-language pretrain**: No English or other language capability | |
| - **Web-derived data**: May reflect biases present in Korean web text; no explicit safety filtering was applied | |
| - **Short pretrain (1 epoch on 467M tokens)**: Roughly 13× the parameter count in tokens — well below modern best practice | |
| This model has not been aligned, RLHF'd, or safety-tuned. Do not deploy in user-facing applications without further training and review. | |
| ## License | |
| Released under the **Apache License 2.0**. The underlying pretraining corpora are subject to their own licenses. | |
| ## Citation | |
| ```bibtex | |
| @misc{hanforge_base_2026, | |
| author = {DongRyeol Lee}, | |
| title = {HanForge 35M: A Small Korean Language Model Pretrained from Scratch}, | |
| year = {2026}, | |
| note = {Pretrained on 467M Korean tokens with a 24k SentencePiece BPE tokenizer} | |
| } | |
| ``` | |