-
7.2 양자화로 모델 용량 줄이기 - 작성중LLM/LLM을 활용한 실전 AI 애플리케이션 개발 2025. 2. 24. 22:36
7.2.1 비츠앤바이츠
예제 7.1 비츠앤바이츠 양자화 모델 불러오기
from transformers import AutoModelForCausalLM, BitsAndBytesConfig # 8비트 양자화 모델 불러오기 bnb_config_8bit = BitsAndBytesConfig(load_in_8bit=True) model_8bit = AutoModelForCausalLM.from_pretrained("facebook/opt-350m", quantization_config=bnb_config_8bit) # 4비트 양자화 모델 불러오기 bnb_config_4bit = BitsAndBytesConfig(load_in_4bit=True, bnb_4bit_quant_type="nf4") model_4bit = AutoModelForCausalLM.from_pretrained("facebook/opt-350m", low_cpu_mem_usage=True, quantization_config=bnb_config_4bit)
7.2.2 GPTQ
gptq 모델에 대한 정확한 학습 후 양자화
양자화 이전의 모델에 입력 x 를 넣었을 때와 양자화 이후의 모델에 입력 x를 넣었을 때 오차가 가장 작아지도록 모델의 양자화
예제 7.2 gptq 양자화 수행코드
from transformers import AutoModelForCausalLM, AutoTokenizer, GPTQConfig model_id = "facebook/opt-125m" tokenizer = AutoTokenizer.from_pretrained(model_id) quantization_config = GPTQConfig(bits=4, dataset = "c4", tokenizer=tokenizer) model = AutoModelForCausalLM.from_pretrained(model_id, device_map="auto", quantization_config=quantization_config)
코드 출처: https://huggingface.co/blog/gptq-integration
Making LLMs lighter with AutoGPTQ and transformers
huggingface.co
예제 7.3 gptq 양자화된 모델 불러오기
from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("TheBloke/zephyr-7B-beta-GPTQ", device_map="auto", trust_remote_code=False, revision="main")
7.2.3 AWQ
AWQ Activation aware Weight Quantization : 압축과 가속을 위한 활성화 기반 모델 양자화
특별히 중요한 파라미터의 정보를 유지하면 양자화를 수행하면서도 성능 저하를 막을 수 있다
예제 7.4 AWQ 양자화 모델 불러오기
from awq import AutoAWQForCausalLM from transformers import AutoTokenizer model_name_or_path = "TheBloke/zephyr-7B-beta-AWQ" tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=False) model = AutoAWQForCausalLM.from_quantized(model_name_or_path, fuse_layers=True, trust_remote_code=False, safetensors=True)
GGUF
Georgi Gerganov unified format 딥러닝 모델 저장 형식
책 출처 : https://ridibooks.com/books/3649000042
LLM을 활용한 실전 AI 애플리케이션 개발
LLM을 활용한 실전 AI 애플리케이션 개발 작품소개: 트랜스포머 아키텍처부터 RAG 개발, 모델 학습, 배포, 최적화, 운영까지 라마인덱스와 LLM을 활용한 AI 애플리케이션 개발의 모든 것이 책에서는
ridibooks.com
'LLM > LLM을 활용한 실전 AI 애플리케이션 개발' 카테고리의 다른 글
7.1 언어 모델 추론 이해하기 - 작성중 (0) 2025.02.24 6장 sLLM 학습하기 (0) 2025.02.16 5.1 GPU에 올라가는 데이터 살펴보기 (0) 2025.02.09 4.3 강화 학습이 꼭 필요할까? (0) 2025.01.27 4.2 채점 모델로 코드 가독성 높이기 (0) 2025.01.27