미리보기
미리듣기
AI 개발의 가장 큰 문제는 성능이 아니라 재현성이다. 같은 코드인데 결과가 달라지고, 실험 조건이 기록되지 않으면 모델은 기억에 의존한 결과물이 된다. 쿠브플로우와 쿠버네티스를 중심으로 데이터 전처리, 학습, 자동화, 배포, 운영을 하나의 흐름으로 연결하며, 반복 가능하고 신뢰할 수 있는 AI 시스템 설계 방법을 설명한다.
또한 네트워크 환경은 분산 학습과 클라우드 기반 AI 시스템에서 핵심 요소로 자리 잡고 있다. 여러 서버가 동시에 모델을 학습하는 구조에서는 파라미터를 주고받는 과정이 지속적으로 발생하기 때문에, 네트워크 지연(latency)과 대역폭이 전체 성능에 직접적인 영향을 미친다. 네트워크가 불안정하면 학습 속도 저하뿐 아니라 동기화 문제까지 발생할 수 있다. 이처럼 하드웨어는 단순한 장비의 집합이 아니라, AI 모델의 실행 가능성과 효율을 결정하는 기반 구조다. 중요한 점은 하드웨어가 ‘충분하다/부족하다’의 문제가 아니라, 전체 시스템 흐름에서 어떤 병목을 만들고 있는지 이해하는 것이다. AI 개발에서는 모델을 설계하는 것과 동시에, 어떤 하드웨어 구조 위에서 이를 실행할 것인지까지 함께 고려해야 한다.
-01_“AI 모델의 작동 환경” 중에서
하지만 컨테이너만으로는 실제 운영 문제를 모두 해결할 수 없다. 이유는 간단하다. 현실의 서비스 환경에서는 컨테이너가 하나만 실행되지 않기 때문이다. 실제 시스템에서는 수십 개, 수백 개의 컨테이너가 동시에 실행되며, 서로 다른 서버에 분산되어 동작한다. 또한 사용자의 요청량은 항상 일정하지 않기 때문에, 실행 중인 컨테이너의 수는 상황에 따라 계속 변해야 한다. 이러한 작업을 사람이 직접 수행하는 것은 사실상 불가능에 가깝다. 여기서 등장하는 것이 쿠버네티스다. 쿠버네티스는 컨테이너를 실행하는 도구가 아니라, 컨테이너를 ‘관리’하는 시스템이다. 여러 서버에 분산된 컨테이너들을 하나의 시스템처럼 다루고, 원하는 상태를 정의하면 그 상태를 유지하도록 자동으로 조정한다.
-03_“쿠버네티스의 기본 이해” 중에서
이렇게 되면 주피터에서의 실험은 단순한 개인 작업을 넘어 전체 AI 개발 흐름의 일부로 연결된다. 초기 실험은 주피터에서 빠르게 수행하고, 검증된 과정은 파이프라인으로 옮겨 자동화하는 구조가 만들어진다. 결국 주피터에서의 코드 실행과 결과 확인은 단순한 테스트 과정이 아니다. 모델을 이해하고, 실험을 설계하고, 이후의 자동화 과정으로 이어지는 출발점이다. 이 과정을 어떻게 관리하느냐에 따라 AI 개발 전체의 효율과 안정성이 크게 달라진다.
-06_“주피터 기반 AI 모델 첫 실험” 중에서
모델 배포의 첫 단계는 학습된 모델을 실제 서비스와 연결하는 것이다. 학습이 완료되면 모델은 보통 파일 형태로 저장된다. 하지만 이 상태만으로는 외부에서 직접 사용할 수 없다. 모델을 실행하고 결과를 반환하는 구조가 별도로 필요하다. 즉, 모델 자체가 아니라 ‘모델을 호출할 수 있는 시스템’이 함께 구성되어야 한다. 이때 가장 일반적으로 사용되는 방식이 API(Application Programming Interface)다. API는 외부 시스템이 모델의 기능을 호출할 수 있도록 해 주는 인터페이스다. 사용자는 직접 모델을 다루는 대신, API를 통해 입력 데이터를 전달하고 결과를 받는다. 이 구조는 모델을 하나의 독립된 서비스로 분리해 주는 역할을 한다.
-09_“AI 모델 배포 과정” 중에서
