BooMinSeong/hotncold

0

stars

74

commits

Python

primary language

May 21, 2026

updated

Browse cluster: LLM Evaluation and Leaderboards β†’

README

πŸ€— Models & Datasets | πŸ“ƒ Blog Post

hotncold: Temperature-Aware Test-Time Scaling

Test-time compute scaling이 κ²°κ΅­ 탐색(search) 의 λ°˜λ³΅μ΄λΌλŠ” κ΄€μ μ—μ„œ, LLM λ””μ½”λ”©μ˜ 핡심 λ³€μˆ˜μΈ μƒ˜ν”Œλ§ μ˜¨λ„κ°€ 탐색 νš¨μœ¨μ— λ―ΈμΉ˜λŠ” 영ν–₯을 λΆ„μ„ν•˜λŠ” 연ꡬ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€.

"The two methods that seem to scale arbitrarily are search and learning." β€” Rich Sutton, The Bitter Lesson


연ꡬ λ°°κ²½ 및 κ°€μ„€

Test-time compute scaling(TTS)은 λͺ¨λΈμ΄ ν•˜λ‚˜μ˜ λ¬Έμ œμ— λŒ€ν•΄ N번의 좔둠을 μˆ˜ν–‰ν•¨μœΌλ‘œμ¨, μΆ”κ°€ ν•™μŠ΅ 없이 μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. 이 과정은 본질적으둜 ν•΄ 곡간(solution space)을 반볡적으둜 νƒμƒ‰ν•˜λŠ” 것과 λ™μΌν•©λ‹ˆλ‹€.

μ΄λ•Œ μƒ˜ν”Œλ§ μ˜¨λ„ $T$λŠ” 탐색 λ²”μœ„λ₯Ό μ§μ ‘μ μœΌλ‘œ κ²°μ •ν•©λ‹ˆλ‹€:

μ˜¨λ„νƒμƒ‰ νŠΉμ„±μ˜ˆμƒ 강점
μ €μ˜¨ (Cold, $T \to 0$)쒁고 μ§‘μ€‘λœ 탐색 β€” κ³ ν™•λ₯  κ²½λ‘œμ— μˆ˜λ ΄λ‹¨μΌ 정닡이 λͺ…ν™•ν•œ 문제, 논리가 연쇄적인 문제
고온 (Hot, $T \to 1+$)λ„“κ³  λ‹€μ–‘ν•œ 탐색 β€” μ €ν™•λ₯  κ²½λ‘œκΉŒμ§€ νƒμƒ‰μ—¬λŸ¬ 접근법이 κ°€λŠ₯ν•œ 문제, 창의적 좔둠이 ν•„μš”ν•œ 문제

핡심 κ°€μ„€: λ™μΌν•œ 계산 μ˜ˆμ‚°(N) ν•˜μ—μ„œ, 문제의 νŠΉμ„±μ— 따라 졜적 μƒ˜ν”Œλ§ μ˜¨λ„κ°€ λ‹€λ₯΄λ©°, μ €μ˜¨κ³Ό 고온의 탐색 λ²”μœ„ 차이가 λ¬Έμ œλ³„ TTS 효율 차이λ₯Ό μ„€λͺ…ν•œλ‹€.


μ ‘κ·Ό 방법

μ„Έ κ°€μ§€ 탐색 μ•Œκ³ λ¦¬μ¦˜ λͺ¨λ‘ PRM(Process Reward Model) 기반으둜 μ˜¨λ„λ³„ 탐색 νš¨μœ¨μ„ μΈ‘μ •ν•©λ‹ˆλ‹€:

μ•Œκ³ λ¦¬μ¦˜ν•΅μ‹¬ 아이디어
Best-of-NN개 μ™„μ„±λ³Έ μƒ˜ν”Œλ§ ν›„ PRM 졜고 점수 선택
Beam Search각 μΆ”λ‘  λ‹¨κ³„μ—μ„œ PRM 점수둜 λΉ” ν™•μž₯
DVTSλ‹€μ–‘μ„±κ³Ό 검증을 κ· ν˜•μžˆκ²Œ κ²°ν•©ν•œ 트리 탐색

