728x90

회사를 옮길 때마나 새로운 도전을 받게 되네요.

일단 시간이 없고 몸이 축나지만 멈춰있지 않고 계속 앞으로 갈수 있다는 점에서 계속 도전중입니다.

 

개인 용도로 Ollama랑  LMStudio를 사용해 봤는데 실 서비스는 vLLM를 사용하게 되어 공부할겸 정리해 봅니다.

 

1. 대표적인 서빙 프레임 워크

프레임워크 처리량(Throughput) 지연시간(Latency) 메모리 효율성 멀티디바이스 지원 주요 성능 특징
TensorRT-LLM 최고 수준 매우 낮음 GPU 최적화 NVIDIA GPU INT8/FP16, 하드웨어 최적화, 실시간용, 엔진 빌드  필요
vLLM 매우 높음 매우 낮음 Paged KV로 효율적 멀티 GPU Paged Attention, AWQ, 대용량/연속 배치로 높은 처리량, OpenAI API
SGLang 매우 높음 매우 낮음 RadixAttention, KV 캐시 AMD GPU, NVIDIA GPU(멀티 GPU) 복잡한 워크플로우, 구조화 출력, 병렬·스케줄링, FSM
OpenLLM 높음(분산 처리) 평균~낮음 분산 효율 높음 클러스터(K8s/클라우드 등) 다양한 모델, 배포·확장성, 관리 도구, vLLM 기술 활용, 클라우드배포에 최적화
Ollama 중간~높음 평균 수준 CPU 최적화 CPU, Apple Silicon 쉬운 배포·설정, 로컬 실행, 다양한 모델, 양자화
LocalAI 중간~낮음 다소 높음 경량화, 저자원환경 CPU 저사양 대응, Docker 설치, 오프라인
llamafile 중간 평균~높음 파일 기반 경량 CPU/GPU OS 다양성, 초경량, 파일 배포
GPT4All 중간 평균~높음 일반적 CPU GUI, 오프라인, 다양한 운영체제

 개인  용도로 경험을 위해서면 Ollama로 경험해 보거나, 데스크탑 애플리케이션 올인원 LLM 앱으로 볼수 있는 LM Studio를 사용해서  AI 모델을 사용해 보는 것을 추천합니다.

 오늘은 모델 서빙 중심이기 때문에 LM Studio는 제외했습니다.

 

2. 양자화 기법 

- 모델이 기본적으로 너무 많은 리소스를 요구하여 효율적 운영을 위해 양자화 사용하는 경우도 있음

양자화 기법 주요 특징 정확도 손실 속도 CPU/GPU 지원
Post-Training Quantization (PTQ) 학습 후 양자화, 빠르게 적용 가능, 간단함 보통 적음 추론 속도 개선 가능 CPU 및 GPU 지원
Quantization Aware Training (QAT) 학습 중 양자화, 정확도 유지에 유리 거의 없음 약간 느림 (학습 복잡도 상승) CPU 및 GPU 지원
Dynamic Quantization 런타임에 가중치 양자화, 활성화 원래대로 유지 보통 적음 속도 개선 CPU 위주 지원
BitsandBytes (8bit, 4bit) 8bit/4bit 양자화, 이상치 처리, Double Quantization 가능 최소, 4bit 약간 있음 대폭 속도 개선 GPU 지원 (CUDA 중심)
GPTQ (Post-Training) 학습 완료 후 3~4bit 양자화, 성능 저하 최소화 아주 적음 빠름 CPU/GPU 모두 가능
AWQ (Activation-aware Weight Quantization) 활성화 패턴 분석, 중요 가중치 높은 정밀도 유지, 4bit 양자화 매우 적음 빠름 GPU 중점 지원
INT8 Quantization 8bit 정수형 양자화, 하드웨어 친화적 보통 적음 빠름 CPU 및 GPU 모두
FP16 Quantization 절반 정밀도 부동소수점, 계산량 절감 거의 없음 빠름 CPU 및 GPU 모두

 

3. 프레임워별 양자화 지원 내용

프레임워크 지원 양자화 기법 지원 주요 방식·특징 비고
vLLM GPTQ, AWQ, BitsAndBytes 4bit/8bit, INT8, FP16 GPTQ, AWQ, INT4/8, FP8 등 다양한 포맷 지원 (GPU 최적화) 다양한 GPU 중심, 고성능 저지연 추론 지원
TensorRT-LLM INT8, FP16 INT8/FP16 등 Nvidia 친화적 양자화 방식, 배치 추론 최적화 NVIDIA GPU 최적화, 하드웨어 가속
Ollama AWQ, GPTQ, BitsandBytes, GGF 양자화 GGF, AWQ 등 지원, CPU와 GPU 모두 양자화된 모델 가동 가능 CPU/GPU 모두 지원, 간편 설치 중심
OpenLLM GPTQ, AWQ(제한적/실험적) 다양한 포맷·플랫폼 지향, 실험·확장 목적, 일부 양자화 엔진 연동 가능성 다양한 배포 및 확장 환경, 일부 양자화 엔진 연동
SGLang AWQ, GPTQ, TorchAO, INT4/8, FP8 TorchAO(PTQ, AWQ 등), INT4, FP8 등, 다양한 GPU에서 양자화 추론 AMD/NVIDIA GPU 지원, 복잡한 워크플로우 최적화
LocalAI GGML, GGUF 기반 경량 양자화 GGML, GGUF 등 저자원 중심 양자화, CPU 오프라인 사용에 적합 저자원 CPU 환경/fp16 대체 중심
llamafile GGUF, GGML 양자화 GGUF 기반 다양한 비트 양자화, 경량 추론·저자원 대응 파일 기반 경량화, 다양한 비트 지원
GPT4All GGML 양자화 여러 비트수 GGML 양자화파일을 통한 다중 OS 활용 오프라인, 다양한 OS 지원

 GGUF의 경우  CPU만 사용하거나 GPU와 CPU를 동시에 사용가능하게 해주고 AWQ는 다중 요청시 처리를 효율을 높여 준다고 합니다. 즉 개인용도의 경우나 리소스가 낮을 경우 GGUF를 지원하는 서빙프레임웍을 여러명에게 서비스시에는 AWQ를 지원하는 서빙프레임웍을 선택하는 것이 좋다고 합니다. 

  기업에 사업으로 진행하는 것에는 여러개의 모델을 조합해서 사용하는 서비스를 만드는데 개인적으로 N8N과 모델 서빙프로그램을 이용하면 개인화된  AI Agent를 구현할 수 있을 것입니다.

  아는 만큼 보인다고 하지만 실제 사용하는 것을 보고 웨비나를 들으니 더 정리가 잘되네요. 

 

  여기서 잠시 넌센스 질문 .. 로켓이 발사되었는데 잡아탄다면 어디서 내려야 할까요? 다들 좋은 일들 많이 생기세요.

728x90

+ Recent posts