arcee-ai/mergekit
Tools for merging pretrained large language models.
해결하는 문제
mergekit은 추가 학습이나 앙상블로 인한 높은 계산 비용 없이 여러 사전 학습된 언어 모델을 단일 모델로 결합하는 방법을 제공합니다. 이를 통해 사용자는 전문적인 기능을 결합하고, 모델 간에 기술을 전이하며, 단일 모델과 동일한 추론 비용을 유지하면서 최적의 성능 균형을 찾을 수 있습니다.
작동 원리
이 툴킷은 모델의 가중치 공간에서 직접 작동합니다. "out-of-core" 접근 방식과 텐서의 지연 로딩(lazy loading)을 사용하여 리소스가 제한된 하드웨어에서도 복잡한 병합을 수행할 수 있으며, CPU에서 완전히 실행하거나 최소 8 GB의 VRAM만으로도 작동합니다. 사용자는 YAML 구성 파일을 통해 병합 작업, 병합 방법, 사용할 모델 또는 레이어(슬라이스), 병합 매개변수를 정의합니다.
대상 사용자
대규모 데이터셋이나 방대한 학습용 컴퓨팅 리소스 없이 기존 모델을 병합하여 새로운 고성능 언어 모델을 만들고자 하는 AI 연구자 및 개발자.
주요 특징
- 낮은 리소스 요구 사항: GPU 또는 CPU 실행을 지원하며, 지연 로딩을 통해 메모리 사용량을 최소화합니다.
- 광범위한 모델 지원: Llama, Mistral, GPT-NeoX, StableLM 등과 호환됩니다.
- 다양한 병합 방법: Linear, SLERP, TIES, DARE, Mixture of Experts 병합 등 다양한 기술을 포함합니다.
- 고급 기능: "Frankenmerging"(레이어의 조각별 조립), LoRA 추출, 진화적 병합 방법을 지원합니다.
- 유연한 Tokenizer 처리: 어휘 정렬 및 임베딩 이식에 대한 세밀한 제어를 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트