μ˜¨λ„κ°€ 각 μ•Œκ³ λ¦¬μ¦˜μ˜ 탐색 λ‹€μ–‘μ„±κ³Ό 수렴 속도에 λ―ΈμΉ˜λŠ” 영ν–₯을 λΉ„κ΅ν•¨μœΌλ‘œμ¨, "μ–Έμ œ hot이 cold보닀 μœ λ¦¬ν•œκ°€" λ₯Ό 규λͺ…ν•©λ‹ˆλ‹€.


μ„€μΉ˜

conda create -n sal python=3.11 && conda activate sal
pip install -e '.[dev]'
huggingface-cli login

λΉ λ₯Έ μ‹œμž‘

export CONFIG=recipes/Qwen2.5-1.5B-Instruct/best_of_n.yaml
uv run python scripts/test_time_compute.py $CONFIG

κΈ°λ³Έ μ„€μ •μœΌλ‘œ MATH-500의 첫 10λ¬Έμ œμ— Best-of-N(n=4)을 μ‹€ν–‰ν•˜κ³  κ²°κ³Όλ₯Ό data/에 μ €μž₯ν•©λ‹ˆλ‹€.

μ»€λ§¨λ“œλΌμΈμœΌλ‘œ 섀정을 μ˜€λ²„λΌμ΄λ“œ:

uv run python scripts/test_time_compute.py $CONFIG \
    --model_path=meta-llama/Llama-3.2-8B-Instruct \
    --prm_path=Skywork/Skywork-o1-Open-PRM-Qwen-2.5-1.5B \
    --dataset_name=AI-MO/aimo-validation-aime \
    --dataset_split=train \
    --n=64 \
    --seed=42

μ°Έκ³ : κΈ°λ³Έ configλŠ” Llama 3 μˆ˜ν•™ μΆ”λ‘  μ΅œμ ν™” μ±„νŒ… ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•©λ‹ˆλ‹€. λ‹€λ₯Έ λͺ¨λΈ 계열은 --custom_chat_template=none 섀정이 ν•„μš”ν•©λ‹ˆλ‹€.


μ˜¨λ„ μ‹€ν—˜

단일 μ˜¨λ„ μ‹€ν—˜

# μ €μ˜¨ (집쀑 탐색)
uv run python scripts/test_time_compute.py $CONFIG --temperature=0.4

# 고온 (λ‹€μ–‘μ„± 탐색)
uv run python scripts/test_time_compute.py $CONFIG --temperature=1.2

λ©€ν‹° μ˜¨λ„ μƒ˜ν”Œλ§

탐색 μ˜ˆμ‚° N을 μ—¬λŸ¬ μ˜¨λ„μ— λΆ„λ°°ν•˜μ—¬ 탐색 닀양성을 κ·ΉλŒ€ν™”ν•©λ‹ˆλ‹€:

# Best-of-N: μ˜¨λ„λ³„ λΉ„μœ¨λ‘œ n λΆ„λ°°
uv run python scripts/test_time_compute.py $CONFIG \
    --temperatures "0.4,0.8,1.2" \
    --temperature_ratios "0.33,0.34,0.33" \
    --n 12

# Beam Search / DVTS: 각 빔이 μ˜¨λ„ λͺ©λ‘μ„ μˆœν™˜
uv run python scripts/test_time_compute.py $CONFIG \
    --approach beam_search \
    --temperatures "0.4,0.8,1.2" \
    --beam_width 3 --n 12

μ„€μ • μ œμ•½: n은 μ˜¨λ„ 수둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ Έμ•Ό ν•˜λ©°, beam_search/dvts의 경우 beam_widthλ‘œλ„ λ‚˜λˆ„μ–΄ λ–¨μ–΄μ Έμ•Ό ν•©λ‹ˆλ‹€. 전체 κ°€μ΄λ“œλŠ” TEST_GUIDE.mdλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

Hot/Cold 비ꡐ μ‹€ν—˜ (핡심 μ‹€ν—˜)

# 전체 μ˜¨λ„ μŠ€νŽ™νŠΈλŸΌμ— λŒ€ν•œ λŒ€κ·œλͺ¨ μ‹€ν—˜ 제좜
./run_hnc.sh

