콘텐츠로 이동

9.6. 원격 vLLM 연동

Backend.AI GO는 vLLM을 로컬에서 실행할 수도 있지만, 원격 vLLM 서버에 연결할 수도 있습니다. 이는 강력한 중앙 GPU 서버가 있고 노트북을 클라이언트로 사용하려는 경우에 이상적입니다.

왜 원격 vLLM인가요?

  • 자원 공유: 하나의 강력한 서버로 여러 팀원에게 서비스를 제공할 수 있습니다.

  • 거대 모델: 여러 대의 H100/H200 또는 차세대 B200/B300 GPU가 필요한 Solar-Open-100B, gpt-oss-120B, 또는 Qwen3-235b-a22b 모델을 MacBook Air에서 접속하여 사용할 수 있습니다.

  • 배터리 수명: 무거운 연산을 오프로드하여 노트북의 발열을 줄이고 배터리를 오래 사용할 수 있습니다.

설정 요구 사항

원격 서버에서 OpenAI 호환 모드로 vLLM을 실행해야 합니다:

python -m vllm.entrypoints.openai.api_server \
  --model meta-llama/Llama-3-70b-Instruct \
  --port 8000 \
  --api-key "my-secret-key"

Backend.AI GO에서 설정하기

  1. 공급자로 이동합니다.

  2. 공급자 추가를 클릭하고 vLLM을 선택합니다.

  3. 연결 정보를 입력합니다:

    • 이름: 식별하기 쉬운 이름 (예: "연구실 H100 클러스터").

    • Base URL: http://<서버-IP>:8000/v1

    • API Key: my-secret-key (위 명령에서 설정한 값).

  4. 연결: Backend.AI GO가 연결을 확인하고 로드된 모델 목록을 표시합니다.

자동 기능 탐지

Backend.AI GO가 vLLM 서버에 연결하면 두 가지 백그라운드 프로브를 실행합니다.

  • 도구 호출 프로브: tool_choice:"auto"로 최소한의 요청을 한 번 보내, 서버가 --enable-auto-tool-choice--tool-call-parser 플래그를 켜고 실행됐는지 확인합니다. 플래그가 활성화돼 있으면 해당 모델에서 도구 호출이 켜지고, 그렇지 않으면 도구가 자동으로 제외되어 서버가 HTTP 400 오류를 내는 요청 자체를 보내지 않게 됩니다. 프로브가 완료되면 모델 기능 툴팁에 functionalProbe 탐지 신호가 표시됩니다.

  • 컨텍스트 길이 프로브: /v1/models 목록에서 max_model_len 값을 읽어 모든 채팅 요청의 max_tokens를 그 값 이하로 제한합니다. 컨텍스트 창이 작은 배포 환경에서 "maxtokens exceeds maxmodel_len" 오류가 발생하는 것을 막아줍니다.

두 프로브 결과는 공급자 레코드와 함께 캐시되며, 다음 기능 갱신 시 다시 실행됩니다. 모델 설정 패널에서 수동으로 기능을 재정의하면 프로브는 건너뜁니다.

vLLM 인스턴스가 도구 호출을 지원하는데도 프로브 결과가 Unsupported로 나온다면, 서버를 두 플래그 모두 켜고 실행했는지 확인하세요. --tool-call-parser 없이 시작된 vLLM은 tool_choice:"auto"를 지원하지 않는다고 정확하게 보고합니다.

OpenAI 호환 모드와의 차이점

"OpenAI Compatible" 유형을 사용하여 vLLM에 연결할 수도 있지만, 전용 vLLM 공급자 유형을 사용하면 다음과 같은 장점이 있습니다:

  • 최적화된 처리: Backend.AI GO가 상대방이 vLLM임을 인지하고, 특정 토크나이징이나 프롬프트 포맷팅 특성을 더 잘 처리할 수 있습니다.

  • 지표(Metrics): 향후 업데이트에서 vLLM 엔드포인트로부터 서버 지표(GPU 사용량, 대기열 길이 등)를 직접 가져오는 기능을 지원할 수 있습니다.


어디서든 순수한 연산 능력에 연결하세요.