Repolode
MakazhanAlpamys

MakazhanAlpamys/Soup

단일 YAML 설정으로 LLM을 미세 조정하고 후속 학습하는 CLI 도구로, 저VRAM 소비자용 GPU에서도 학습할 수 있습니다.

스타
9,388
포크
1,540
열린 이슈
195
마지막 커밋
어제

어떤 프로젝트인가요?

Soup은 대규모 언어 모델을 미세 조정하고 후속 학습하는 명령줄 도구입니다. 기본 모델, 작업, 데이터셋, 학습 옵션을 하나의 YAML 파일에 정의하고 `soup train` 명령으로 학습을 실행합니다. 지원하는 작업에는 SFT, DPO·KTO·ORPO·SimPO 같은 선호도 학습 기법, GRPO·PPO 같은 강화 학습 방식이 있으며, 기본 어댑터 및 양자화 방식으로 LoRA와 QLoRA를 사용합니다.

Soup은 클라우드 GPU 인스턴스를 직접 관리하지 않고 로컬에서 학습하려는 개발자를 대상으로 합니다. Alpaca, ShareGPT, ChatML 등의 데이터셋 형식을 JSONL, JSON, CSV, Parquet, TXT 파일에서 자동으로 감지합니다. 학습 후 모델과 상호작용하기, OpenAI 호환 API로 서빙하기, 어댑터 병합하기, Ollama나 llama.cpp에서 사용할 GGUF로 내보내기, Hugging Face Hub에 푸시하기 등의 작업도 지원합니다.

별도로 활성화할 수 있는 레이어 스트리밍 모드는 고정된 기본 모델을 호스트 RAM에 두고 디코더 레이어를 한 번에 하나씩 GPU로 옮깁니다. 프로젝트에 따르면 이 기능으로 4GB 노트북 GPU에서 8B 모델을 미세 조정할 수 있습니다. 이 모드는 프로젝트에서 베타로 표시되어 있습니다. 선택적 추가 기능으로 로컬 웹 UI, Unsloth 및 MLX 백엔드, 평가 도구를 사용할 수 있습니다.

핵심 기능

  • 01단일 YAML 설정과 `soup train`으로 학습할 수 있습니다.
  • 02SFT, DPO, KTO, ORPO, SimPO, GRPO, PPO 방식의 작업을 지원합니다.
  • 03LoRA와 QLoRA를 사용하며 배치 크기와 양자화 설정을 자동으로 지정합니다.
  • 04Alpaca, ShareGPT, ChatML 등의 일반적인 데이터셋 형식을 자동으로 감지합니다.
  • 05모델을 GGUF로 내보내고 OpenAI 호환 API로 서빙할 수 있습니다.

활용 사례

  • 소비자용 GPU 한 대에서 QLoRA로 7B~14B 모델을 미세 조정할 때.
  • 학습 루프를 직접 작성하지 않고 DPO나 ORPO 같은 선호도 학습 실험을 실행할 때.
  • GGUF로 내보내 LoRA로 미세 조정한 모델을 Ollama나 llama.cpp에서 사용하도록 준비할 때.
  • 선택형 레이어 스트리밍 모드로 VRAM이 제한된 노트북에서 학습할 때.

빠른 시작

  1. 1

    pip으로 training extra를 설치합니다

    pip install "soup-cli[train]"
  2. 2

    템플릿에서 설정 파일을 만듭니다

    soup init --template chat
  3. 3

    모델을 학습합니다

    soup train

사용 전 알아둘 점

  • Python 3.10~3.12만 지원하며, 3.13 이상은 지원하지 않습니다.
  • 파인튜닝에는 [train] extra가 필요하며, 저VRAM 레이어 스트리밍 기능은 아직 BETA이고 옵트인해야 사용할 수 있습니다.
  • 일부 옵션(예: awq/gptq 내보내기)은 더 이상 사용되지 않으며 v0.77에서 제거됩니다.

토픽

자주 묻는 질문

Soup은(는) 무엇인가요?
단일 YAML 설정으로 LLM을 미세 조정하고 후속 학습하는 CLI 도구로, 저VRAM 소비자용 GPU에서도 학습할 수 있습니다. Soup은 대규모 언어 모델을 미세 조정하고 후속 학습하는 명령줄 도구입니다. 기본 모델, 작업, 데이터셋, 학습 옵션을 하나의 YAML 파일에 정의하고 `soup train` 명령으로 학습을 실행합니다. 지원하는 작업에는 SFT, DPO·KTO·ORPO·SimPO 같은 선호도 학습 기법, GRPO·PPO 같은 강화 학습 방식이 있으며, 기본 어댑터 및 양자화 방식으로 LoRA와 QLoRA를 사용합니다.
Soup은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
Soup은(는) Apache-2.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
Soup은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. Soup의 마지막 커밋은 2026년 10월 19일입니다.
Soup은(는) 어디에 사용할 수 있나요?
소비자용 GPU 한 대에서 QLoRA로 7B~14B 모델을 미세 조정할 때. 학습 루프를 직접 작성하지 않고 DPO나 ORPO 같은 선호도 학습 실험을 실행할 때. GGUF로 내보내 LoRA로 미세 조정한 모델을 Ollama나 llama.cpp에서 사용하도록 준비할 때. 선택형 레이어 스트리밍 모드로 VRAM이 제한된 노트북에서 학습할 때.
Soup는 어떻게 설치하나요?
pip으로 training extra를 설치합니다: pip install "soup-cli[train]" 템플릿에서 설정 파일을 만듭니다: soup init --template chat 모델을 학습합니다: soup train
Soup은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/MakazhanAlpamys/Soup

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트