run_hnc.shλŠ” μ €μ˜¨(cold)κ³Ό 고온(hot) 쑰건을 ν¬ν•¨ν•œ μ‹€ν—˜ 배치λ₯Ό Slurm μ–΄λ ˆμ΄ 작으둜 μ œμΆœν•©λ‹ˆλ‹€.


지원 λͺ¨λΈ 및 PRM

생성 λͺ¨λΈ:

λͺ¨λΈμ œκ³΅ λ ˆμ‹œν”Ό
Qwen/Qwen2.5-3B-Instructbest_of_n, beam_search, dvts
Qwen/Qwen2.5-1.5B-Instructbest_of_n, beam_search, dvts
meta-llama/Llama-3.2-3B-Instructbest_of_n, beam_search, dvts
meta-llama/Llama-3.2-1B-Instructbest_of_n, beam_search, dvts
nvidia/AceMath-7B-Instructbest_of_n, beam_search, dvts

ν˜Έν™˜ μ±„νŒ… ν…œν”Œλ¦Ώμ„ κ°€μ§„ λͺ¨λ“  λͺ¨λΈμ€ --model_path둜 μ‚¬μš© κ°€λŠ₯ν•©λ‹ˆλ‹€.

Process Reward Models:

  • RLHFlow/Llama3.1-8B-PRM-Deepseek-Data (κΈ°λ³Έκ°’)
  • peiyi9979/math-shepherd-mistral-7b-prm
  • Skywork/Skywork-o1-Open-PRM-Qwen-2.5-1.5B
  • Skywork/Skywork-o1-Open-PRM-Qwen-2.5-7B
  • TRL둜 직접 ν›ˆλ ¨ν•œ PRM (see recipes/training/)

λŒ€κ·œλͺ¨ μ‹€ν—˜

500문제, n=256, 닀쀑 μ‹œλ“œ/μ˜¨λ„ 쑰건의 전체 μ‹€ν—˜μ€ 병렬화가 ν•„μš”ν•©λ‹ˆλ‹€.

병렬 생성

# 데이터셋을 λΆ„ν• ν•˜μ—¬ μ–΄λ ˆμ΄ 작 제좜
sbatch recipes/launch_array_default.slurm recipes/Qwen2.5-3B-Instruct/best_of_n.yaml \
    --n=256 --seed=0 \
    --hub_dataset_id=<YOUR_ORG>/Qwen2.5-3B-best_of_n-completions

# 전체 μ™„λ£Œ ν›„ κ²°κ³Ό 병합
python scripts/merge_chunks.py \
    --dataset_name=<YOUR_ORG>/Qwen2.5-3B-best_of_n-completions \
    --filter_strings seed-0

μžλ™ν™” 슀크립트

./run_default.sh                               # κΈ°λ³Έ μ‹€ν—˜ 작 전체 제좜
./run_hnc.sh                                   # Hot/Cold μ˜¨λ„ μ‹€ν—˜ 제좜
./merge_default.sh                             # μ™„λ£Œλœ 병렬 κ²°κ³Ό 병합
python scripts/run_missing_auto.py --dry-run   # λˆ„λ½ λ²”μœ„ 탐지 및 제좜

PRM ν›ˆλ ¨

TRL둜 직접 PRM을 νŒŒμΈνŠœλ‹:

pip install -e '.[trl]'
# recipes/training/ 의 λͺ¨λΈλ³„ ν›ˆλ ¨ 슀크립트 μ°Έκ³ 

ν”„λ‘œμ νŠΈ ꡬ쑰

