InfoGrab DocsInfoGrab Docs

로컬에서 대규모 언어 모델 API 서빙하기

요약

로컬 또는 자체 배포 목적으로 대규모 언어 모델(LLM)을 서빙하는 방법은 여러 가지가 있습니다. MistralAI는 자사 모델을 위한 두 가지 서빙 프레임워크를 권장합니다: vLLM: OpenAI의 사양에 맞는 API를 배포하는 Python 전용 서빙 프레임워크입니다.

로컬 또는 자체 배포 목적으로 대규모 언어 모델(LLM)을 서빙하는 방법은 여러 가지가 있습니다.

MistralAI는 자사 모델을 위한 두 가지 서빙 프레임워크를 권장합니다:

  • vLLM: OpenAI의 사양에 맞는 API를 배포하는 Python 전용 서빙 프레임워크입니다. vLLM은 서빙 처리량을 향상시키기 위한 페이지 어텐션(paged attention) 커널을 제공합니다.

  • NVIDIA의 Triton Inference Server로 서빙되는 NVIDIA의 TensorRT-LLM: TensorRT-LLM은 대규모 언어 모델 전용 커널을 사용하여 빠른 추론 엔진을 구축할 수 있는 DSL을 제공합니다. Triton Inference Server는 이러한 추론 엔진을 효율적으로 서빙할 수 있게 해줍니다.

이러한 솔루션들은 컴퓨팅에 CUDA 그래픽 API를 사용하므로 NVIDIA GPU에 대한 접근이 필요합니다. 그러나 Ollama는 이를 위한 낮은 구성의 크로스 플랫폼 솔루션을 제공합니다. 지금부터 이 솔루션에 대해 살펴보겠습니다.

Ollama#

Ollama는 로컬에서 대규모 언어 모델을 쉽게 시작하고 실행할 수 있도록 도와주는 오픈 소스 프레임워크입니다. 지원되는 LLM 중 어느 것이든 서빙할 수 있습니다. 또한 직접 모델을 만들어 Hugging Face에 업로드할 수도 있습니다.

LLM은 일반적으로 실행하기에 매우 무거운 점에 유의하세요.

따라서 여기서는 정확도 대비 상대적으로 가볍게 실행할 수 있는 mistral:instruct 모델 하나를 서빙하는 데 집중하겠습니다.

Ollama 설정#

운영 체제에 맞는 설치 지침에 따라 Ollama를 설치하세요.

macOS에서는 터미널에서 brew install ollama를 실행하여 Homebrew를 대안으로 사용할 수도 있습니다.

설치가 완료되면 터미널에서 ollama pull mistral:instruct를 실행하여 모델을 가져오세요.

모델이 성공적으로 가져와졌다면 ollama run mistral:instruct로 실행해 보세요. 모델을 테스트한 후 프로세스를 종료하세요.

이제 Ollama 서버를 사용할 수 있습니다. http://localhost:11434/에 접속하면 Ollama is running이라는 메시지가 표시됩니다. 이는 서버가 이미 실행 중임을 의미합니다. 그렇지 않은 경우 터미널에서 ollama serve를 실행할 수 있습니다. Homebrew로 설치한 경우 brew services start ollama를 사용하세요.

Ollama 서빙 프레임워크는 OpenAI 호환 API를 제공합니다. API 레퍼런스를 참고하세요. 다음은 시도해볼 수 있는 간단한 예시입니다:

curl "http://localhost:11434/api/chat" \
  --data '{
    "model": "mistral:instruct",
    "messages": [
      {
        "role": "user",
        "content": "why is the sky blue?"
      }
    ],
    "stream": false
  }'

기본적으로 포트 11434에서 실행됩니다. 다른 애플리케이션이 이 포트를 이미 사용 중이어서 문제가 발생하는 경우 이 지침을 따르세요.

로컬에서 대규모 언어 모델 API 서빙하기

GitLab v19.1
원문 보기
요약

로컬 또는 자체 배포 목적으로 대규모 언어 모델(LLM)을 서빙하는 방법은 여러 가지가 있습니다. MistralAI는 자사 모델을 위한 두 가지 서빙 프레임워크를 권장합니다: vLLM: OpenAI의 사양에 맞는 API를 배포하는 Python 전용 서빙 프레임워크입니다.

로컬 또는 자체 배포 목적으로 대규모 언어 모델(LLM)을 서빙하는 방법은 여러 가지가 있습니다.

MistralAI는 자사 모델을 위한 두 가지 서빙 프레임워크를 권장합니다:

  • vLLM: OpenAI의 사양에 맞는 API를 배포하는 Python 전용 서빙 프레임워크입니다. vLLM은 서빙 처리량을 향상시키기 위한 페이지 어텐션(paged attention) 커널을 제공합니다.

  • NVIDIA의 Triton Inference Server로 서빙되는 NVIDIA의 TensorRT-LLM: TensorRT-LLM은 대규모 언어 모델 전용 커널을 사용하여 빠른 추론 엔진을 구축할 수 있는 DSL을 제공합니다. Triton Inference Server는 이러한 추론 엔진을 효율적으로 서빙할 수 있게 해줍니다.

이러한 솔루션들은 컴퓨팅에 CUDA 그래픽 API를 사용하므로 NVIDIA GPU에 대한 접근이 필요합니다. 그러나 Ollama는 이를 위한 낮은 구성의 크로스 플랫폼 솔루션을 제공합니다. 지금부터 이 솔루션에 대해 살펴보겠습니다.

Ollama#

Ollama는 로컬에서 대규모 언어 모델을 쉽게 시작하고 실행할 수 있도록 도와주는 오픈 소스 프레임워크입니다. 지원되는 LLM 중 어느 것이든 서빙할 수 있습니다. 또한 직접 모델을 만들어 Hugging Face에 업로드할 수도 있습니다.

LLM은 일반적으로 실행하기에 매우 무거운 점에 유의하세요.

따라서 여기서는 정확도 대비 상대적으로 가볍게 실행할 수 있는 mistral:instruct 모델 하나를 서빙하는 데 집중하겠습니다.

Ollama 설정#

운영 체제에 맞는 설치 지침에 따라 Ollama를 설치하세요.

macOS에서는 터미널에서 brew install ollama를 실행하여 Homebrew를 대안으로 사용할 수도 있습니다.

설치가 완료되면 터미널에서 ollama pull mistral:instruct를 실행하여 모델을 가져오세요.

모델이 성공적으로 가져와졌다면 ollama run mistral:instruct로 실행해 보세요. 모델을 테스트한 후 프로세스를 종료하세요.

이제 Ollama 서버를 사용할 수 있습니다. http://localhost:11434/에 접속하면 Ollama is running이라는 메시지가 표시됩니다. 이는 서버가 이미 실행 중임을 의미합니다. 그렇지 않은 경우 터미널에서 ollama serve를 실행할 수 있습니다. Homebrew로 설치한 경우 brew services start ollama를 사용하세요.

Ollama 서빙 프레임워크는 OpenAI 호환 API를 제공합니다. API 레퍼런스를 참고하세요. 다음은 시도해볼 수 있는 간단한 예시입니다:

curl "http://localhost:11434/api/chat" \
  --data '{
    "model": "mistral:instruct",
    "messages": [
      {
        "role": "user",
        "content": "why is the sky blue?"
      }
    ],
    "stream": false
  }'

기본적으로 포트 11434에서 실행됩니다. 다른 애플리케이션이 이 포트를 이미 사용 중이어서 문제가 발생하는 경우 이 지침을 따르세요.