Cerebrium — vLLM 배포
Cerebrium — vLLM 배포
Cerebrium은 서버리스 AI 인프라 플랫폼으로, 클라우드 기반 GPU 머신에서 vLLM을 실행할 수 있게 합니다. 기업이 AI 기반 애플리케이션을 더 쉽게 구축·배포하도록 돕습니다. 사용한 컴퓨팅만큼만 비용을 내는 자동 스케일링 엔드포인트를 얻을 수 있습니다.
출처: 문서
본문
설치
Cerebrium 클라이언트를 설치하고 로그인합니다.
pip install cerebrium
cerebrium login
Cerebrium 프로젝트를 생성합니다.
cerebrium init vllm-project
필요한 패키지를 설치하려면 cerebrium.toml에 다음을 추가합니다.
[cerebrium.deployment]
docker_base_image_url = "nvidia/cuda:12.1.1-runtime-ubuntu22.04"
[cerebrium.dependencies.pip]
vllm = "latest"
추론 코드
선택한 LLM(여기서는 mistralai/Mistral-7B-Instruct-v0.1)의 추론을 처리하는 코드를 main.py에 추가합니다.
from vllm import LLM, SamplingParams
llm = LLM(model="mistralai/Mistral-7B-Instruct-v0.1")
def run(prompts: list[str], temperature: float = 0.8, top_p: float = 0.95):
sampling_params = SamplingParams(temperature=temperature, top_p=top_p)
outputs = llm.generate(prompts, sampling_params)
# Print the outputs.
results = []
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
results.append({"prompt": prompt, "generated_text": generated_text})
return {"results": results}
배포
다음 명령으로 클라우드에 배포합니다.
cerebrium deploy
성공하면 inference를 호출할 수 있는 CURL 명령을 돌려받습니다. URL 끝에 호출하는 함수 이름(여기서는 /run)을 붙여야 합니다.
curl -X POST https://api.cortex.cerebrium.ai/v4/p-xxxxxx/vllm/run \
-H 'Content-Type: application/json' \
-H 'Authorization: *** TOKEN>' \
--data '{
"prompts": [
"Hello, my name is",
"The president of the United States is",
"The capital of France is",
"The future of AI is"
]
}'
다음과 같은 응답을 받을 수 있습니다.
{
"run_id": "52911756-3066-9ae8-bcc9-d9129d1bd262",
"result": {
"result": [
{"prompt": "Hello, my name is", "generated_text": " Sarah, and I'm a teacher. I teach elementary school students. One of"},
{"prompt": "The capital of France is", "generated_text": " Paris.\n"}
]
},
"run_time_ms": 152.53663063049316
}
이제 자동 스케일링 엔드포인트가 생겼고, 사용한 컴퓨팅만큼만 비용을 지불하면 됩니다!
더 알아보기 (Learn more)
- 모든 배포 프레임워크 — vLLM과 연동되는 프레임워크 목록
- 오프라인 추론 —
LLM.generate오프라인 추론 예시 - SamplingParams —
temperature,top_p같은 샘플링 파라미터