β”œβ”€β”€ src/sal/               # 핡심 라이브러리
β”‚   β”œβ”€β”€ config.py          # 쀑앙 Config λ°μ΄ν„°ν΄λž˜μŠ€
β”‚   β”œβ”€β”€ models/            # PRM λ‘œλ”© 및 μΆ”λ‘ 
β”‚   β”œβ”€β”€ search/            # best_of_n, beam_search, dvts μ•Œκ³ λ¦¬μ¦˜
β”‚   └── utils/             # 데이터 λ‘œλ”©, μŠ€μ½”μ–΄λ§, μ˜¨λ„ μŠ€μΌ€μ€„λ§
β”œβ”€β”€ scripts/               # μ‹€ν—˜ μ§„μž…μ  및 μžλ™ν™”
β”‚   β”œβ”€β”€ test_time_compute.py   # 메인 μ‹€ν—˜ λŸ¬λ„ˆ
β”‚   β”œβ”€β”€ merge_chunks.py        # 병렬 작 κ²°κ³Ό 병합
β”‚   └── run_missing_auto.py    # λˆ„λ½ 작 μžλ™ 탐지/제좜
β”œβ”€β”€ recipes/               # λͺ¨λΈ/μ•Œκ³ λ¦¬μ¦˜λ³„ YAML μ„€μ • + Slurm 런처
β”œβ”€β”€ prm-toolkit/           # PRM μ„œλ²„ 인프라 (git μ„œλΈŒλͺ¨λ“ˆ)
└── TEST_GUIDE.md          # λ©€ν‹° μ˜¨λ„ ν…ŒμŠ€νŠΈ κ°€μ΄λ“œ

Citation

@misc{beeching2024scalingtesttimecompute,
      title={Scaling test-time compute with open models},
      author={Edward Beeching and Lewis Tunstall and Sasha Rush},
      url={https://huggingface.co/spaces/HuggingFaceH4/blogpost-scaling-test-time-compute},
}
@misc{snell2024scalingllmtesttimecompute,
      title={Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters},
      author={Charlie Snell and Jaehoon Lee and Kelvin Xu and Aviral Kumar},
      year={2024},
      eprint={2408.03314},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2408.03314},
}

Contributors

edbeeching

33 commits

lewtun

13 commits

qgallouedec

10 commits

BooMinSeong

9 commits

BooMinSeong/hotncold

0

stars

74

commits

Python

primary language

May 21, 2026

updated

Browse cluster: LLM Evaluation and Leaderboards β†’

README

πŸ€— Models & Datasets | πŸ“ƒ Blog Post

hotncold: Temperature-Aware Test-Time Scaling

Test-time compute scaling이 κ²°κ΅­ 탐색(search) 의 λ°˜λ³΅μ΄λΌλŠ” κ΄€μ μ—μ„œ, LLM λ””μ½”λ”©μ˜ 핡심 λ³€μˆ˜μΈ μƒ˜ν”Œλ§ μ˜¨λ„κ°€ 탐색 νš¨μœ¨μ— λ―ΈμΉ˜λŠ” 영ν–₯을 λΆ„μ„ν•˜λŠ” 연ꡬ ν”„λ ˆμž„μ›Œν¬μž…λ‹ˆλ‹€.

"The two methods that seem to scale arbitrarily are search and learning." β€” Rich Sutton, The Bitter Lesson


연ꡬ λ°°κ²½ 및 κ°€μ„€

Test-time compute scaling(TTS)은 λͺ¨λΈμ΄ ν•˜λ‚˜μ˜ λ¬Έμ œμ— λŒ€ν•΄ N번의 좔둠을 μˆ˜ν–‰ν•¨μœΌλ‘œμ¨, μΆ”κ°€ ν•™μŠ΅ 없이 μ„±λŠ₯을 ν–₯μƒμ‹œν‚€λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. 이 과정은 본질적으둜 ν•΄ 곡간(solution space)을 반볡적으둜 νƒμƒ‰ν•˜λŠ” 것과 λ™μΌν•©λ‹ˆλ‹€.

μ΄λ•Œ μƒ˜ν”Œλ§ μ˜¨λ„ $T$λŠ” 탐색 λ²”μœ„λ₯Ό μ§μ ‘μ μœΌλ‘œ κ²°μ •ν•©λ‹ˆλ‹€:

