Light-R1: 수학 영역을 위한 360개의 오픈 소스 뛰어난 추론 모델

최신 AI 리소스게시됨 6 개월 전 AI 공유 서클
9.7K 00

일반 소개

Light-R1은 수학의 긴 추론 연쇄인 COT(Chain-of-Thought)에 초점을 맞춰 Qihoo360(치후360) 팀이 개발한 오픈소스 AI 모델입니다. 이 모델은 Qwen2.5-32B-Instruct 모델을 기반으로 하며, 독특한 코스 기반 감독 미세 조정(SFT)과 직접 선호도 최적화(DPO) 훈련 방법을 통해 약 1,000달러(H800 머신 12대에서 6시간 훈련)의 비용으로 수학 경시대회 AIME24와 AIME25에서 각각 76.6점과 64.6점의 높은 점수를 획득하며, 다음과 같은 성과를 냈습니다. (72.6점 및 54.9점)을 달성했으며, Light-R1의 가장 큰 특징은 롱체인 추론 기능이 없는 모델에서 시작하여 오염 제거 데이터와 모델 융합 기술을 결합함으로써 효율적이고 비용 효율적인 성능 혁신을 달성했다는 점입니다. 이 프로젝트는 모델을 공개할 뿐만 아니라 모든 학습 데이터 세트와 코드도 공개하여 롱체인 추론 모델의 대중화와 발전을 촉진하는 것을 목표로 합니다.

Light-R1:360开源的数学领域超强推理模型

 

기능 목록

  • 수학적 추론AIME와 같은 어려운 수학 경시대회에서 정확한 문제 해결을 제공합니다.
  • 긴 체인 추론 지원하드 코딩으로 <think> 레이블을 사용하여 모델이 복잡한 문제에 대해 점진적으로 추론하도록 합니다.
  • 오픈 소스 리소스 공유전체 SFT 및 DPO 교육 데이터 세트와 360-LLaMA-Factory 기반 교육 스크립트를 사용할 수 있습니다.
  • 효율적인 추론 배포: 지원 vLLM 및 SGLang 프레임워크를 사용하여 모델 추론 속도와 리소스 사용을 최적화합니다.
  • 모델 평가 도구딥스케일R 평가 코드 통합, AIME24와 같은 벤치마크 결과 제공.
  • 데이터 오염 제거공정성을 높이기 위해 MATH-500, AIME24/25 등과 같은 벤치마크에 대해 학습 데이터가 오염되지 않았는지 확인합니다.

도움말 사용

획득 및 설치 프로세스

Light-R1은 GitHub에서 호스팅되는 오픈 소스 프로젝트로, 사용자는 아래 단계에 따라 모델을 획득하고 배포할 수 있습니다:

  1. GitHub 리포지토리에 액세스하기
    브라우저를 열고 URL을 입력합니다. https://github.com/Qihoo360/Light-R1를 클릭하면 프로젝트 홈 페이지로 이동합니다. 이 페이지에는 모델에 대한 소개, 데이터 세트 링크 및 코드 설명이 포함되어 있습니다.
  2. 클론 창고
    터미널이나 명령줄에 다음 명령을 입력하여 프로젝트를 로컬에 복제합니다:
git clone https://github.com/Qihoo360/Light-R1.git

복제가 완료되면 프로젝트 디렉토리로 이동합니다:

cd Light-R1
  1. 모델 파일 다운로드
    Light-R1-32B 모델은 허깅 페이스에서 호스팅됩니다. 액세스 https://huggingface.co/Qihoo360/Light-R1-32B모델 가중치 파일을 다운로드하려면 해당 페이지의 지침을 따르세요. 다운로드한 후 파일을 로컬 저장소의 적절한 디렉터리(예 models/), 정확한 경로는 프로젝트 문서에서 확인할 수 있습니다.
  2. 종속 환경 설치
    Light-R1은 추론을 위해 vLLM 또는 SGLang 사용을 권장하며, 관련 종속성을 설치해야 합니다. vLLM을 예로 들어보겠습니다:
  • Python 3.8 이상이 설치되어 있는지 확인합니다.
  • vLLM을 설치합니다:
    pip install vllm
    
  • GPU 지원이 필요한 경우 CUDA가 구성되어 있는지 확인하세요(12 H800 또는 동급 장치 권장).
  1. 데이터 집합 준비(선택 사항)
    교육을 복제하거나 사용자 지정 미세 조정이 필요한 경우 GitHub 페이지(링크)에서 SFT 및 DPO 데이터 세트를 다운로드할 수 있습니다. Curriculum SFT & DPO datasets (부분). 압축을 풀고 data/ 카탈로그.

주요 기능

1. Light-R1을 이용한 수학적 추론

Light-R1의 핵심 기능은 수학 문제, 특히 긴 추론 과정을 거쳐야 하는 복잡한 주제를 해결하는 것입니다. 단계는 다음과 같습니다:

  • 추론 서비스 시작
    터미널의 프로젝트 디렉토리로 이동하여 다음 명령을 실행하여 vLLM 추론 서비스를 시작합니다:
python -m vllm.entrypoints.api_server --model path/to/Light-R1-32B

여기에는 다음이 포함됩니다. path/to/Light-R1-32B 실제 모델 파일 경로로 바꿉니다. 서비스가 시작되면 기본적으로 로컬 포트(일반적으로 8000)에서 수신 대기합니다.

  • 추론 요청 보내기
    Python 스크립트 또는 curl 명령을 사용하여 수학 문제를 모델에 전송합니다. curl을 예로 들어보겠습니다:
curl http://localhost:8000/v1/completions 
-H "Content-Type: application/json" 
-d '{
"model": "Light-R1-32B",
"prompt": "<think>Solve the equation: 2x + 3 = 7</think>",
"max_tokens": 200
}'

이 모델은 단계별 추론 과정과 답변을 반환합니다:

{
"choices": [{
"text": "<think>First, subtract 3 from both sides: 2x + 3 - 3 = 7 - 3, so 2x = 4. Then, divide both sides by 2: 2x / 2 = 4 / 2, so x = 2.</think> The solution is x = 2."
}]
}
  • 주의
  • <think> 레이블은 하드코딩되어 있으며 긴 체인 추론을 트리거하려면 입력에 포함되어야 합니다.
  • AIME 레벨 챌린지의 경우 다음을 추가하는 것이 좋습니다. max_tokens(예: 500)을 입력하여 추론이 완료되었는지 확인합니다.

2. 복제 모델 교육

Light-R1의 트레이닝 과정을 재현하거나 이를 기반으로 2차 개발을 하고 싶다면 아래 단계를 따르세요:

  • 교육 환경 준비하기
    360-LLaMA-Factory 프레임워크를 사용하고 종속 요소를 설치합니다:
pip install -r train-scripts/requirements.txt
  • SFT 1단계 실행
    컴파일러 train-scripts/sft_stage1.sh를 클릭하고 모델 경로와 데이터 세트 경로가 올바른지 확인한 다음 실행합니다:
bash train-scripts/sft_stage1.sh

이 단계에서는 76,000개의 데이터 세트를 사용하며 약 3시간(12 H800s)이 소요됩니다.

  • SFT 2단계 실행
    마찬가지로 실행합니다:
bash train-scripts/sft_stage2.sh

모델 성능을 개선하기 위해 3k 하드 데이터 세트를 사용하세요.

  • 실행 중인 DPO
    구현:
bash train-scripts/dpo.sh

DPO는 SFT 2단계 결과를 기반으로 추론 기능을 더욱 최적화합니다.

  • 모델 병합
    제공된 병합 스크립트를 사용합니다(예 merge_models.py), SFT와 DPO 모델을 융합합니다:
python merge_models.py --sft-model sft_stage2 --dpo-model dpo --output Light-R1-32B

3. 모델 성능 평가

Light-R1은 AIME24와 같은 벤치마크를 테스트할 수 있는 평가 도구를 제공합니다:

  • 평가 스크립트 실행
    존재 deepscaler-release/ 카탈로그, 실행:
python evaluate.py --model Light-R1-32B --benchmark AIME24

결과는 로그북에 기록되며 평균 점수는 64회에 걸쳐 76.6점에 가까워야 합니다.

주요 기능

긴 체인 추론 최적화

Light-R1 채택 <think> 노래로 응답 </think> 모델이 수학 문제를 단계별로 추론할 수 있도록 특수 레이블을 지정합니다. 예를 들어, 입력:

<think>Find the number of positive integers less than 100 that are divisible by 3 or 5.</think>

모델 출력:

<think>Let’s use inclusion-exclusion. Numbers divisible by 3: 99 ÷ 3 = 33. Numbers divisible by 5: 99 ÷ 5 = 19. Numbers divisible by 15 (LCM of 3 and 5): 99 ÷ 15 = 6. Total = 33 + 19 - 6 = 46.</think> Answer: 46.

데이터 오염 제거 안전 장치

훈련 데이터는 AIME24/25와 같은 벤치마크에서 공정성을 보장하기 위해 엄격하게 오염 제거됩니다. 사용자는 데이터 세트(data/ (카탈로그) 중복되는 주제가 없는지 확인합니다.

저비용 교육의 예

Light-R1은 효율적인 학습의 가능성을 보여주며, 사용자는 학습 스크립트를 참조하여 다른 도메인(예: 물리학)에 맞게 모델을 사용자 지정할 수 있습니다.

팁 및 유용한 정보

  • 추론의 정확성 향상증가 max_tokens 또는 여러 실행에 걸쳐 평균을 구합니다.
  • 문제 디버깅평가 로그를 확인하여 특정 주제에 대한 모델의 추론 과정을 분석합니다.
  • 커뮤니티 지원GitHub 페이지의 WeChat 그룹에 가입하여 개발자와 소통하세요.
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...