본문 바로가기
IT/AI

[AI] Ollama 비용 비교: 로컬 AI vs 클라우드 API 실측 분석

by 수누다 2026. 6. 30.

[AI 운영] Ollama 비용 비교: 로컬 AI vs 클라우드 API

로컬 AI를 붙여볼까, 아니면 그냥 API로 갈까. 이 고민 한 번쯤 해보셨을 겁니다. 저도 홈랩에서 이것저것 붙여 보다가 Ollama 비용이 생각보다 단순하지 않다는 걸 꽤 늦게 깨달았거든요. 처음엔 "로컬은 공짜 아니야?"라고 생각했는데, 실제로 써보니까 하드웨어 감가상각, 전력, 운영 시간, 장애 대응까지 다 합쳐서 봐야 하더라고요. 반대로 클라우드 API는 비싸 보이지만, 잘 쓰면 운영 부담이 거의 없어서 총비용(TCO, Total Cost of Ownership) 기준으로는 더 낫기도 합니다.

이 글은 제가 13년차 인프라 엔지니어로서 실제 운영 관점에서 정리한 비교입니다. 특정 벤치마크 숫자를 억지로 붙이기보다, 어떻게 측정하고 어떤 기준으로 판단해야 하는지에 집중하겠습니다. 특히 로컬 LLM, Claude API 비용, 그리고 흔히 오해하기 쉬운 AI 운영 비용까지 같이 보겠습니다.

Ollama 비용 비교를 위한 로컬 서버와 클라우드 API 아키텍처 개요 이미지

로컬 추론 서버, 사내 애플리케이션, 외부 클라우드 API가 어떻게 연결되는지 한 장으로 보여주는 개요 이미지입니다.

1. 왜 다들 Ollama 비용에서 헷갈릴까요?

쉽게 말해, 로컬은 토큰당 과금이 안 보일 뿐이지 비용이 없는 게 아닙니다. 반대로 클라우드는 청구서가 너무 잘 보여서 비싸게 느껴지는 거고요. 제가 처음엔 이 부분에서 삽질 좀 했습니다 ㅎㅎ 눈앞에 보이는 건 API 청구서뿐인데, 실제로는 집이나 사무실에 있는 장비가 계속 전기를 먹고 있고, 디스크도 차고, 백업도 해야 하고, 장애 나면 내가 직접 봐야 하거든요.

  • 로컬 AI(Ollama): 토큰 과금 대신 하드웨어, 전력, 운영 인건비가 들어갑니다.
  • 클라우드 API: 초기 투자 없이 바로 쓰지만, 사용량이 늘면 월 비용이 빠르게 올라갑니다.
  • 핵심 포인트: 둘 중 뭐가 싼지는 "감정"이 아니라 "트래픽 패턴"으로 결정됩니다.

2. 로컬 LLM vs 클라우드 API, 개념을 아주 쉽게 풀어보면

Ollama는 오픈 웨이트(open weights, 공개 배포 모델)를 로컬에서 쉽게 실행하게 해주는 러너(runner)라고 보시면 됩니다. 설치가 간단하고, 모델을 pull 해서 바로 돌릴 수 있어서 입문 장벽이 낮습니다. 제가 직접 써보니 개발 PC나 홈랩에서 빠르게 검증할 때 정말 편하더라고요.

반면 클라우드 API는 모델 자체를 직접 운영하지 않고, 요청(request)과 응답(response)에 대해 비용을 내는 구조입니다. 예를 들어 Anthropic의 Claude API는 공식 가격 페이지 기준으로 모델별 입력 토큰(input token)과 출력 토큰(output token) 단가가 분리되어 있습니다.

항목 Ollama 로컬 실행 클라우드 API
초기비용 장비가 필요함 거의 없음
월비용 구조 전력, 감가상각, 운영비 토큰 사용량 기반
확장성 장비 한계에 좌우 상대적으로 쉬움
보안/격리 오프라인 운영 가능 정책 검토 필요
운영 난이도 직접 관리 낮은 편

여기서 중요한 포인트!

Ollama NPU 같은 키워드 때문에 "NPU만 있으면 로컬 AI가 무조건 유리하다"라고 생각하시는 분도 있는데요, 실제 운영에서는 모델 크기, 메모리 용량, 메모리 대역폭, 동시 요청 수가 더 크게 체감됩니다. 저도 처음엔 가속기 종류만 보다가, 나중에 병목이 저장소가 아니라 메모리 쪽이라는 걸 체감했었습니다.

3. Ollama 비용 계산은 이렇게 해야 덜 틀립니다

제가 권하는 방식은 아주 단순합니다. 로컬은 월 고정비처럼 보고, 클라우드는 사용량 기반 변동비처럼 보시면 됩니다.

로컬 AI 운영 비용 계산식

  1. 장비 구매비를 사용 예정 개월 수로 나눕니다.
  2. 월 전력 비용을 더합니다.
  3. 스토리지, 백업, 모니터링 같은 부대비용을 더합니다.
  4. 운영 시간까지 돈으로 환산할지 결정합니다.