μ˜¨λ„νƒμƒ‰ νŠΉμ„±μ˜ˆμƒ 강점
μ €μ˜¨ (Cold, $T \to 0$)쒁고 μ§‘μ€‘λœ 탐색 β€” κ³ ν™•λ₯  κ²½λ‘œμ— μˆ˜λ ΄λ‹¨μΌ 정닡이 λͺ…ν™•ν•œ 문제, 논리가 연쇄적인 문제
고온 (Hot, $T \to 1+$)λ„“κ³  λ‹€μ–‘ν•œ 탐색 β€” μ €ν™•λ₯  κ²½λ‘œκΉŒμ§€ νƒμƒ‰μ—¬λŸ¬ 접근법이 κ°€λŠ₯ν•œ 문제, 창의적 좔둠이 ν•„μš”ν•œ 문제

핡심 κ°€μ„€: λ™μΌν•œ 계산 μ˜ˆμ‚°(N) ν•˜μ—μ„œ, 문제의 νŠΉμ„±μ— 따라 졜적 μƒ˜ν”Œλ§ μ˜¨λ„κ°€ λ‹€λ₯΄λ©°, μ €μ˜¨κ³Ό 고온의 탐색 λ²”μœ„ 차이가 λ¬Έμ œλ³„ TTS 효율 차이λ₯Ό μ„€λͺ…ν•œλ‹€.


μ ‘κ·Ό 방법

μ„Έ κ°€μ§€ 탐색 μ•Œκ³ λ¦¬μ¦˜ λͺ¨λ‘ PRM(Process Reward Model) 기반으둜 μ˜¨λ„λ³„ 탐색 νš¨μœ¨μ„ μΈ‘μ •ν•©λ‹ˆλ‹€:

μ•Œκ³ λ¦¬μ¦˜ν•΅μ‹¬ 아이디어
Best-of-NN개 μ™„μ„±λ³Έ μƒ˜ν”Œλ§ ν›„ PRM 졜고 점수 선택
Beam Search각 μΆ”λ‘  λ‹¨κ³„μ—μ„œ PRM 점수둜 λΉ” ν™•μž₯
DVTSλ‹€μ–‘μ„±κ³Ό 검증을 κ· ν˜•μžˆκ²Œ κ²°ν•©ν•œ 트리 탐색

μ˜¨λ„κ°€ 각 μ•Œκ³ λ¦¬μ¦˜μ˜ 탐색 λ‹€μ–‘μ„±κ³Ό 수렴 속도에 λ―ΈμΉ˜λŠ” 영ν–₯을 λΉ„κ΅ν•¨μœΌλ‘œμ¨, "μ–Έμ œ hot이 cold보닀 μœ λ¦¬ν•œκ°€" λ₯Ό 규λͺ…ν•©λ‹ˆλ‹€.


μ„€μΉ˜

conda create -n sal python=3.11 && conda activate sal
pip install -e '.[dev]'
huggingface-cli login

λΉ λ₯Έ μ‹œμž‘

export CONFIG=recipes/Qwen2.5-1.5B-Instruct/best_of_n.yaml
uv run python scripts/test_time_compute.py $CONFIG

κΈ°λ³Έ μ„€μ •μœΌλ‘œ MATH-500의 첫 10λ¬Έμ œμ— Best-of-N(n=4)을 μ‹€ν–‰ν•˜κ³  κ²°κ³Όλ₯Ό data/에 μ €μž₯ν•©λ‹ˆλ‹€.

μ»€λ§¨λ“œλΌμΈμœΌλ‘œ 섀정을 μ˜€λ²„λΌμ΄λ“œ:

uv run python scripts/test_time_compute.py $CONFIG \
    --model_path=meta-llama/Llama-3.2-8B-Instruct \
    --prm_path=Skywork/Skywork-o1-Open-PRM-Qwen-2.5-1.5B \
    --dataset_name=AI-MO/aimo-validation-aime \
    --dataset_split=train \
    --n=64 \
    --seed=42

μ°Έκ³ : κΈ°λ³Έ configλŠ” Llama 3 μˆ˜ν•™ μΆ”λ‘  μ΅œμ ν™” μ±„νŒ… ν…œν”Œλ¦Ώμ„ μ‚¬μš©ν•©λ‹ˆλ‹€. λ‹€λ₯Έ λͺ¨λΈ 계열은 --custom_chat_template=none 섀정이 ν•„μš”ν•©λ‹ˆλ‹€.


