Unsloth: 대규모 언어 모델의 효율적인 미세 조정 및 학습을 위한 오픈 소스 도구

최신 AI 리소스6개월 전 업데이트 AI 공유 서클
2.9K 00

일반 소개

Unsloth는 대규모 언어 모델(LLM)을 미세 조정하고 훈련하기 위한 효율적인 도구를 제공하기 위해 설계된 오픈 소스 프로젝트입니다. 이 프로젝트는 라마, 미스트랄, 파이, 젬마 등 잘 알려진 다양한 모델을 지원합니다. Unsloth의 주요 기능은 메모리 사용량을 크게 줄이고 학습 속도를 높여 사용자가 더 짧은 시간에 모델을 미세 조정하고 학습할 수 있도록 하는 기능입니다. 또한 Unsloth는 사용자가 빠르게 시작하고 기능을 최대한 활용할 수 있도록 광범위한 문서와 튜토리얼을 제공합니다.

Unsloth:高效微调和训练大语言模型的开源工具

 

기능 목록

  • 효율적인 미세 조정2~5배 빠른 미세 조정과 50~80% 적은 메모리 사용량으로 라마, 미스트랄, 파이, 젬마 등 여러 모델을 지원합니다.
  • 무료 사용사용자가 데이터 집합을 추가하고 모든 코드를 실행하여 미세 조정된 모델을 얻을 수 있도록 무료로 사용할 수 있는 노트북이 제공됩니다.
  • 여러 내보내기 형식미세 조정된 모델을 GGUF, Ollama, vLLM으로 내보내거나 허깅 페이스에 업로드할 수 있도록 지원합니다.
  • 동적 정량화동적 4비트 양자화를 지원하여 모델 정확도를 향상시키면서 10% 미만의 메모리를 추가합니다.
  • 긴 컨텍스트 지원Llama 3.3(70B) 모델의 경우 89K 컨텍스트 창을, Llama 3.1(8B) 모델의 경우 342K 컨텍스트 창을 지원합니다.
  • 시각적 모델링 지원라마 3.2 비전(11B), 퀀 2.5 VL(7B), 픽스트랄(12B) 등의 비전 모델을 지원합니다.
  • 추론 최적화추론 속도를 크게 향상시키기 위한 다양한 추론 최적화 옵션을 제공합니다.

 

도움말 사용

설치 프로세스

  1. 종속성 설치파이썬 3.8 이상이 설치되어 있고 다음 종속성이 설치되어 있는지 확인합니다: bash
    pip install torch transformers datasets
  2. 클론 창고Git을 사용하여 Unsloth 리포지토리를 복제합니다: bash
    git clone https://github.com/unslothai/unsloth.git
    cd unsloth
  3. Unsloth 설치: 다음 명령을 실행하여 Unsloth를 설치합니다: bash
    pip install -e .

튜토리얼

  1. 모델 로드파이썬 스크립트에서 사전 학습된 모델을 로드합니다:
    from transformers import AutoModelForCausalLM, AutoTokenizer
    model_name = "unslothai/llama-3.3"
    model = AutoModelForCausalLM.from_pretrained(model_name)
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    
  2. 모델 미세 조정모델 미세 조정을 위해 Unsloth에서 제공하는 노트북을 사용하세요. 다음은 간단한 예시입니다:
    from unsloth import Trainer, TrainingArguments
    training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=4,
    save_steps=10_000,
    save_total_limit=2,
    )
    trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=train_dataset,
    eval_dataset=eval_dataset,
    )
    trainer.train()
    
  3. 내보내기 모델미세 조정이 완료되면 모델을 다양한 포맷으로 내보낼 수 있습니다: python
    model.save_pretrained("./finetuned_model")
    tokenizer.save_pretrained("./finetuned_model")

세부 기능 작동

  • 동적 정량화Unsloth는 미세 조정 과정에서 동적 4비트 양자화를 지원하므로 10% 미만의 메모리 사용량을 추가하면서 모델의 정확도를 크게 향상시킬 수 있습니다. 사용자는 훈련 파라미터에서 이 기능을 활성화할 수 있습니다:
    training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=4,
    save_steps=10_000,
    save_total_limit=2,
    quantization="dynamic_4bit"
    )
    
  • 긴 컨텍스트 지원언슬러스는 라마 3.3(70B) 모델의 89K 컨텍스트 창과 라마 3.1(8B) 모델의 342K 컨텍스트 창을 지원합니다. 이를 통해 긴 텍스트를 더욱 효과적으로 처리할 수 있습니다. 사용자는 모델을 로드할 때 컨텍스트 창의 크기를 지정할 수 있습니다:
    model = AutoModelForCausalLM.from_pretrained(model_name, context_window=89000)
    
  • 시각적 모델링 지원Unsloth는 Llama 3.2 Vision(11B), Qwen 2.5 VL(7B), Pixtral(12B) 등 다양한 비전 모델도 지원합니다. 사용자는 이러한 모델을 이미지 생성 및 처리 작업에 사용할 수 있습니다: python
    model_name = "unslothai/llama-3.2-vision"
    model = AutoModelForImageGeneration.from_pretrained(model_name)
© 저작권 정책

관련 문서

댓글 없음

댓글에 참여하려면 로그인해야 합니다!
지금 로그인
없음
댓글 없음...