월 로컬 비용 = (장비 구매비 / 사용 개월 수) + 월 전력비 + 부대비용 + 운영 인건비(선택)

예를 들어 개발팀에서 내부 문서 검색 보조나 코드 요약처럼 예측 가능한 고정 부하가 있다면, 로컬이 생각보다 유리해질 수 있습니다. 반대로 요청이 들쑥날쑥하고 야간 피크가 큰 서비스라면 장비를 놀리는 시간이 많아져서 비효율이 생깁니다.

Claude API 비용 계산식

Anthropic 공식 가격 페이지를 보면 Claude Sonnet 4.6은 입력 1MTok당 $3, 출력 1MTok당 $15이고, Claude Haiku 4.5는 입력 1MTok당 $1, 출력 1MTok당 $5입니다. 여기서 중요한 건 입력과 출력이 따로 과금된다는 점입니다.

월 API 비용 = (월 입력 토큰 / 1,000,000 × 입력 단가) + (월 출력 토큰 / 1,000,000 × 출력 단가)

이 계산식만 붙여도 Claude API 비용 감이 꽤 빨리 옵니다. 특히 프롬프트가 길거나, RAG(Retrieval-Augmented Generation, 검색증강생성)로 문서를 많이 붙이는 구조라면 입력 토큰이 생각보다 많이 나옵니다.

4. 실전 구현: 로컬 Ollama와 클라우드 API를 같은 기준으로 재보기

비교는 공정해야 합니다. 제가 보통 맞추는 기준은 4개입니다. 같은 작업 유형, 비슷한 길이의 프롬프트, 같은 동시성, 같은 로그 포맷. 이 4개가 안 맞으면 숫자가 예쁘게 나와도 의미가 없습니다.

  1. 로컬에 Ollama를 설치합니다.
  2. 테스트용 모델을 하나 내려받습니다.
  3. 동일 프롬프트로 로컬과 API를 각각 호출합니다.
  4. 지연시간(latency, 응답 지연), 실패율, 토큰 사용량을 같은 형식으로 남깁니다.
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2
ollama run qwen2

설치는 정말 빠릅니다. 근데 여기서 끝이 아니더라고요. 실무에서는 "잘 실행된다"보다 "반복 호출해도 안정적인가"가 더 중요합니다.

로컬 LLM 구성에서 Ollama 비용과 자원 사용 흐름을 보여주는 이미지

Ollama 설치 이후 모델 다운로드, 로컬 추론, 애플리케이션 호출 흐름을 단계별로 보여주는 구성 이미지입니다.

같은 프롬프트를 보내는 간단한 테스트 예시

import os
import time
import requests

PROMPT = "사내 장애 보고서를 5줄로 요약하고, 후속 조치 3가지를 제안해 주세요."

def test_ollama():
    started = time.time()
    r = requests.post(
        "http://localhost:11434/api/generate",
        json={"model": "qwen2", "prompt": PROMPT, "stream": False},
        timeout=120,
    )
    elapsed = time.time() - started
    return {"target": "ollama", "status": r.status_code, "elapsed_sec": round(elapsed, 2)}

def test_claude():
    started = time.time()
    r = requests.post(
        "https://api.anthropic.com/v1/messages",
        headers={
            "x-api-key": os.environ["ANTHROPIC_API_KEY"],
            "anthropic-version": "2023-06-01",
            "content-type": "application/json",
        },
        json={
            "model": "claude-sonnet-4-6",
            "max_tokens": 300,
            "messages": [{"role": "user", "content": PROMPT}],
        },
        timeout=120,
    )
    elapsed = time.time() - started
    return {"target": "claude_api", "status": r.status_code, "elapsed_sec": round(elapsed, 2)}

print(test_ollama())
print(test_claude())

이 정도만 돌려도 감이 옵니다. 로컬은 장비 상태 영향을 많이 받고, 클라우드는 네트워크 왕복이 있지만 운영은 단순합니다.

5. ⚠️ 주의사항: 제가 실제로 자주 부딪힌 문제들

1) 로컬은 "무료"가 아니라 "숨은 비용"이 많습니다

가장 흔한 오해입니다. Ollama 비용을 0원처럼 보면 의사결정이 틀어집니다. 디스크가 꽉 차거나 모델 캐시가 꼬이면 정리 시간이 들어가고, 백업 정책 없으면 장애 복구도 직접 해야 합니다.

2) 모델 성능 비교를 제품 간 단순 비교로 하면 안 됩니다

같은 작업이라도 로컬 모델과 상용 API 모델은 튜닝 상태, 컨텍스트 길이, 응답 품질이 다릅니다. 그래서 저는 "정답률" 하나만 보지 않고 아래 항목을 같이 봅니다.

  • 응답 품질 일관성
  • 지연시간 편차
  • 실패 재시도 비율
  • 운영자가 손대야 하는 빈도