μ˜¨λ„ μ‹€ν—˜

단일 μ˜¨λ„ μ‹€ν—˜

# μ €μ˜¨ (집쀑 탐색)
uv run python scripts/test_time_compute.py $CONFIG --temperature=0.4

# 고온 (λ‹€μ–‘μ„± 탐색)
uv run python scripts/test_time_compute.py $CONFIG --temperature=1.2

λ©€ν‹° μ˜¨λ„ μƒ˜ν”Œλ§

탐색 μ˜ˆμ‚° N을 μ—¬λŸ¬ μ˜¨λ„μ— λΆ„λ°°ν•˜μ—¬ 탐색 닀양성을 κ·ΉλŒ€ν™”ν•©λ‹ˆλ‹€:

# Best-of-N: μ˜¨λ„λ³„ λΉ„μœ¨λ‘œ n λΆ„λ°°
uv run python scripts/test_time_compute.py $CONFIG \
    --temperatures "0.4,0.8,1.2" \
    --temperature_ratios "0.33,0.34,0.33" \
    --n 12

# Beam Search / DVTS: 각 빔이 μ˜¨λ„ λͺ©λ‘μ„ μˆœν™˜
uv run python scripts/test_time_compute.py $CONFIG \
    --approach beam_search \
    --temperatures "0.4,0.8,1.2" \
    --beam_width 3 --n 12

μ„€μ • μ œμ•½: n은 μ˜¨λ„ 수둜 λ‚˜λˆ„μ–΄ λ–¨μ–΄μ Έμ•Ό ν•˜λ©°, beam_search/dvts의 경우 beam_widthλ‘œλ„ λ‚˜λˆ„μ–΄ λ–¨μ–΄μ Έμ•Ό ν•©λ‹ˆλ‹€. 전체 κ°€μ΄λ“œλŠ” TEST_GUIDE.mdλ₯Ό μ°Έκ³ ν•˜μ„Έμš”.

Hot/Cold 비ꡐ μ‹€ν—˜ (핡심 μ‹€ν—˜)

# 전체 μ˜¨λ„ μŠ€νŽ™νŠΈλŸΌμ— λŒ€ν•œ λŒ€κ·œλͺ¨ μ‹€ν—˜ 제좜
./run_hnc.sh

run_hnc.shλŠ” μ €μ˜¨(cold)κ³Ό 고온(hot) 쑰건을 ν¬ν•¨ν•œ μ‹€ν—˜ 배치λ₯Ό Slurm μ–΄λ ˆμ΄ 작으둜 μ œμΆœν•©λ‹ˆλ‹€.


지원 λͺ¨λΈ 및 PRM

생성 λͺ¨λΈ:

λͺ¨λΈμ œκ³΅ λ ˆμ‹œν”Ό
Qwen/Qwen2.5-3B-Instructbest_of_n, beam_search, dvts
Qwen/Qwen2.5-1.5B-Instructbest_of_n, beam_search, dvts
meta-llama/Llama-3.2-3B-Instructbest_of_n, beam_search, dvts
meta-llama/Llama-3.2-1B-Instructbest_of_n, beam_search, dvts
nvidia/AceMath-7B-Instructbest_of_n, beam_search, dvts

ν˜Έν™˜ μ±„νŒ… ν…œν”Œλ¦Ώμ„ κ°€μ§„ λͺ¨λ“  λͺ¨λΈμ€ --model_path둜 μ‚¬μš© κ°€λŠ₯ν•©λ‹ˆλ‹€.

Process Reward Models:

  • RLHFlow/Llama3.1-8B-PRM-Deepseek-Data (κΈ°λ³Έκ°’)
  • peiyi9979/math-shepherd-mistral-7b-prm
  • Skywork/Skywork-o1-Open-PRM-Qwen-2.5-1.5B
  • Skywork/Skywork-o1-Open-PRM-Qwen-2.5-7B
  • TRL둜 직접 ν›ˆλ ¨ν•œ PRM (see recipes/training/)

λŒ€κ·œλͺ¨ μ‹€ν—˜

