MergeKit: 사전학습된 언어 모델을 병합하기 위한 오픈소스 툴킷 75

小编 ·

MergeKit: 사전학습된 언어 모델을 병합하기 위한 오픈소스 툴킷

MergeKit은 여러 대형 모델을 하나로 병합해 각 모델의 강점을 결합하는 Python 도구입니다. 예를 들어 모델 A는 글쓰기에 강하고 모델 B가 코딩에 뛰어나다면, MergeKit은 이 둘을 합쳐 더 강력한 모델을 만들 수 있습니다. CPU와 GPU 모두에서 병합이 가능하며, 먼저 고정밀 모델로 병합한 뒤 양자화와 보정을 수행하는 것이 권장됩니다. 이 AI 프로젝트는 개발자들 사이에서 인기가 높으며, 교육 콘텐츠를 게임 테마로 바꾸는 등 창작을 더 효율적이고 재미있게 만드는 데 활용되기도 합니다.

MergeKit: 사전학습된 언어 모델을 병합하기 위한 오픈소스 툴킷

Mergekit이란 무엇인가요?

Mergekit은 여러 대형 모델을 하나로 합쳐 각각의 장점을 살릴 수 있게 해주는 Python 도구입니다. 예를 들어, 모델 A가 글쓰기에 강하고 모델 B가 프로그래밍에 뛰어나다면, mergekit은 이 둘을 합쳐 더 강력한 모델로 만들 수 있습니다. 또한 CPU 또는 GPU에서 병합이 가능하고, 먼저 고정밀 모델로 병합한 뒤 양자화 및 보정을 진행할 것을 권장합니다. 이 ai 프로젝트는 개발자들 사이에서 큰 인기를 끌고 있으며, 예를 들어 누군가는 이를 활용해 교육용 콘텐츠를 게임 테마로 변형하여 더 효율적이고 재미있게 창작하기도 합니다.

MergeKit:一个用于合并预训练语言模型的开源工具包.jpg

Mergekit의 주요 기능

  • 모델 병합: 여러 사전 훈련된 언어 모델을 추가 학습이나 앙상블 연산 비용 없이 하나의 다기능 모델로 병합합니다.

  • 다양한 병합 알고리즘: 선형 보간, 구면 선형 보간(SLERP), 태스크 산술(Task Arithmetic), TIES, DARE 등 다양한 병합 방식을 지원합니다.

  • 하드웨어 친화적: CPU 또는 GPU에서 실행할 수 있으며, 최소 8GB의 VRAM만 있으면 됩니다.

  • 낮은 메모리 사용량: 텐서를 지연 로딩하는 기술을 사용해 메모리 점유율을 낮춥니다.

  • 파라미터 보간: 파라미터 값의 보간 기울기를 지원하여 더 세밀한 제어를 제공합니다.

  • 계층별 조립: 서로 다른 모델의 레이어 조각들을 이어 붙여 언어 모델을 조립하는 방식(“Frankenmerging”)을 지원합니다.

  • MoE 병합: 여러 밀집 모델을 전문가 혼합(MoE) 모델로 병합합니다.

  • LoRA 추출: 미세 조정된 모델로부터 PEFT 호환 저차원 근사를 추출합니다.

  • 진화적 병합 방법: 일부 실험적인 진화적 병합 방법을 포함합니다.

Mergekit의 주요 특징

  • 크로스 플랫폼 실행: GPU 및 CPU에서 실행을 지원하며, 최소 8GB VRAM으로 가속할 수 있습니다.

  • 낮은 메모리 사용량: 텐서의 지연 로딩을 통해 구현됩니다.

  • 다양한 병합 알고리즘: 선형 보간, SLERP, 태스크 산술 등을 포함하며, 앞으로 더 많은 알고리즘이 추가될 예정입니다.

  • 그래픽 사용자 인터페이스(GUI): Arcee 기반의 GUI를 제공하여 병합 과정을 간소화합니다.

설치 및 사용

설치

git clone https://github.com/arcee-ai/mergekit.git
cd mergekit
pip install -e .

사용

mergekit-yaml config.yml ./output-dir --cuda

Mergekit 활용 사례

  • 모델 역량 융합: 서로 다른 전문 분야의 모델을 하나의 다기능 모델로 병합합니다.

  • 성능 최적화: 각 모델의 장점을 결합하여 전체적인 성능을 향상시킵니다.

  • 제한된 리소스 환경에서의 최적화: 컴퓨팅 자원이 한정된 상황에서도 더 작지만 강력한 모델을 생성합니다.

  • 맞춤형 모델 커스터마이징: 특정 요구 사항에 맞춰 모델을 맞춤 설정합니다.

  • 모델 연구 및 실험: 연구자들이 다양한 병합 전략을 탐색할 수 있는 유연한 플랫폼을 제공합니다.

Github:https://github.com/arcee-ai/mergekit