* 객관식/주관식 15문제 ...
뭐가 나올지 감이 안오지만 GPT 피셜 --
- Python/자료구조: 4~5문제
- 데이터/ML 개념: 5~6문제
- 인프라/MLOps: 3~4문제
- 기타(SQL/트러블슈팅): 1~2문제
Gemini 피셜 --
1. AI 인프라 및 플랫폼 (가장 유력)
JD에서 GPU 인프라 구축, Kubernetes(K8S), Docker를 명시하고 있습니다. 모델러보다는 '엔지니어'에 가까운 문제들이 나올 가능성이 높습니다.
- 가상화 및 컨테이너: Docker Image와 Container의 차이, Dockerfile 작성 시 주요 명령어(RUN, CMD, ENTRYPOINT 등)의 용도를 물을 수 있습니다.
- Kubernetes 기초: Pod, Service, Deployment 같은 기본 오브젝트의 개념이나, 왜 AI 플랫폼에서 K8S가 필요한지(스케줄링, 오토스케일링 등)에 대한 객관식 문제가 나올 수 있습니다.
- GPU 인프라: NVIDIA Docker(NVIDIA Container Toolkit)의 역할이나 CUDA 버전 관리, GPU 모니터링 시 확인해야 할 지표(Util, Memory) 등에 대한 상식을 체크할 가능성이 큽니다.
2. MLOps 및 모델 서빙
"AI 모델 서빙 프로세스 이해"와 "MLOps 시스템 구성"이 업무 활동에 포함되어 있습니다.
- 모델 서빙: REST API(Flask, FastAPI)의 기본 구조나, 추론(Inference) 속도 최적화를 위한 방법들(Batching, 양자화 등)에 대한 주관식 단답형이 예상됩니다.
- MLOps 파이프라인: 모델의 버전 관리(Versioning), 데이터 드리프트(Data Drift)의 개념, CI/CD가 ML 환경에서는 어떻게 적용되는지에 대한 개념 문제가 나올 수 있습니다.
- 저장소 및 툴: JD에 언급된 GitLab, MinIO 등이 어떤 용도로 쓰이는지(소스 제어, 오브젝트 스토리지) 파악해 두세요.
3. 프로그래밍 및 자료구조 (기초)
전형적인 CS 기초 역량입니다. 난이도는 높지 않겠지만 실수를 유도하는 문제가 나올 수 있습니다.
- Python 실무: 리스트 컴프리헨션, 제너레이터, Decorator의 활용, 혹은 pandas/numpy를 이용한 간단한 데이터 핸들링 코드를 보여주고 실행 결과를 맞히는 문제.
- 자료구조/알고리즘: 15문제 중 3~4문제는 스택, 큐, 해시 테이블의 특징이나 시간 복잡도(Big-O)를 묻는 객관식이 섞일 것입니다.
- 트러블슈팅: 로그 분석 능력을 강조하고 있으므로, 에러 로그(예: Out of Memory, Connection Refused)를 보여주고 원인을 고르는 문제도 충분히 가능합니다.
-> 공통적으로 인프라/MLOps 도 예상하는데 이부분은 정말 모르는데...
MLOps
Silo Effect : 조직 내 부서나 팀들이 서로 고립되어 정보와 자원을 공유하지 않고 독립적으로 운영되는 상황
-> 문제 발생 (커뮤니케이션 부족, 중복 작업, 혁신 저해...)
DevOps : Development + Operations - 개발과 운영의 합성어
SW 개발과 IT 운영을 통합
MLOps : ML + Operations - 머신러닝 개발과 운영 시스템 통합
* 개발 - 배포의 자동화 및 최적화
* CI (Continous Integraion) : 지속적 통합, 코드의 변경사항을 지속적 통합
* CD (Continous Delivery) : 지속적 배포, 검증된 변경사항을 지속적 배포
* CT(Continuous Training): 새로운 데이터 유입 시 자동으로 재학습하는 MLOps만의 특징.
* 핵심 : (AI 모델 개발 - AI 모델 최적화 - AI 서비스 운영 + 데이터 파이프라인 관리 , 인프라 / 컴퓨팅 리소스 관리) 자동화
* 재현성 중요 (데이터/모델/코드 버전, 같은 결과 다시 만들 수 있어야함)
* 버전 관리 중요
DevOps와 MLOps 비교
* 모델 만들고 배포하는 단계가 추가됨
* Data (모델 만들때, 실제 현실 데이터 (운영 단계))
ML 생애주기
0) 문제/데이터 정의, 가설 수립
1) 데이터 준비
- 데이터 확보, 수집, 연계
- 데이터셋 공유 및 재사용
- Data Drift : 모니터링 단계에서 사용
- 데이터 탐색 / 가공
- 데이터 레이블링
- Feature Importance : 어떤 컬럼이 중요한지
2) 실험/학습
- 실험, 모델 학습/최적화/비교평가
- 데이터 준비와도 밀접한 관계
- 고려해야하는 질문들
- 여러 모델 비교
- 최근 3개 모델은 어떤 알고리즘/파라미터로 학습했는지
- Feature 변경은 어떤 영향?
- 지난번에 썼던 스크립트는 어느 버전이었고 상세 로그는?
- 실험 추적관리
- 자동화된 ML (Automated ML)
- 여러 실험 입력 조건 조합들에 따른 학습 결과 예측
- 모델의 검증 : 예측성능/처리성능
3) 모델 해석
- 중요한 이유: 모델이 복잡해질수록 설명이 안되기 때문에 정확도만으로 충분하지 않음
ex) 개/ 늑대 구분 -> 정확도는 높았으나 어느 부분을 참고했는지 출력 결과 배경만을 참고- 모델 디버깅
- 모델 공정성 판단
- 사람과 AI의 협력
- 규제 및 컴플라이언스
- 리스크 영역
4) 배포/서빙
- 모델 등록/패키지 정보 제공/추론로직 제공 -> Container Image 생성 -> 배포환경 지정 -> 배포/서빙
- 모델의 모니터링 : 데이터 드리프트 (Data Drift)
- 데이터의 패턴 특성이 시간이 지나며 변하는 현상
- 학습에 활용된 당시의 데이터와 차이가 커질수록 예측 성능이 저하될 가능성
- 따라서 Data Drift 여부를 지속적으로 모니터링하면 모델의 재학습 시점을 판단하는 방법이 될 수 있음
- 모델 서빙 방식
- Batch Inference : 한번에 처리 (ex: 하루 1번)
- Real-time Inference : 요청 즉시 응답 (ex: 검색, 추천)
인프라
AI 인프라
- GPU - 병렬 연산 가능으로 딥러닝 속도 향상
- 클라우드 or 자체 구축해서 사용
- 학습 / 분석 / 추론 클러스터 필요 -> 단일화된 제품 나오고 있음
가상화 및 컨테이너

