huggingface/search-and-learn
Recipes to scale inference-time compute of open models
Search and Learn – 오픈 LLM을 위한 추론 시 계산 스케일링
개요
- Hugging Face에서 제공하는 소규모 오픈 소스 툴킷으로, 대규모 언어 모델이 추론 시 "더 오래 생각"할 수 있도록 하는 레시피와 스크립트를 제공합니다. 수학이나 코드 생성과 같은 어려운 문제에 더 많은 계산 리소스를 할당할 수 있도록 몇 가지 검색 기반 추론 전략(Best-of-N, beam search, Diverse Verifier Tree Search)을 구현했습니다.
중요성
- 모델이 점점 커짐에 따라 학습 비용이 매우 비싸지고 있습니다. 추론 중에 사용되는 계산량을 늘림으로써, OpenAI의 o1 모델이 보여주는 것처럼 고정된 크기의 모델에서 더 나은 결과를 얻을 수 있습니다.
핵심 구성 요소
| 구성 요소 | 역할 |
|---|---|
scripts/ |
계산 스케일링 파이프라인을 시작하는 명령줄 유틸리티 (클러스터에서 작업 시작, 모델 로드, 검색 알고리즘 실행 등). |
recipes/ |
추론 실행 내용을 설명하는 YAML 설정 파일: 모델, 검색 알고리즘, 하이퍼파라미터(빔 너비, 샘플 수, 검증 모델 등) 및 Accelerate/Slurm 설정. |
src/ |
검색 알고리즘과 중간 추론 단계를 평가하기 위한 "프로세스 보상 모델"(검증기) 인터페이스를 구현한 최소한의 Python 라이브러리. |
tests/ |
검색 로직이 예상대로 작동하는지 확인하는 단위 테스트. |
시작하기
- 새 환경 생성(Python 3.11 권장) 및 편집 가능한 모드로 패키지 설치:
conda create -n sal python=3.11 && conda activate sal pip install -e '.[dev]' - Hugging Face 로그인(스크립트가 모델을 가져오고 결과를 푸시할 수 있도록 함):
huggingface-cli login - Git-LFS 설치(대용량 모델 파일에 필요).
recipes/에서 레시피 선택(예:best_of_n.yaml) 후recipes/README.md의 설명에 따라 관련 스크립트 실행.
일반적인 워크플로우
- 모델 선택(예:
meta-llama/Meta-Llama-3-8B). - 검증기 선택(각 추론 단계를 판단할 수 있는 작은 모델 또는 미세 조정된 보상 모델).
- YAML 레시피를 편집하여 계산 예산 설정(예:
num_samples: 32,beam_width: 5). - 스크립트 실행; 여러 후보를 생성하고 검증기로 점수를 매겨 가장 높은 점수의 답변을 반환.
대상 사용자
- 추론 시 계산 스케일링을 연구하거나 검색 전략을 비교하려는 연구자.
- 재학습 없이 고정된 모델에서 더 높은 품질의 답변을 얻어야 하는 실무자.
- 관련 블로그 게시물과 논문의 결과를 재현하려는 모든 사람.
제한 사항
- 현재 3가지 검색 알고리즘만 구현되어 있으며, 더 특수한 방법은 수동으로 추가해야 합니다.
- 검증 모델에 대한 액세스가 필요합니다. 이러한 프로세스 보상 모델 학습은 본 저장소의 범위를 벗어납니다(단, 코드에 훅이 제공됨).
- 이 툴킷은 배치/클러스터 실행(Accelerate/Slurm)에 맞춰져 있어 소규모 단일 GPU 실험에는 과할 수 있습니다.
인용 코드나 아이디어를 사용하는 경우, 본 저장소의 인용과 기반이 되는 DeepMind 논문을 모두 인용하십시오(둘 다 README에 제공됨).
위의 모든 정보는 저장소의 README에서 직접 가져온 것이며, 외부의 가정은 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트