arcee-ai/mergekit

Tools for merging pretrained large language models.

해결하는 문제

mergekit는 추가 학습이나 앙상블의 높은 계산 비용 없이 여러 사전 학습된 언어 모델을 단일 모델로 결합하도록 설계된 툴킷입니다. 이를 통해 사용자는 특화된 모델을 병합하여 다재다능한 모델을 만들고, 모델 간에 기능을 전송하며, 추론 비용을 단일 모델과 동일하게 유지하면서 성능을 최적화할 수 있습니다.

작동 방식

이 도구는 모델의 가중치 공간에서 직접 작동합니다. 아웃오브코어 방식과 텐서의 지연 로딩을 사용하므로 CPU 또는 8GB VRAM만 있는 GPU와 같이 리소스가 제한된 하드웨어에서도 복잡한 병합을 수행할 수 있습니다. 사용자는 YAML 구성 파일을 통해 병합 작업을 정의하고 병합 방법, 사용할 모델, 가중치 및 밀도와 같은 매개변수를 지정합니다.

대상 사용자

비용이 많이 드는 재학습 없이 기존 체크포인트를 결합하여 새롭고 고성능의 LLM을 만들고자 하는 AI 연구자와 개발자를 대상으로 합니다. Llama, Mistral, GPT-NeoX와 같은 다양한 아키텍처를 지원합니다.

주요 기능

  • 다양한 병합 방법: Linear, SLERP, TIES, DARE, Arcee Fusion을 포함한 광범위한 알고리즘을 지원합니다.
  • 메모리 효율성: 지연 로딩과 아웃오브코어 처리를 통해 저메모리 하드웨어에서도 병합이 가능합니다.
  • 고급 모델 수술: "프랑켄머징"(레이어의 조각별 조립)과 밀집 모델을 Mixture of Experts(MoE)로 병합하는 기능을 포함합니다.
  • 전문 도구: LoRA 추출, 토크나이저 이식(mergekit-tokensurgeon), 다단계 병합 워크플로우를 위한 유틸리티를 제공합니다.
  • CUDA/CPU 지원: CPU에서만 실행하거나 GPU로 가속할 수 있습니다.

관련

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