컨테이너
= 서버의 한 종류 (소프트웨어 + 하드웨어)
- 여러 소프트웨어를 한 서버에서 돌려야함
-> 가상화기술로 한 서버를 여러 개로 쪼개서 각 소프트웨어를 돌림 - 가상화기술
- 옛날에는 VM(Virtual Machine) 가상머신 사용 (운영체제를 포함)
- Container - VM보다 가볍고 빠름
Docker
- 컨테이너를 관리하기 위한 도구, 일종의 프로그램 (위 그림에서 Container engine)
- 구성요소
- Dokckerfile : 컨테이너 만들기 위한 설명서
- Copy files
- Install dependencies
- Set environment Variables
- Image :
- 어플리케이션을 실행하는데 필요한 코드, 런타임환경, 시스템툴, 라이브러리 모든 세팅 포함 -> 이미지 (불변의 상태)
- Dockerfile -> (Build) Image
- Contatiner
- 이미지 활용해서 어플리케이션 구동 (RUN)
- Dokckerfile : 컨테이너 만들기 위한 설명서
- 배포 방법
- Local Machine - Image -> (push) Container Registry -> (Pull) Image - Server
- Container Registry
- Public : dockerhub, Github packages....
- Private : AWS, Goggle Cloud, MSAzure
Kubernetes
- 서버가 여러 대 있는 환경에서 각각의 서버의 도커에게 대신 지시해주는 오케스트레이션 도구
- 컨테이너 오케스트레이션 도구
- Docker Compose의 확장판
- 장점
- 컨테이너 관리 자동화
- 부하 분산
- 쉬운 스케일링 (서버 수 조절)
- 셀프 힐링 (특정 프로그램이 죽으면 재시작)
- 파드 (Pod)
- 쿠버네티스에서 가장 작은 단위 (like 컨테이너 but 하나의 파드에 여러개의 컨테이너가 있을 수 있음)
- 도커처럼 이미지를 기반으로 파드를 띄워 실행시킴
TODO :
- 구글링하다 찾은 어떤 분의 필기 자료 풀어보기 :
https://velog.io/@nwsugz/AI%EC%A7%81%EB%AC%B4-%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91-%EB%8C%80%EB%B9%84