로컬에서 대규모 언어 모델 API 서빙하기
로컬 또는 자체 배포 목적으로 대규모 언어 모델(LLM)을 서빙하는 여러 가지 방법과 Ollama를 사용한 설정 방법을 설명합니다.
로컬 또는 자체 배포 목적으로 대규모 언어 모델(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": f