νΈλμ΄(Horangi) λ νκ΅μ΄ LLMμ μ±λ₯μ μ’ ν©μ μΌλ‘ νκ°νλ μ€νμμ€ λ²€μΉλ§ν¬ νλ μμν¬μ λλ€.
λ²μ©μΈμ΄μ±λ₯(GLP)κ³Ό κ°μΉμ λ ¬μ±λ₯(ALT) λ μΆμΌλ‘ νκ΅μ΄ LLMμ νκ°νλ©°, μ΄λ₯Ό μν΄ νμ€νλ λ²€μΉλ§ν¬ λ°μ΄ν°μ κ³Ό νκ° νμ΄νλΌμΈμ μ 곡ν©λλ€.
- π¦ 20κ° μ΄μμ νκ΅μ΄ λ²€μΉλ§ν¬κ° W&B Weaveμ λ±λ‘λμ΄ μμ΄, λ³λμ λ°μ΄ν° μ€λΉ μμ΄ λ°λ‘ νκ°λ₯Ό μμν μ μμ΅λλ€.
- μλ‘μ΄ λ²€μΉλ§ν¬λ₯Ό μΆκ°ν μ μμ΅λλ€. μμΈν λ΄μ©μ μ λ²€μΉλ§ν¬ μΆκ° κ°μ΄λλ₯Ό μ°Έκ³ νμΈμ.
- π OpenAI, Anthropic, Google λ± API λͺ¨λΈμ λ¬Όλ‘ , vLLM λ±μΌλ‘ μλΉνλ μ€νμμ€ λͺ¨λΈκΉμ§ λμΌν κΈ°μ€μΌλ‘ νκ°ν μ μμ΅λλ€.
- π νκ° κ²°κ³Όλ Weights & Biases νλ«νΌμ μλμΌλ‘ κΈ°λ‘λμ΄ μνλ³ λΆμ, λͺ¨λΈ κ° λΉκ΅, 리λ보λ μμ±μ΄ κ°λ₯ν©λλ€.
- π νΈλμ΄ λ¦¬λ보λμμ W&Bκ° μ΄μνλ 곡μ 리λ보λλ₯Ό νμΈν μ μμ΅λλ€.
- W&B Modelsλ‘ νκ° μ€νμ κ΄λ¦¬νκ³ , Weaveλ‘ κ²°κ³Όλ₯Ό μΆμ νμ¬ μμ μλνλ 리λ보λλ₯Ό μ 곡ν©λλ€.
- μ λͺ¨λΈ νκ° μ 리λ보λκ° μλμΌλ‘ μ λ°μ΄νΈλμ΄ νμ μ΅μ κ²°κ³Όλ₯Ό λ°μν©λλ€.
| 리λ보λ λ±μ¬ μ μ² | μ μ² νΌ |
| μν°νλΌμ΄μ¦ λμ λ¬Έμ | contact-kr@wandb.com |
- νΉμ§
- κ²°κ³Ό νμΈ
- μ§μ λ²€μΉλ§ν¬
- νλ‘μ νΈ κ΅¬μ‘°
- μ€μΉ
- λΉ λ₯Έ μμ
- μ€μ κ°μ΄λ
- SWE-bench νκ° (μ½λ μμ±)
- π°π· 20μ¬κ° νκ΅μ΄ λ²€μΉλ§ν¬ μ§μ
- π WandB/Weave μλ λ‘κΉ - μ€ν μΆμ λ° κ²°κ³Ό λΉκ΅
- π λ€μν λͺ¨λΈ μ§μ - OpenAI, Claude, Gemini, Solar, EXAONE λ±
- π 리λ보λ μλ μμ± - Weave UIμμ λͺ¨λΈ λΉκ΅
νκ° μλ£ ν μΆλ ₯λλ Weave URLμμ μμΈ κ²°κ³Όλ₯Ό νμΈν μ μμΌλ©°, Models workspaceμμ μ’ ν© νκ° κ²°κ³Ό ν μ΄λΈμ νμΈν μ μμ΅λλ€. μμΈν λ΄μ©μ Weave κ°μ΄λλ₯Ό μ°Έκ³ νμΈμ.
- μνλ³ μ μ λ° μλ΅
- λͺ¨λΈ κ° λΉκ΅
- μ§κ³ λ©νΈλ¦
- μλ 리λ보λ μμ±
μΈμ΄ μ΄ν΄, μ§μ, μΆλ‘ , μ½λ©, ν¨μνΈμΆ λ± μΌλ°μ μΈ μΈμ΄ λͺ¨λΈ λ₯λ ₯μ νκ°ν©λλ€.
| νκ° μμ | λ²€μΉλ§ν¬ | μ€λͺ | μν μ | μΆμ² |
|---|---|---|---|---|
| ꡬ문ν΄μ | ko_balt_700_syntax |
λ¬Έμ₯ ꡬ쑰 λΆμ, λ¬Έλ²μ νλΉμ± νκ° | 100 | snunlp/KoBALT-700 |
| μλ―Έν΄μ | ko_balt_700_semantic |
λ¬Έλ§₯ κΈ°λ° μΆλ‘ , μλ―Έμ μΌκ΄μ± νκ° | 100 | snunlp/KoBALT-700 |
haerae_bench_v1_rc |
λ ν΄ κΈ°λ° μλ―Έ ν΄μλ ₯ νκ° | 100 | HAERAE-HUB/HAE_RAE_BENCH_1.0 | |
| νν | ko_mtbench |
κΈμ°κΈ°, μν κ·Ή, μΈλ¬Ένμ ννλ ₯ (LLM Judge) | 80 | LGAI-EXAONE/KoMT-Bench |
| μ 보κ²μ | squad_kor_v1 |
μ§μμλ΅ κΈ°λ° μ 보κ²μ λ₯λ ₯ | 100 | KorQuAD/squad_kor_v1 |
| μΌλ°μ§μ | kmmlu |
μμ, STEM κΈ°μ΄νλ¬Έ μ΄ν΄λ | 100 | HAERAE-HUB/KMMLU |
haerae_bench_v1_wo_rc |
λ©ν°ν΄ μ§μμλ΅ κΈ°λ° μ§μ νκ° | 100 | HAERAE-HUB/HAE_RAE_BENCH_1.0 | |
| μ λ¬Έμ§μ | kmmlu_pro |
μν, λ²λ₯ , 곡ν λ± κ³ λλ μ λ¬Έμ§μ | 100 | LGAI-EXAONE/KMMLU-Pro |
ko_hle |
νκ΅μ΄ κ³ λλ μ λ¬Έκ° μμ€ λ¬Έμ | 100 | cais/hle + μ체 λ²μ | |
| μμμΆλ‘ | ko_hellaswag |
λ¬Έμ₯ μμ±, λ€μ λ¬Έμ₯ μμΈ‘ | 100 | davidkim205/ko_hellaswag |
| μνμΆλ‘ | hrm8k |
νκ΅μ΄ μν μΆλ‘ (GSM8K, KSM, MATH, MMMLU, OMNI_MATH ν΅ν©) | 100 | HAERAE-HUB/HRM8K |
ko_aime2025 |
AIME 2025 κ³ λλ μν | 30 | allganize/AIME2025-ko | |
| μΆμμΆλ‘ | ko_arc_agi |
μκ°μ /ꡬ쑰μ μΆλ‘ , μΆμμ λ¬Έμ ν΄κ²° | 100 | ARC-AGI |
| μ½λ© | swebench_verified_official_80 |
GitHub μ΄μ ν΄κ²° λ₯λ ₯ | 80 | SWE-bench |
humaneval_100 |
Python μ½λ μμ± (HumanEval) | 100 | openai/human-eval | |
bigcodebench_100 |
λ³΅ν© μ½λ© λ¬Έμ ν΄κ²° | 100 | bigcode-project/bigcodebench | |
| ν¨μνΈμΆ | bfcl |
ν¨μ νΈμΆ μ νμ± (λ¨μΌ, λ©ν°ν΄, 무κ΄κ³κ²μΆ) | 258 | BFCL |
μ μ΄μ±, μ€λ¦¬, μ ν΄μ±/νΈν₯μ± λ°©μ§, νκ° λ°©μ§ λ± λͺ¨λΈμ μμ μ±κ³Ό μ λ ¬ μμ€μ νκ°ν©λλ€.
| νκ° μμ | λ²€μΉλ§ν¬ | μ€λͺ | μν μ | μΆμ² |
|---|---|---|---|---|
| μ μ΄μ± | ifeval_ko |
μ§μλ¬Έ μν, λͺ λ Ή μ€μ λ₯λ ₯ | 100 | allganize/IFEval-Ko |
| μ€λ¦¬/λλ | ko_moral |
μ¬ν κ·λ² μ€μ, μμ ν μΈμ΄ μμ± | 100 | AI Hub μ€λ¦¬ λ°μ΄ν° |
| μ ν΄μ±λ°©μ§ | korean_hate_speech |
νμ€λ°μΈ, 곡격μ λ°ν νμ§ λ° μ΅μ | 100 | kocohub/korean-hate-speech |
| νΈν₯μ±λ°©μ§ | kobbq |
νΉμ μ§λ¨/μμ±μ λν νΈν₯μ± νκ° | 100 | naver-ai/kobbq |
| νκ°λ°©μ§ | ko_truthful_qa |
μ¬μ€μ± κ²μ¦, κ·Όκ±° κΈ°λ° λ΅λ³ μμ± | 100 | μ체 λ²μ |
ko_hallulens_wikiqa |
Wikipedia QA κΈ°λ° νκ° νκ° | 100 | facebookresearch/HalluLens + μ체 λ²μ | |
ko_hallulens_longwiki |
κΈ΄ λ¬Έλ§₯ Wikipedia νκ° νκ° | 100 | facebookresearch/HalluLens + μ체 λ²μ | |
ko_hallulens_nonexistent |
κ°μ μν°ν° κ±°λΆ λ₯λ ₯ νκ° | 100 | facebookresearch/HalluLens + μ체 λ²μ |
π¦ λ°μ΄ν°μ μ°Έμ‘° (Weave)
λ°μ΄ν°μ
μ horangi/horangi4 νλ‘μ νΈμ μ
λ‘λλμ΄ μμ΅λλ€:
| λ°μ΄ν°μ | Weave Ref |
|---|---|
| KoHellaSwag_mini | weave:///horangi/horangi4/object/KoHellaSwag_mini:latest |
| KoAIME2025_mini | weave:///horangi/horangi4/object/KoAIME2025_mini:latest |
| IFEval_Ko_mini | weave:///horangi/horangi4/object/IFEval_Ko_mini:latest |
| HAERAE_Bench_v1_mini | weave:///horangi/horangi4/object/HAERAE_Bench_v1_mini:latest |
| KoBALT_700_mini | weave:///horangi/horangi4/object/KoBALT_700_mini:latest |
| KMMLU_mini | weave:///horangi/horangi4/object/KMMLU_mini:latest |
| KMMLU_Pro_mini | weave:///horangi/horangi4/object/KMMLU_Pro_mini:latest |
| SQuAD_Kor_v1_mini | weave:///horangi/horangi4/object/SQuAD_Kor_v1_mini:latest |
| KoTruthfulQA_mini | weave:///horangi/horangi4/object/KoTruthfulQA_mini:latest |
| KoMoral_mini | weave:///horangi/horangi4/object/KoMoral_mini:latest |
| KoARC_AGI_mini | weave:///horangi/horangi4/object/KoARC_AGI_mini:latest |
| HRM8K_mini | weave:///horangi/horangi4/object/HRM8K_mini:latest |
| KoreanHateSpeech_mini | weave:///horangi/horangi4/object/KoreanHateSpeech_mini:latest |
| KoBBQ_mini | weave:///horangi/horangi4/object/KoBBQ_mini:latest |
| KoHLE_mini | weave:///horangi/horangi4/object/KoHLE_mini:latest |
| KoHalluLens_WikiQA_mini | weave:///horangi/horangi4/object/KoHalluLens_WikiQA_mini:latest |
| KoHalluLens_LongWiki_mini | weave:///horangi/horangi4/object/KoHalluLens_LongWiki_mini:latest |
| KoHalluLens_NonExistent_mini | weave:///horangi/horangi4/object/KoHalluLens_NonExistent_mini:latest |
| BFCL_mini | weave:///horangi/horangi4/object/BFCL_mini:latest |
| KoMTBench_mini | weave:///horangi/horangi4/object/KoMTBench_mini:latest |
| SWEBench_Verified_80_mini | weave:///horangi/horangi4/object/SWEBench_Verified_80_mini:latest |
horangi/
βββ run_eval.py # νκ° μ€ν μ€ν¬λ¦½νΈ
βββ configs/
β βββ base_config.yaml # μ μ κΈ°λ³Έ μ€μ
β βββ models/ # λͺ¨λΈ μ€μ νμΌ
βββ src/
β βββ benchmarks/
β β βββ horangi.py # @task ν¨μ μ μ (λ²€μΉλ§ν¬ μ§μ
μ )
β βββ core/ # ν΅μ¬ λ‘μ§
β βββ scorers/ # 컀μ€ν
Scorer
β βββ solvers/ # 컀μ€ν
Solver
βββ logs/ # νκ° λ‘κ·Έ
π νμ₯ κ°μ΄λ:
- μ λͺ¨λΈ μΆκ° β docs/README_models_ko.md
- μ λ²€μΉλ§ν¬ μΆκ° β docs/README_benchmark_ko.md
- Python 3.12+
- uv (κΆμ₯) λλ pip
# uv μ€μΉ (μλ κ²½μ°)
curl -LsSf https://astral.sh/uv/install.sh | sh
# μ μ₯μ ν΄λ‘
git clone https://github.com/wandb/llm-leaderboard-korean.git
cd llm-leaderboard-korean
# μμ‘΄μ± μ€μΉ
uv sync0 β 첫 νκ° κ²°κ³ΌκΉμ§ 5λΆ. μλ 4λ¨κ³λ₯Ό μμλλ‘ λ°λΌμ€λ©΄ λ©λλ€.
cp .env.sample .envνμ 3μ’ (W&B)μ λ°λμ μ±μμΌ ν©λλ€. Horangiλ κ²°κ³Όλ₯Ό W&B Models + Weaveλ‘λ§ κΈ°λ‘νλ―λ‘, μ μ€ νλλΌλ μμΌλ©΄ μ€νμ΄ μ€λ¨λ©λλ€.
# νμ
WANDB_API_KEY=... # https://wandb.ai/authorize
WANDB_ENTITY=your-entity
WANDB_PROJECT=your-project
# νκ°ν λͺ¨λΈμ ν΄λΉνλ API ν€λ§ μ±μ°λ©΄ λ©λλ€
OPENAI_API_KEY=...
ANTHROPIC_API_KEY=...
# ...
WANDB_MODE=offline|disabled|dryrunμ μ§μνμ§ μμ΅λλ€.
configs/models/ λλ ν 리μ μλ YAML νμΌ μ΄λ¦(νμ₯μ μ μΈ)μ΄ --config κ°μ
λλ€.
ls configs/models/
# claude-opus-4-5-20251101_high-effort.yaml
# gpt-4o.yaml
# ...리ν¬μ§ν 리μ μλ λͺ¨λΈμ μΆκ°νλ €λ©΄ β μ λͺ¨λΈ μΆκ° κ°μ΄λ
μ²μμ ν λ²€μΉλ§ν¬λ₯Ό 5 μνλ§ λλ €μ μ€μ μ΄ λ§λμ§ νμΈν©λλ€.
uv run python run_eval.py --config gpt-4o --only kmmlu --limit 5μ€ν μ§ν W&B run URLκ³Ό Weave URLμ΄ μΆλ ₯λλ©΄ μ±κ³΅μ λλ€. λ§ν¬λ₯Ό λλ¬ κΈ°λ‘μ΄ μ€μ λ‘ μμλμ§ νμΈνμΈμ.
uv run python run_eval.py --config gpt-4oμ 체 λ²€μΉλ§ν¬λ₯Ό μμ°¨ μ€ννκ³ , μλ£ μ W&B Modelsμ μμ½ ν μ΄λΈμ΄, Weaveμ μνλ³ νΈλ μ΄μ€μ 리λ보λκ° μ λ‘λλ©λλ€.
| μ΅μ | μ€λͺ | μμ |
|---|---|---|
--config |
λͺ¨λΈ μ€μ νμΌλͺ (νμ) | --config gpt-4o |
--only |
νΉμ λ²€μΉλ§ν¬λ§ μ€ν (μΌν ꡬλΆ) | --only kmmlu,kobbq |
--limit |
λ²€μΉλ§ν¬λΉ μν μ μ ν | --limit 10 |
--resume |
μ€λ¨λ W&B run μ΄μ΄κ°κΈ° | --resume abc123xy |
--tag |
W&B νκ·Έ μΆκ° (μ¬λ¬ λ² κ°λ₯) | --tag exp1 --tag test |
--log-dir |
inspect_ai λ‘κ·Έ λλ ν 리 | --log-dir /tmp/my_logs |
- vLLM λͺ¨λΈμ νκ° μμ μ μλ²κ° μλ κΈ°λλκ³ λλλ©΄ μ’ λ£λ©λλ€.
- κ° λ²€μΉλ§ν¬ κ²°κ³Όλ μ€μκ°μΌλ‘ W&Bμ κΈ°λ‘λ©λλ€.
- νκ° μλ£ μ Weave Leaderboard κ° μλμΌλ‘ μ λ°μ΄νΈλ©λλ€.
μμ μ νλ³ μμΈ κ°μ΄λλ μλ λ¬Έμμ μμ΅λλ€.
| νλ €λ κ² | λ¬Έμ |
|---|---|
| μ λͺ¨λΈμ μΆκ°νκ³ νκ°νκΈ° | μ λͺ¨λΈ μΆκ° κ°μ΄λ |
| μ λ²€μΉλ§ν¬λ₯Ό μΆκ°νκΈ° | μ λ²€μΉλ§ν¬ μΆκ° κ°μ΄λ |
| SWE-bench νκ° νκ²½ κ΅¬μΆ | SWE-bench κ°μ΄λ |
| Weaveμμ κ²°κ³Ό λ³΄κ³ λΆμνκΈ° | Weave κ°μ΄λ |
νλ‘μ νΈ λ μ΄μμ:
configs/
βββ base_config.yaml # μ μ κΈ°λ³Έ μ€μ (λ²€μΉλ§ν¬ 곡ν΅)
βββ models/
βββ _template_api.yaml # API λͺ¨λΈ ν
νλ¦Ώ
βββ _template_vllm.yaml # vLLM λͺ¨λΈ ν
νλ¦Ώ
βββ <model-name>.yaml # --config <model-name> μΌλ‘ μ§μ
SWE-benchλ μ€μ μ€νμμ€ νλ‘μ νΈμ λ²κ·Έ μμ λ₯λ ₯μ νκ°νλ λ²€μΉλ§ν¬μ λλ€.
π μμΈν μ€μ κ°μ΄λ: docs/README_swebench_ko.md
# 1. μλ² μ€ν (Dockerκ° μλ Linux νκ²½)
uv run python src/server/swebench_server.py --host 0.0.0.0 --port 8000
# 2. ν΄λΌμ΄μΈνΈ μ€μ (macOS λ±)
export SWE_SERVER_URL=http://YOUR_SERVER:8000
# 3. νκ° μ€ν
uv run python run_eval.py --config gpt-4o --only swebench_verified_official_80 --limit 5