# ๐Ÿฏ Horangi - ํ•œ๊ตญ์–ด LLM ๋ฒค์น˜๋งˆํฌ ํ‰๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ **ํ˜ธ๋ž‘์ด(Horangi)** ๋Š” ํ•œ๊ตญ์–ด LLM์˜ ์„ฑ๋Šฅ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ฒค์น˜๋งˆํฌ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๋ฒ”์šฉ์–ธ์–ด์„ฑ๋Šฅ(GLP)๊ณผ ๊ฐ€์น˜์ •๋ ฌ์„ฑ๋Šฅ(ALT) ๋‘ ์ถ•์œผ๋กœ ํ•œ๊ตญ์–ด LLM์„ ํ‰๊ฐ€ํ•˜๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ํ‘œ์ค€ํ™”๋œ ๋ฒค์น˜๋งˆํฌ ๋ฐ์ดํ„ฐ์…‹๊ณผ ํ‰๊ฐ€ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. - ๐Ÿ“ฆ 20๊ฐœ ์ด์ƒ์˜ ํ•œ๊ตญ์–ด ๋ฒค์น˜๋งˆํฌ๊ฐ€ [W&B Weave](https://wandb.ai/horangi/horangi4/weave/objects)์— ๋“ฑ๋ก๋˜์–ด ์žˆ์–ด, ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ ์ค€๋น„ ์—†์ด ๋ฐ”๋กœ ํ‰๊ฐ€๋ฅผ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ์ƒˆ๋กœ์šด ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [์ƒˆ ๋ฒค์น˜๋งˆํฌ ์ถ”๊ฐ€ ๊ฐ€์ด๋“œ](./docs/README_benchmark_ko.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. - ๐Ÿ”“ OpenAI, Anthropic, Google ๋“ฑ API ๋ชจ๋ธ์€ ๋ฌผ๋ก , vLLM ๋“ฑ์œผ๋กœ ์„œ๋น™ํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ๋ชจ๋ธ๊นŒ์ง€ ๋™์ผํ•œ ๊ธฐ์ค€์œผ๋กœ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - ๐Ÿ“Š ํ‰๊ฐ€ ๊ฒฐ๊ณผ๋Š” Weights & Biases ํ”Œ๋žซํผ์— ์ž๋™์œผ๋กœ ๊ธฐ๋ก๋˜์–ด ์ƒ˜ํ”Œ๋ณ„ ๋ถ„์„, ๋ชจ๋ธ ๊ฐ„ ๋น„๊ต, ๋ฆฌ๋”๋ณด๋“œ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. - ๐Ÿ† [**ํ˜ธ๋ž‘์ด ๋ฆฌ๋”๋ณด๋“œ**](https://horangi.ai)์—์„œ W&B๊ฐ€ ์šด์˜ํ•˜๋Š” ๊ณต์‹ ๋ฆฌ๋”๋ณด๋“œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. - W&B Models๋กœ ํ‰๊ฐ€ ์‹คํ–‰์„ ๊ด€๋ฆฌํ•˜๊ณ , Weave๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ถ”์ ํ•˜์—ฌ **์™„์ „ ์ž๋™ํ™”๋œ ๋ฆฌ๋”๋ณด๋“œ**๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. - ์ƒˆ ๋ชจ๋ธ ํ‰๊ฐ€ ์‹œ ๋ฆฌ๋”๋ณด๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์–ด ํ•ญ์ƒ ์ตœ์‹  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค. ### ๐Ÿ“ฌ ๋ฌธ์˜ | | | |---|---| | ๋ฆฌ๋”๋ณด๋“œ ๋“ฑ์žฌ ์‹ ์ฒญ | [์‹ ์ฒญ ํผ](https://docs.google.com/forms/d/e/1FAIpQLSdQERNX8jCEuqzUiodjnUdAI7JRCemy5sgmVylio-u0DRb9Xw/viewform) | | ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋„์ž… ๋ฌธ์˜ | contact-kr@wandb.com | --- ## ๐Ÿ“‹ ๋ชฉ์ฐจ - [ํŠน์ง•](#-ํŠน์ง•) - [๊ฒฐ๊ณผ ํ™•์ธ](#-๊ฒฐ๊ณผ-ํ™•์ธ) - [์ง€์› ๋ฒค์น˜๋งˆํฌ](#-์ง€์›-๋ฒค์น˜๋งˆํฌ) - [ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ](#-ํ”„๋กœ์ ํŠธ-๊ตฌ์กฐ) - [์„ค์น˜](#-์„ค์น˜) - [๋น ๋ฅธ ์‹œ์ž‘](#-๋น ๋ฅธ-์‹œ์ž‘) - [์„ค์ • ๊ฐ€์ด๋“œ](#๏ธ-์„ค์ •-๊ฐ€์ด๋“œ) - [SWE-bench ํ‰๊ฐ€ (์ฝ”๋“œ ์ƒ์„ฑ)](#-swe-bench-ํ‰๊ฐ€-์ฝ”๋“œ-์ƒ์„ฑ) --- ## โœจ ํŠน์ง• - ๐Ÿ‡ฐ๐Ÿ‡ท **20์—ฌ๊ฐœ ํ•œ๊ตญ์–ด ๋ฒค์น˜๋งˆํฌ** ์ง€์› - ๐Ÿ“Š **WandB/Weave ์ž๋™ ๋กœ๊น…** - ์‹คํ—˜ ์ถ”์  ๋ฐ ๊ฒฐ๊ณผ ๋น„๊ต - ๐Ÿš€ **๋‹ค์–‘ํ•œ ๋ชจ๋ธ ์ง€์›** - OpenAI, Claude, Gemini, Solar, EXAONE ๋“ฑ - ๐Ÿ“ˆ **๋ฆฌ๋”๋ณด๋“œ ์ž๋™ ์ƒ์„ฑ** - Weave UI์—์„œ ๋ชจ๋ธ ๋น„๊ต ### ๐Ÿ“ˆ ๊ฒฐ๊ณผ ํ™•์ธ ํ‰๊ฐ€ ์™„๋ฃŒ ํ›„ ์ถœ๋ ฅ๋˜๋Š” Weave URL์—์„œ ์ƒ์„ธ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Models workspace์—์„œ ์ข…ํ•ฉ ํ‰๊ฐ€ ๊ฒฐ๊ณผ ํ…Œ์ด๋ธ”์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Weave ๊ฐ€์ด๋“œ](./docs/README_weave_ko.md)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. - **์ƒ˜ํ”Œ๋ณ„ ์ ์ˆ˜ ๋ฐ ์‘๋‹ต** - **๋ชจ๋ธ ๊ฐ„ ๋น„๊ต** - **์ง‘๊ณ„ ๋ฉ”ํŠธ๋ฆญ** - **์ž๋™ ๋ฆฌ๋”๋ณด๋“œ ์ƒ์„ฑ** ![Workspace](./docs/assets/workspace.png) --- ## ๐Ÿ“Š ์ง€์› ๋ฒค์น˜๋งˆํฌ ### ๋ฒ”์šฉ์–ธ์–ด์„ฑ๋Šฅ (GLP) - General Language Performance ์–ธ์–ด ์ดํ•ด, ์ง€์‹, ์ถ”๋ก , ์ฝ”๋”ฉ, ํ•จ์ˆ˜ํ˜ธ์ถœ ๋“ฑ ์ผ๋ฐ˜์ ์ธ ์–ธ์–ด ๋ชจ๋ธ ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. | ํ‰๊ฐ€ ์˜์—ญ | ๋ฒค์น˜๋งˆํฌ | ์„ค๋ช… | ์ƒ˜ํ”Œ ์ˆ˜ | ์ถœ์ฒ˜ | |----------|----------|------|--------:|------| | **๊ตฌ๋ฌธํ•ด์„** | `ko_balt_700_syntax` | ๋ฌธ์žฅ ๊ตฌ์กฐ ๋ถ„์„, ๋ฌธ๋ฒ•์  ํƒ€๋‹น์„ฑ ํ‰๊ฐ€ | 100 | [snunlp/KoBALT-700](https://huggingface.co/datasets/snunlp/KoBALT-700) | | **์˜๋ฏธํ•ด์„** | `ko_balt_700_semantic` | ๋ฌธ๋งฅ ๊ธฐ๋ฐ˜ ์ถ”๋ก , ์˜๋ฏธ์  ์ผ๊ด€์„ฑ ํ‰๊ฐ€ | 100 | [snunlp/KoBALT-700](https://huggingface.co/datasets/snunlp/KoBALT-700) | | | `haerae_bench_v1_rc` | ๋…ํ•ด ๊ธฐ๋ฐ˜ ์˜๋ฏธ ํ•ด์„๋ ฅ ํ‰๊ฐ€ | 100 | [HAERAE-HUB/HAE_RAE_BENCH_1.0](https://huggingface.co/datasets/HAERAE-HUB/HAE_RAE_BENCH_1.0) | | **ํ‘œํ˜„** | `ko_mtbench` | ๊ธ€์“ฐ๊ธฐ, ์—ญํ• ๊ทน, ์ธ๋ฌธํ•™์  ํ‘œํ˜„๋ ฅ (LLM Judge) | 80 | [LGAI-EXAONE/KoMT-Bench](https://huggingface.co/datasets/LGAI-EXAONE/KoMT-Bench) | | **์ •๋ณด๊ฒ€์ƒ‰** | `squad_kor_v1` | ์งˆ์˜์‘๋‹ต ๊ธฐ๋ฐ˜ ์ •๋ณด๊ฒ€์ƒ‰ ๋Šฅ๋ ฅ | 100 | [KorQuAD/squad_kor_v1](https://huggingface.co/datasets/KorQuAD/squad_kor_v1) | | **์ผ๋ฐ˜์ง€์‹** | `kmmlu` | ์ƒ์‹, STEM ๊ธฐ์ดˆํ•™๋ฌธ ์ดํ•ด๋„ | 100 | [HAERAE-HUB/KMMLU](https://huggingface.co/datasets/HAERAE-HUB/KMMLU) | | | `haerae_bench_v1_wo_rc` | ๋ฉ€ํ‹ฐํ„ด ์งˆ์˜์‘๋‹ต ๊ธฐ๋ฐ˜ ์ง€์‹ ํ‰๊ฐ€ | 100 | [HAERAE-HUB/HAE_RAE_BENCH_1.0](https://huggingface.co/datasets/HAERAE-HUB/HAE_RAE_BENCH_1.0) | | **์ „๋ฌธ์ง€์‹** | `kmmlu_pro` | ์˜ํ•™, ๋ฒ•๋ฅ , ๊ณตํ•™ ๋“ฑ ๊ณ ๋‚œ๋„ ์ „๋ฌธ์ง€์‹ | 100 | [LGAI-EXAONE/KMMLU-Pro](https://huggingface.co/datasets/LGAI-EXAONE/KMMLU-Pro) | | | `ko_hle` | ํ•œ๊ตญ์–ด ๊ณ ๋‚œ๋„ ์ „๋ฌธ๊ฐ€ ์ˆ˜์ค€ ๋ฌธ์ œ | 100 | [cais/hle](https://huggingface.co/datasets/cais/hle) + ์ž์ฒด ๋ฒˆ์—ญ | | **์ƒ์‹์ถ”๋ก ** | `ko_hellaswag` | ๋ฌธ์žฅ ์™„์„ฑ, ๋‹ค์Œ ๋ฌธ์žฅ ์˜ˆ์ธก | 100 | [davidkim205/ko_hellaswag](https://huggingface.co/datasets/davidkim205/ko_hellaswag) | | **์ˆ˜ํ•™์ถ”๋ก ** | `hrm8k` | ํ•œ๊ตญ์–ด ์ˆ˜ํ•™ ์ถ”๋ก  (GSM8K, KSM, MATH, MMMLU, OMNI_MATH ํ†ตํ•ฉ) | 100 | [HAERAE-HUB/HRM8K](https://huggingface.co/datasets/HAERAE-HUB/HRM8K) | | | `ko_aime2025` | AIME 2025 ๊ณ ๋‚œ๋„ ์ˆ˜ํ•™ | 30 | [allganize/AIME2025-ko](https://huggingface.co/datasets/allganize/AIME2025-ko) | | **์ถ”์ƒ์ถ”๋ก ** | `ko_arc_agi` | ์‹œ๊ฐ์ /๊ตฌ์กฐ์  ์ถ”๋ก , ์ถ”์ƒ์  ๋ฌธ์ œ ํ•ด๊ฒฐ | 100 | [ARC-AGI](https://arcprize.org/) | | **์ฝ”๋”ฉ** | `swebench_verified_official_80` | GitHub ์ด์Šˆ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ | 80 | [SWE-bench](https://www.swebench.com/) | | | `humaneval_100` | Python ์ฝ”๋“œ ์ƒ์„ฑ (HumanEval) | 100 | [openai/human-eval](https://github.com/openai/human-eval) | | | `bigcodebench_100` | ๋ณตํ•ฉ ์ฝ”๋”ฉ ๋ฌธ์ œ ํ•ด๊ฒฐ | 100 | [bigcode-project/bigcodebench](https://github.com/bigcode-project/bigcodebench) | | **ํ•จ์ˆ˜ํ˜ธ์ถœ** | `bfcl` | ํ•จ์ˆ˜ ํ˜ธ์ถœ ์ •ํ™•์„ฑ (๋‹จ์ผ, ๋ฉ€ํ‹ฐํ„ด, ๋ฌด๊ด€๊ณ„๊ฒ€์ถœ) | 258 | [BFCL](https://gorilla.cs.berkeley.edu/blogs/8_berkeley_function_calling_leaderboard.html) | ### ๊ฐ€์น˜์ •๋ ฌ์„ฑ๋Šฅ (ALT) - Alignment Performance ์ œ์–ด์„ฑ, ์œค๋ฆฌ, ์œ ํ•ด์„ฑ/ํŽธํ–ฅ์„ฑ ๋ฐฉ์ง€, ํ™˜๊ฐ ๋ฐฉ์ง€ ๋“ฑ ๋ชจ๋ธ์˜ ์•ˆ์ „์„ฑ๊ณผ ์ •๋ ฌ ์ˆ˜์ค€์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. | ํ‰๊ฐ€ ์˜์—ญ | ๋ฒค์น˜๋งˆํฌ | ์„ค๋ช… | ์ƒ˜ํ”Œ ์ˆ˜ | ์ถœ์ฒ˜ | |----------|----------|------|--------:|------| | **์ œ์–ด์„ฑ** | `ifeval_ko` | ์ง€์‹œ๋ฌธ ์ˆ˜ํ–‰, ๋ช…๋ น ์ค€์ˆ˜ ๋Šฅ๋ ฅ | 100 | [allganize/IFEval-Ko](https://huggingface.co/datasets/allganize/IFEval-Ko) | | **์œค๋ฆฌ/๋„๋•** | `ko_moral` | ์‚ฌํšŒ ๊ทœ๋ฒ” ์ค€์ˆ˜, ์•ˆ์ „ํ•œ ์–ธ์–ด ์ƒ์„ฑ | 100 | [AI Hub ์œค๋ฆฌ ๋ฐ์ดํ„ฐ](https://aihub.or.kr/aihubdata/data/view.do?dataSetSn=558) | | **์œ ํ•ด์„ฑ๋ฐฉ์ง€** | `korean_hate_speech` | ํ˜์˜ค๋ฐœ์–ธ, ๊ณต๊ฒฉ์  ๋ฐœํ™” ํƒ์ง€ ๋ฐ ์–ต์ œ | 100 | [kocohub/korean-hate-speech](https://github.com/kocohub/korean-hate-speech) | | **ํŽธํ–ฅ์„ฑ๋ฐฉ์ง€** | `kobbq` | ํŠน์ • ์ง‘๋‹จ/์†์„ฑ์— ๋Œ€ํ•œ ํŽธํ–ฅ์„ฑ ํ‰๊ฐ€ | 100 | [naver-ai/kobbq](https://huggingface.co/datasets/naver-ai/kobbq) | | **ํ™˜๊ฐ๋ฐฉ์ง€** | `ko_truthful_qa` | ์‚ฌ์‹ค์„ฑ ๊ฒ€์ฆ, ๊ทผ๊ฑฐ ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€ ์ƒ์„ฑ | 100 | ์ž์ฒด ๋ฒˆ์—ญ | | | `ko_hallulens_wikiqa` | Wikipedia QA ๊ธฐ๋ฐ˜ ํ™˜๊ฐ ํ‰๊ฐ€ | 100 | [facebookresearch/HalluLens](https://github.com/facebookresearch/HalluLens) + ์ž์ฒด ๋ฒˆ์—ญ | | | `ko_hallulens_longwiki` | ๊ธด ๋ฌธ๋งฅ Wikipedia ํ™˜๊ฐ ํ‰๊ฐ€ | 100 | [facebookresearch/HalluLens](https://github.com/facebookresearch/HalluLens) + ์ž์ฒด ๋ฒˆ์—ญ | | | `ko_hallulens_nonexistent` | ๊ฐ€์ƒ ์—”ํ‹ฐํ‹ฐ ๊ฑฐ๋ถ€ ๋Šฅ๋ ฅ ํ‰๊ฐ€ | 100 | [facebookresearch/HalluLens](https://github.com/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_models_ko.md) > - ์ƒˆ ๋ฒค์น˜๋งˆํฌ ์ถ”๊ฐ€ โ†’ [docs/README_benchmark_ko.md](docs/README_benchmark_ko.md) --- ## ๐Ÿ“ฆ ์„ค์น˜ ### ์š”๊ตฌ ์‚ฌํ•ญ - Python 3.12+ - [uv](https://github.com/astral-sh/uv) (๊ถŒ์žฅ) ๋˜๋Š” pip ### ์„ค์น˜ ๋ฐฉ๋ฒ• ```bash # 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 sync ``` --- ## ๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘ **0 โ†’ ์ฒซ ํ‰๊ฐ€ ๊ฒฐ๊ณผ๊นŒ์ง€ 5๋ถ„**. ์•„๋ž˜ 4๋‹จ๊ณ„๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋”ฐ๋ผ์˜ค๋ฉด ๋ฉ๋‹ˆ๋‹ค. ### 1. `.env` ํŒŒ์ผ ์ƒ์„ฑ ```bash cp .env.sample .env ``` ํ•„์ˆ˜ 3์ข…(W&B)์€ ๋ฐ˜๋“œ์‹œ ์ฑ„์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. Horangi๋Š” ๊ฒฐ๊ณผ๋ฅผ W&B Models + Weave๋กœ๋งŒ ๊ธฐ๋กํ•˜๋ฏ€๋กœ, ์…‹ ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์—†์œผ๋ฉด ์‹คํ–‰์ด ์ค‘๋‹จ๋ฉ๋‹ˆ๋‹ค. ```bash # ํ•„์ˆ˜ 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` ์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ### 2. ํ‰๊ฐ€ํ•  ๋ชจ๋ธ ์„ ํƒ `configs/models/` ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” YAML ํŒŒ์ผ ์ด๋ฆ„(ํ™•์žฅ์ž ์ œ์™ธ)์ด `--config` ๊ฐ’์ž…๋‹ˆ๋‹ค. ```bash ls configs/models/ # claude-opus-4-5-20251101_high-effort.yaml # gpt-4o.yaml # ... ``` ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ์—†๋Š” ๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด โ†’ [์ƒˆ ๋ชจ๋ธ ์ถ”๊ฐ€ ๊ฐ€์ด๋“œ](./docs/README_models_ko.md) ### 3. Smoke test (์†Œ๋Ÿ‰ ์‹คํ–‰) ์ฒ˜์Œ์—” ํ•œ ๋ฒค์น˜๋งˆํฌ๋ฅผ 5 ์ƒ˜ํ”Œ๋งŒ ๋Œ๋ ค์„œ ์„ค์ •์ด ๋งž๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ```bash uv run python run_eval.py --config gpt-4o --only kmmlu --limit 5 ``` ์‹คํ–‰ ์งํ›„ W&B run URL๊ณผ Weave URL์ด ์ถœ๋ ฅ๋˜๋ฉด ์„ฑ๊ณต์ž…๋‹ˆ๋‹ค. ๋งํฌ๋ฅผ ๋ˆŒ๋Ÿฌ ๊ธฐ๋ก์ด ์‹ค์ œ๋กœ ์Œ“์˜€๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”. ### 4. ์ „์ฒด ํ‰๊ฐ€ ```bash 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** ๊ฐ€ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. --- ## โš™๏ธ ์„ค์ • ๊ฐ€์ด๋“œ ์ž‘์—… ์œ ํ˜•๋ณ„ ์ƒ์„ธ ๊ฐ€์ด๋“œ๋Š” ์•„๋ž˜ ๋ฌธ์„œ์— ์žˆ์Šต๋‹ˆ๋‹ค. | ํ•˜๋ ค๋Š” ๊ฒƒ | ๋ฌธ์„œ | |---|---| | ์ƒˆ ๋ชจ๋ธ์„ ์ถ”๊ฐ€ํ•˜๊ณ  ํ‰๊ฐ€ํ•˜๊ธฐ | [์ƒˆ ๋ชจ๋ธ ์ถ”๊ฐ€ ๊ฐ€์ด๋“œ](./docs/README_models_ko.md) | | ์ƒˆ ๋ฒค์น˜๋งˆํฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ | [์ƒˆ ๋ฒค์น˜๋งˆํฌ ์ถ”๊ฐ€ ๊ฐ€์ด๋“œ](./docs/README_benchmark_ko.md) | | SWE-bench ํ‰๊ฐ€ ํ™˜๊ฒฝ ๊ตฌ์ถ• | [SWE-bench ๊ฐ€์ด๋“œ](./docs/README_swebench_ko.md) | | Weave์—์„œ ๊ฒฐ๊ณผ ๋ณด๊ณ  ๋ถ„์„ํ•˜๊ธฐ | [Weave ๊ฐ€์ด๋“œ](./docs/README_weave_ko.md) | ํ”„๋กœ์ ํŠธ ๋ ˆ์ด์•„์›ƒ: ``` configs/ โ”œโ”€โ”€ base_config.yaml # ์ „์—ญ ๊ธฐ๋ณธ ์„ค์ • (๋ฒค์น˜๋งˆํฌ ๊ณตํ†ต) โ””โ”€โ”€ models/ โ”œโ”€โ”€ _template_api.yaml # API ๋ชจ๋ธ ํ…œํ”Œ๋ฆฟ โ”œโ”€โ”€ _template_vllm.yaml # vLLM ๋ชจ๋ธ ํ…œํ”Œ๋ฆฟ โ””โ”€โ”€ .yaml # --config ์œผ๋กœ ์ง€์ • ``` --- ## ๐Ÿ”ง SWE-bench ํ‰๊ฐ€ (์ฝ”๋“œ ์ƒ์„ฑ) SWE-bench๋Š” ์‹ค์ œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์˜ ๋ฒ„๊ทธ ์ˆ˜์ • ๋Šฅ๋ ฅ์„ ํ‰๊ฐ€ํ•˜๋Š” ๋ฒค์น˜๋งˆํฌ์ž…๋‹ˆ๋‹ค. ๐Ÿ“– **์ž์„ธํ•œ ์„ค์ • ๊ฐ€์ด๋“œ**: [docs/README_swebench_ko.md](docs/README_swebench_ko.md) ### ๋น ๋ฅธ ์‹œ์ž‘ ```bash # 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 ``` --- ## ๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ - [Horangi ๋ฆฌ๋”๋ณด๋“œ](https://horangi.ai) - [W&B Models](https://wandb.ai/site/models) - [W&B Weave](https://wandb.ai/site/weave)