500문제, n=256, 닀쀑 μ‹œλ“œ/μ˜¨λ„ 쑰건의 전체 μ‹€ν—˜μ€ 병렬화가 ν•„μš”ν•©λ‹ˆλ‹€.

병렬 생성

# 데이터셋을 λΆ„ν• ν•˜μ—¬ μ–΄λ ˆμ΄ 작 제좜
sbatch recipes/launch_array_default.slurm recipes/Qwen2.5-3B-Instruct/best_of_n.yaml \
    --n=256 --seed=0 \
    --hub_dataset_id=<YOUR_ORG>/Qwen2.5-3B-best_of_n-completions

# 전체 μ™„λ£Œ ν›„ κ²°κ³Ό 병합
python scripts/merge_chunks.py \
    --dataset_name=<YOUR_ORG>/Qwen2.5-3B-best_of_n-completions \
    --filter_strings seed-0

μžλ™ν™” 슀크립트

./run_default.sh                               # κΈ°λ³Έ μ‹€ν—˜ 작 전체 제좜
./run_hnc.sh                                   # Hot/Cold μ˜¨λ„ μ‹€ν—˜ 제좜
./merge_default.sh                             # μ™„λ£Œλœ 병렬 κ²°κ³Ό 병합
python scripts/run_missing_auto.py --dry-run   # λˆ„λ½ λ²”μœ„ 탐지 및 제좜

PRM ν›ˆλ ¨

TRL둜 직접 PRM을 νŒŒμΈνŠœλ‹:

pip install -e '.[trl]'
# recipes/training/ 의 λͺ¨λΈλ³„ ν›ˆλ ¨ 슀크립트 μ°Έκ³ 

ν”„λ‘œμ νŠΈ ꡬ쑰

β”œβ”€β”€ src/sal/               # 핡심 라이브러리
β”‚   β”œβ”€β”€ config.py          # 쀑앙 Config λ°μ΄ν„°ν΄λž˜μŠ€
β”‚   β”œβ”€β”€ models/            # PRM λ‘œλ”© 및 μΆ”λ‘ 
β”‚   β”œβ”€β”€ search/            # best_of_n, beam_search, dvts μ•Œκ³ λ¦¬μ¦˜
β”‚   └── utils/             # 데이터 λ‘œλ”©, μŠ€μ½”μ–΄λ§, μ˜¨λ„ μŠ€μΌ€μ€„λ§
β”œβ”€β”€ scripts/               # μ‹€ν—˜ μ§„μž…μ  및 μžλ™ν™”
β”‚   β”œβ”€β”€ test_time_compute.py   # 메인 μ‹€ν—˜ λŸ¬λ„ˆ
β”‚   β”œβ”€β”€ merge_chunks.py        # 병렬 작 κ²°κ³Ό 병합
β”‚   └── run_missing_auto.py    # λˆ„λ½ 작 μžλ™ 탐지/제좜
β”œβ”€β”€ recipes/               # λͺ¨λΈ/μ•Œκ³ λ¦¬μ¦˜λ³„ YAML μ„€μ • + Slurm 런처
β”œβ”€β”€ prm-toolkit/           # PRM μ„œλ²„ 인프라 (git μ„œλΈŒλͺ¨λ“ˆ)
└── TEST_GUIDE.md          # λ©€ν‹° μ˜¨λ„ ν…ŒμŠ€νŠΈ κ°€μ΄λ“œ

Citation

@misc{beeching2024scalingtesttimecompute,
      title={Scaling test-time compute with open models},
      author={Edward Beeching and Lewis Tunstall and Sasha Rush},
      url={https://huggingface.co/spaces/HuggingFaceH4/blogpost-scaling-test-time-compute},
}
@misc{snell2024scalingllmtesttimecompute,
      title={Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters},
      author={Charlie Snell and Jaehoon Lee and Kelvin Xu and Aviral Kumar},
      year={2024},
      eprint={2408.03314},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2408.03314},
}

Contributors

edbeeching

33 commits

lewtun

13 commits

qgallouedec

10 commits

BooMinSeong

9 commits

Languages

Python

86.8%

Shell

13.1%