MakazhanAlpamys/Soup
Fine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.
해결하는 문제
Soup은 대규모 언어 모델(LLM)의 파인튜닝과 포스트트레이닝의 복잡한 프로세스를 간소화합니다. 수동 인프라 관리, GPU 서버에 대한 SSH 액세스, 복잡한 구성 파일의 필요성을 제거하여 사용자가 단일 명령으로 학습을 시작할 수 있습니다.
작동 방식
Soup은 학습 스택(PyTorch, Transformers, PEFT, TRL)을 추상화하는 명령줄 인터페이스(CLI)와 웹 UI를 제공합니다. 단일 YAML 구성 파일을 사용하여 기본 모델, 작업(예: SFT, DPO, GRPO) 및 학습 매개변수를 정의합니다.
주요 기술 기능은 다음과 같습니다.
- 레이어 스트리밍: 디코더 레이어를 한 번에 하나씩 GPU에 공급하여 소비자 GPU에서 대규모 모델(예: 8B 모델)을 4GB VRAM만으로 파인튜닝할 수 있는 베타 기능입니다.
- 다중 백엔드: 표준 transformers, Unsloth(더 빠른 학습용), MLX(Apple Silicon용)를 지원합니다.
- 포괄적인 도구: 데이터 검사, 배치 추론, 모델 병합, Ollama용 GGUF와 같은 형식으로 내보내기를 위한 통합 명령을 제공합니다.
대상 사용자
인프라와 씨름하지 않고 LLM을 파인튜닝하려는 개발자 및 ML 엔지니어, 그리고 제한된 하드웨어 리소스(예: 노트북 GPU)를 가지고 QLoRA 및 레이어 스트리밍과 같은 기술을 활용하려는 사용자.
하이라이트
- 원커맨드 워크플로우:
soup init으로 초기화하고soup train으로 학습합니다. - 낮은 VRAM 요구 사항: 레이어 스트리밍을 통해 4GB VRAM에서 8B 모델을 학습할 수 있습니다.
- 광범위한 작업 지원: SFT, DPO, GRPO, PPO, KTO, ORPO, SimPO, IPO, BCO 등을 지원합니다.
- 다양한 내보내기 옵션: GGUF, ONNX, TensorRT, AWQ, GPTQ로 모델을 내보낼 수 있습니다.
- 통합 웹 UI: 실험 추적, 데이터셋 탐색, 모델 채팅을 위한 로컬 대시보드.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트