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/ 검색 로직이 예상대로 작동하는지 확인하는 단위 테스트.

시작하기

  1. 새 환경 생성(Python 3.11 권장) 및 편집 가능한 모드로 패키지 설치:
    conda create -n sal python=3.11 && conda activate sal
    pip install -e '.[dev]'
    
  2. Hugging Face 로그인(스크립트가 모델을 가져오고 결과를 푸시할 수 있도록 함):
    huggingface-cli login
    
  3. Git-LFS 설치(대용량 모델 파일에 필요).
  4. recipes/에서 레시피 선택(예: best_of_n.yaml) 후 recipes/README.md의 설명에 따라 관련 스크립트 실행.

일반적인 워크플로우

  1. 모델 선택(예: meta-llama/Meta-Llama-3-8B).
  2. 검증기 선택(각 추론 단계를 판단할 수 있는 작은 모델 또는 미세 조정된 보상 모델).
  3. YAML 레시피를 편집하여 계산 예산 설정(예: num_samples: 32, beam_width: 5).
  4. 스크립트 실행; 여러 후보를 생성하고 검증기로 점수를 매겨 가장 높은 점수의 답변을 반환.

대상 사용자

  • 추론 시 계산 스케일링을 연구하거나 검색 전략을 비교하려는 연구자.
  • 재학습 없이 고정된 모델에서 더 높은 품질의 답변을 얻어야 하는 실무자.
  • 관련 블로그 게시물과 논문의 결과를 재현하려는 모든 사람.

제한 사항

  • 현재 3가지 검색 알고리즘만 구현되어 있으며, 더 특수한 방법은 수동으로 추가해야 합니다.
  • 검증 모델에 대한 액세스가 필요합니다. 이러한 프로세스 보상 모델 학습은 본 저장소의 범위를 벗어납니다(단, 코드에 훅이 제공됨).
  • 이 툴킷은 배치/클러스터 실행(Accelerate/Slurm)에 맞춰져 있어 소규모 단일 GPU 실험에는 과할 수 있습니다.

인용 코드나 아이디어를 사용하는 경우, 본 저장소의 인용과 기반이 되는 DeepMind 논문을 모두 인용하십시오(둘 다 README에 제공됨).


위의 모든 정보는 저장소의 README에서 직접 가져온 것이며, 외부의 가정은 추가되지 않았습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트