서론
요청량이 많지 않고, 단순히 “모델 하나 띄워서 한두 개의 요청만 처리”한다면 transformers + FastAPI(또는 Flask) 정도면 충분
- 여기서 “모델 띄워주는 역할”은 Hugging Face의 transformers 라이브러리가 담당
예시
# main.py
from fastapi import FastAPI
from transformers import pipeline
app = FastAPI()
# 1) transformers 파이프라인으로 모델 로드
generator = pipeline(
"text-generation",
model="gpt2", # 원하는 모델 지정
device=0 # GPU가 있다면 0, CPU만 있으면 -1
)
@app.post("/generate")
async def generate(payload: dict):
prompt = payload["prompt"]
# 2) transformers로 텍스트 생성
outputs = generator(prompt, max_new_tokens=50)
return {"choices": outputs}
또는 OpenAI 등 외부 API 사용 시:
- 자체 GPU 없이 “OpenAI API”나 “Anthropic API”처럼 원격으로 모델을 호출한다면 vLLM은 필요 없다.
vLLM
- vLLM이 빛을 발하는 순간:
- 자체 GPU를 보유하고 있고,
- 높은 동시 처리량(수십·수백 TPS)과
- 낮은 지연(Latency)이 요구될 때
- 동적 배칭, 요청 스케줄링, 스트리밍 같은 최적화 로직을
직접 구현하지 않고 바로 활용하고 싶을 때
이런 조건이 모두 맞아떨어질 때 vLLM이 “생산(Production)급”으로 가치를 발휘합니다.
반응형
'Programming > LLM RAG' 카테고리의 다른 글
| vector db (1) | 2025.06.14 |
|---|---|
| Pinecone (0) | 2025.06.13 |
| LangChain/LangGraph (0) | 2025.06.13 |
| TensorRT-LLM (1) | 2025.06.13 |
| SGLang (0) | 2025.06.13 |
