본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

Personal/SK 네트웍스 AI 캠프

SK 네트웍스 AI 캠프 - 3_초거대언어모델(LLM) - Day52_PEFT 기반 경량 LLM 파인 튜닝 기법

PRFT Parameter Effcient Fine-Tuning

모든 가중치를 학습하지 않고 일부 작은 파라미터만 학습해 새로운 작업에 적응시키는 기법

https://standout.tistory.com/1929

 

PEFT (Parameter Efficient Fine-Tuning): LoRA, QLoRA, Adapter, Prefix Tuning, Prompt Tuning, P-Tuning v2, IA3, AdaLoRA, DoRA, OFT

PEFT (Parameter Efficient Fine-Tuning) 가장 많이 사용하며 모든 Parameter를 수정하지 않는다. GPU 적게 사용하며 빠르고 성능이 거의 동일하다 .PEFT├── LoRA├── QLoRA├── Adapter├── Prefix Tuning├─

standout.tistory.com

 

 

PEFT(LoRA, QLoRA 등)와 양자화(Quantization)를 같이 쓰면 메모리 절약 효과가 훨씬 커진다

일반 Fine-tuning은 모든 w를 수정해 VRAM이 엄청 많이 필요하다.

PEFT는 기존 w를 건들이지 않으며 학습하고 학습은 적게하나 원래 모델은 그대로 메모리에 올려야함으로 이때 양자화. 숫자 표현을 작게 만들면 메모리 사용이 절약된다.

모델을 작게 저장하고 학습은 가중치만 수정해 8~16gb vram환경에서도 파인튜닝이 가능한것. PEFT는 양자화와 함께 사용할때 효과가 더욱 커진다 .

from transformers import AutoModelForCausalLM, BitsAndBytesConfig
from peft import LoraConfig, get_peft_model

# 4비트 양자화 설정
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype="float16"
)

# 모델을 4비트로 로드
model = AutoModelForCausalLM.from_pretrained(
    "microsoft/phi-3-mini-4k-instruct",
    quantization_config=bnb_config,
    device_map="auto"
)

# LoRA 설정
lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.1
)

# LoRA 적용
model = get_peft_model(model, lora_config)

 

 

외 runpod 작업 추가. 

https://standout.tistory.com/1927

 

RunPod 사용해보기: ssh 키 등록, pod 만들기, workload 선택

RunPodAI, 머신러닝 및 일반 컴퓨팅 요구 사항을 위해 구축된 클라우드 컴퓨팅 플랫폼시간당 0.29달러 (400원) 정도에 최상급 GPU를 빌려 쓰는 가성비간편한 세팅가벼운 작업은 저렴한 GPU, 고해상도

standout.tistory.com