프로젝트 진행 관련 학습(2)

Shin Dae Hwan·2026년 1월 2일

개발자가 할 수 있는 고민이 있다.

"어떻게 하면 비싼 GPU 서버 없이, 내 노트북에서 최신 AI 모델을 쉽고 빠르게 돌려볼까?"
"내가 만든 AI 서비스의 사용자가 10만 명으로 늘어났을 때, 어떻게 서버를 관리하고 확장할까?"

이를 해결하기 위해, Ollama(올라마)와 오케스트레이션(Orchestration)의 개념과 차이.
그리고 연결 지점에 대해 심층적으로 분석해보려고 한다.


Ollama(올라마): 내 컴퓨터를 AI 실험실로 만든다.
-> 비유: "오락실 기계를 가정용 게임기로 압축한다."

그렇다면 Ollama란 무엇인가?

1. 정의

복잡한 설정 없이 로컬 환경(PC/Mac)에서 LLM(대규모 언어 모델)을 실행할 수 있게 해주는 오픈소스 도구.

등장 배경: 기존에는 Llama 3 같은 모델을 돌리려면 Python, PyTorch, CUDA 설정 등 복잡한 환경 설정 과정을 거쳐야 했는데, Ollama는 이를 명령어 한 줄(ollama run llama3)로 해결함.

2. 기술적 특징

① 경량화: 거대한 파라미터(FP16)를 4비트(GGUF 포맷) 등으로 양자화하여, 일반적인 RAM 용량에서도 고성능 모델이 돌아가도록 최적화.
-> FP16이란? 숫자를 저장할 때 16개의 비트(0/1 칸)를 쓴다는 뜻. 정밀한 원본 숫자를 의미함.
-> 양자화란? 정밀한 숫자를 덜 정밀한 숫자로 바꿔서 용량을 줄이는 것.
-> GGUF 포맷이란? 양자화를 통해 용량이 줄어든 모델을 저장하는 파일 형식.

② Modelfile: 도커(Docker)의 Dockerfile처럼, 모델의 시스템 프롬프트나 파라미터를 코드로 정의하여 나만의 모델을 쉽게 커스터마이징 가능함.

③ API 서버 내장: 실행과 동시에 로컬 API 서버가 열려, 개발 중인 웹/앱 서비스와 즉시 연동 가능함.

3. 왜 쓰는가?

  • 데이터 보안: 민감한 데이터를 클라우드(OpenAI 등)로 보낼 필요 없이 내부망에서 처리가능함.
  • 비용 절감: 값비싼 API 호출 비용 없이 무료로 무제한 테스트 가능함.

오케스트레이션(Orchestration): 혼란을 통제하는 지휘자
-> 비유: "100명의 요리사를 지휘하는 주방의 총괄 셰프"

그렇다면 오케스트레이션이란 무엇인가?

1. 정의

다수의 컨테이너(애플리케이션)를 여러 서버에 배포하고, 스케일링하며, 운영을 자동화하는 기술.

  • 필요성: 서비스가 커지면 서버가 1대에서 100대로 늘어남.
    사람이 수동으로 100대의 서버를 켜고 끄고 고치는 것은 불가능함.

2. 핵심 기능 4가지

① 프로비저닝 & 스케줄링(Placement)
-> "이 프로그램은 A 서버가 한가하니 저기에 배치하자." (최적의 위치 선정)

② 오토 스케일링(Auto-scaling)
-> "트래픽이 폭주한다! 서버 10대 더 투입해!" (수요에 따른 탄력적 자원 관리)

③ 자가 치유(Self-healing)
-> "3번 서버의 프로그램이 응답이 없네? 죽이고 새로 띄워." (장애 자동 복구)

④ 서비스 디스커버리(Networking)
-> 내부 서버가 아무리 바뀌어도 외부에서는 하나의 주소로 접속 가능하게 교통정리.

3. 컨테이너와의 관계 비유

컨테이너(Docker)가 '개별 포장된 도시락'이라면,
오케스트레이션은 이 도시락을 수만 명에게 제시간에 배달하는 '물류 시스템'을 의미.


Ollama와 오케스트레이션이 만나는 지점

[시나리오]

  • 개발 단계: 개발자는 Ollama를 이용해 맥북에서 Llama-3-Korean 모델을 띄우고, 챗봇 애플리케이션을 개발함.
  • 배포 단계: 서비스 런칭이 결정됨, 이제 맥북이 아닌 고성능 GPU 클라우드 서버 클러스터가 필요함.
  • 운영 단계: 이때 오케스트레이션이 등장.

Ollama 자체를 컨테이너화하거나, vLLM 같은 고성능 서빙 도구를 사용하여 수십 개의 AI 모델 컨테이너를 관리한다.
MLOps의 실현: 로컬에서의 실험(Ollama)이 실제 대규모 운영(Orchestration)으로 이어지는 파이프라인이 완성된다.


간략 마무리

Ollama: '나무'를 심고 가꾸는 도구.
-> (개별 모델의 실행과 튜닝)

오케스트레이션: 울창한 '숲'을 관리하는 시스템.
-> (전체 인프라의 안정적 운영)

0개의 댓글