3) Ollama NPU만 보고 설계하면 낭패 보기 쉽습니다

이건 특히 노트북 기반 테스트에서 많이 보입니다. NPU가 있더라도 모든 워크로드가 자동으로 유리해지는 건 아닙니다. 실제로는 모델 메모리 요구사항과 드라이버 성숙도, 배치(batch, 일괄 처리) 특성이 더 중요할 때가 많았습니다.

4) 클라우드는 프롬프트 설계가 곧 비용 절감입니다

제가 써보니까 API 쪽은 인프라보다 프롬프트 정리가 더 큰 절감 포인트인 경우가 많았습니다. 시스템 프롬프트를 너무 길게 쓰거나, RAG 문서를 매번 과하게 붙이면 비용이 금방 올라갑니다.

6. 검증/결과: 무엇을 보면 판단이 빨라질까요?

벤치마크 툴을 거창하게 만들 필요는 없습니다. 아래 5가지만 수집해도 충분합니다.

  1. 평균 지연시간과 p95 지연시간
  2. 실패율과 재시도 횟수
  3. 월 입력/출력 토큰
  4. 동시 요청 수 증가 시 품질 저하 여부
  5. 운영자가 개입한 시간

저는 여기서 마지막 항목을 꼭 봅니다. 왜냐하면 AI 운영 비용은 서버 비용만이 아니라, 결국 사람 시간까지 포함해서 봐야 하거든요.

Ollama 비용과 Claude API 비용을 비교하는 운영 대시보드 이미지

응답 지연, 실패율, 토큰 사용량, 추정 월 비용을 한 번에 비교하는 운영 대시보드 이미지입니다.

상황 로컬 Ollama가 유리한 경우 클라우드 API가 유리한 경우
보안 오프라인 또는 내부망 우선 외부 반출 정책 검토 가능
트래픽 예측 가능한 고정 사용량 변동 폭이 큼
운영 인력 직접 관리 가능 인프라 운영 여력이 적음
초기 도입 실험 장비가 이미 있음 빠른 PoC가 필요함
확장 제한적 상대적으로 유연함

정리하면 이렇습니다. Ollama 비용은 장기적이고 예측 가능한 내부 업무에 잘 맞고, Claude API 비용은 초기 투자 없이 빠르게 시작해야 하는 팀에 잘 맞습니다. 어느 쪽이 무조건 낫다기보다, 트래픽 곡선과 운영 역량이 답을 정해 줍니다.

7. 자주 묻는 질문

Q1. 작은 팀도 로컬 LLM을 바로 도입할 만한가요?

가능은 합니다. 다만 장비보다 먼저 운영 목표를 정하시는 게 좋습니다. 사내 요약, 분류, 초안 작성처럼 반복 업무가 명확하면 훨씬 판단이 쉽습니다.

Q2. API 비용이 무서운데, 바로 로컬로 가야 할까요?

꼭 그렇진 않습니다. 제가 추천하는 순서는 보통 API로 빠르게 검증한 뒤, 사용 패턴이 굳으면 그때 로컬 이전을 검토하는 방식입니다. 이게 실패 비용이 낮더라고요.

Q3. 실측 분석은 얼마나 돌려봐야 믿을 수 있나요?

최소한 평일 업무 시간대와 야간 시간대는 나눠서 보시는 걸 권합니다. 짧게 한두 번 돌려서는 운영 현실이 잘 안 보입니다.

8. 마무리: 결론은 "누가 더 싼가"가 아니라 "내 패턴에 뭐가 맞는가"입니다

처음엔 저도 로컬이면 무조건 이득일 줄 알았습니다. 근데 실제로 써보니까, 운영 가능한 로컬그냥 돌아가는 로컬은 완전히 다른 이야기더라고요. 반대로 클라우드 API도 비싸 보이지만, 운영 복잡도를 줄여 준다는 점에서 값어치를 할 때가 분명히 있습니다.

그래서 제 기준은 이겁니다. 고정 부하, 데이터 통제, 반복 업무면 Ollama 쪽을 먼저 보고, 빠른 검증, 유연한 확장, 낮은 운영 부담이면 클라우드 API를 먼저 봅니다. 혹시 지금 막 비교 중이시라면, 장비 스펙부터 보지 마시고 먼저 한 달 사용량과 프롬프트 길이부터 적어 보세요. 그게 제일 빨랐습니다.

Ollama 비용 기준으로 로컬 AI와 클라우드 API 선택 포인트를 정리한 이미지

보안, 비용 구조, 성능, 운영 난이도를 기준으로 어떤 선택이 맞는지 한눈에 정리한 요약 인포그래픽입니다.

다음 글에서는 Ollama + 벡터DB(vector database) + RAG 조합에서 실제로 비용이 어디서 새는지 더 구체적으로 다뤄보겠습니다. 이전 글에서 다룬 홈랩 관측성(observability) 구성과도 연결해 보시면 훨씬 이해가 쉬우실 겁니다.