F-Lab
🚀
상위권 IT회사 합격 이력서 무료로 모아보기

인공지능 모델 배포: FastAPI와 Docker를 활용한 실습

writer_thumbnail

F-Lab : 상위 1% 개발자들의 멘토링

AI가 제공하는 얕고 넓은 지식을 위한 짤막한 글입니다!



소개

안녕하세요. 이번 포스트에서는 인공지능 모델을 배포하는 방법에 대해 알아보겠습니다. 특히 FastAPI와 Docker를 활용한 실습을 중심으로 설명드리겠습니다.

인공지능 모델을 배포하는 과정은 복잡할 수 있지만, FastAPI와 Docker를 활용하면 보다 쉽게 배포할 수 있습니다.

이번 포스트에서는 FastAPI를 사용하여 API 서버를 구축하고, Docker를 사용하여 컨테이너화하는 과정을 단계별로 설명하겠습니다.

왜냐하면 FastAPI와 Docker는 각각 API 서버 구축과 컨테이너화에 최적화된 도구이기 때문입니다.

그럼 이제 시작해보겠습니다.



FastAPI를 사용한 API 서버 구축

먼저 FastAPI를 사용하여 API 서버를 구축합니다. FastAPI는 Python 기반의 웹 프레임워크로, 빠르고 간단하게 API 서버를 구축할 수 있습니다.

FastAPI를 설치하려면 다음과 같은 명령어를 사용합니다:

pip install fastapi
pip install uvicorn

설치가 완료되면, 다음과 같이 간단한 API 서버를 구축할 수 있습니다:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

if __name__ == "__main__":
    import uvicorn
    uvicorn.run(app, host="0.0.0.0", port=8000)

왜냐하면 FastAPI는 비동기 처리를 지원하여 높은 성능을 제공하기 때문입니다.

이제 FastAPI를 사용하여 인공지능 모델을 호출하는 API를 구축해보겠습니다.



인공지능 모델 호출 API 구축

다음으로 인공지능 모델을 호출하는 API를 구축합니다. 먼저 인공지능 모델을 로드하고, 예측 결과를 반환하는 함수를 작성합니다.

예를 들어, PyTorch를 사용하여 모델을 로드하고 예측하는 코드는 다음과 같습니다:

import torch
from fastapi import FastAPI

app = FastAPI()

# 모델 로드
model = torch.load("model.pth")
model.eval()

@app.post("/predict")
def predict(data: dict):
    input_tensor = torch.tensor(data["input"])
    with torch.no_grad():
        output = model(input_tensor)
    return {"output": output.tolist()}

왜냐하면 인공지능 모델을 API로 호출하면, 다양한 클라이언트에서 쉽게 접근할 수 있기 때문입니다.

이제 FastAPI 서버를 Docker를 사용하여 컨테이너화해보겠습니다.



Docker를 사용한 컨테이너화

다음으로 FastAPI 서버를 Docker를 사용하여 컨테이너화합니다. Docker는 애플리케이션을 컨테이너로 패키징하여 배포할 수 있는 도구입니다.

먼저 Dockerfile을 작성하여 FastAPI 서버를 컨테이너로 패키징합니다:

FROM python:3.8-slim

WORKDIR /app

COPY . /app

RUN pip install --no-cache-dir -r requirements.txt

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]

Dockerfile을 작성한 후, 다음 명령어를 사용하여 Docker 이미지를 빌드합니다:

docker build -t fastapi-app .

이미지 빌드가 완료되면, 다음 명령어를 사용하여 컨테이너를 실행합니다:

docker run -d -p 8000:8000 fastapi-app

왜냐하면 Docker를 사용하면 애플리케이션을 일관되게 배포할 수 있기 때문입니다.

이제 FastAPI 서버가 Docker 컨테이너에서 실행되고 있습니다.



서비스 배포 및 테스트

마지막으로 서비스를 배포하고 테스트합니다. 웹 브라우저를 통해 FastAPI 서버에 접속하여 API가 정상적으로 동작하는지 확인합니다.

예를 들어, http://localhost:8000/predict 엔드포인트에 POST 요청을 보내어 예측 결과를 확인합니다.

왜냐하면 서비스 배포 후 테스트는 실제 운영 환경에서 발생할 수 있는 문제를 사전에 발견하고 해결할 수 있기 때문입니다.

테스트가 완료되면, 서비스 배포가 완료됩니다.

이제 FastAPI와 Docker를 활용한 인공지능 모델 배포가 완료되었습니다.



결론

이번 포스트에서는 FastAPI와 Docker를 활용하여 인공지능 모델을 배포하는 방법에 대해 알아보았습니다. FastAPI를 사용하여 API 서버를 구축하고, Docker를 사용하여 컨테이너화하는 과정을 설명드렸습니다.

FastAPI와 Docker는 각각 API 서버 구축과 컨테이너화에 최적화된 도구로, 이를 활용하면 보다 쉽게 인공지능 모델을 배포할 수 있습니다.

왜냐하면 FastAPI와 Docker는 높은 성능과 일관된 배포 환경을 제공하기 때문입니다.

이번 포스트를 통해 FastAPI와 Docker를 활용한 인공지능 모델 배포에 대한 이해가 높아지길 바랍니다.

감사합니다.

ⓒ F-Lab & Company

이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.

조회수
logo
copyright © F-Lab & Company 2025