파트 1: Amazon SageMaker 이해
Source: Dev.to
SageMaker에 대한 첫 인상
Amazon SageMaker를 처음 접했을 때, 나는 이것이 데이터 과학자에게는 더 의미가 있고 소프트웨어 엔지니어에게는 그다지 매력적이지 않은 AWS 서비스 중 하나라고 생각했습니다.
이름을 여러 번 보긴 했지만, 여전히 한 가지 기본적인 질문에 대한 명확한 답을 찾지 못했습니다:
SageMaker는 실제로 무엇을 위한 것일까?
처음에는 단순히 “AWS 머신러닝 서비스”라고 생각했습니다. 하지만 그 설명은 너무 포괄적이라 실용적이지 않았습니다.
지금은 이렇게 이해합니다:
Amazon SageMaker는 관리형 AWS 플랫폼으로, 팀이 머신러닝 시스템을 처음부터 모든 워크플로우를 직접 구성하지 않고도 구축, 학습, 배포 및 활용할 수 있도록 도와줍니다.
이것이 제가 필요로 했던 사고 전환이었습니다.
내가 이해하는 데 도움이 된 질문
소프트웨어 엔지니어로서, 나는 보통 간단한 질문을 통해 새로운 플랫폼을 이해합니다:
이 플랫폼이 내 일상 업무에서 제거하려는 문제는 무엇인가?
그렇게 SageMaker를 바라보니 훨씬 더 이해가 되었습니다.
SageMaker가 실제로 해결하고 있는 문제는 단순히:
모델을 어떻게 학습시키나요?
그것만이 아니라:
이 작업을 반복 가능하고, 관리되며, 프로덕션 친화적인 방식으로 어떻게 수행할 수 있나요?
이 차이가 중요합니다.
SageMaker는 모델만이 아니다
많은 AI 대화는 모델 자체에 초점을 맞춥니다. 하지만 간단한 데모를 넘어 생각해 보면, 실제 작업은 모델보다 훨씬 더 방대합니다. 다음과 같은 작업을 다루어야 합니다:
- 데이터 준비
- 실험
- 학습
- 배포
- 모니터링
- 반복
이때 SageMaker가 유용하게 느껴집니다. SageMaker는 하나의 모델에 관한 것이 아니라, 그 모델을 둘러싼 워크플로우를 지원하는 데 초점이 맞춰져 있습니다.
이제 내가 SageMaker를 설명하는 가장 간단한 방법
개발자라면 SageMaker를 머신러닝 워크플로를 위한 관리형 작업 공간이라고 생각하세요.
노트북, 학습 작업, 배포 및 실험을 위한 별도 도구들을 연결하는 대신, SageMaker는 팀에게 보다 구조화된 경로를 제공합니다.
- 엔지니어링 판단이 필요함을 없애지는 않습니다.
- 좋은 데이터가 필요함을 없애지는 않습니다.
- 머신러닝이 갑자기 쉬워지는 것은 절대 아닙니다.
하지만 작업에 대한 설정 및 운영 마찰을 크게 줄여줍니다. 그래서 저는 SageMaker가 특히 제품 내에서 더 많은 AI‑관련 작업을 지원하도록 요청받는 개발자들에게 중요하다고 생각합니다.
내가 저지른 실수
SageMaker를 이해하는 데 시간을 투자하기 전에, 나는 잘못된 기대를 가지고 있었다. 나는 하나의 간단한 기능만을 찾고 있었다.
SageMaker는 실제로 단일 기능이라기보다 플랫폼에 가깝다. 그렇게 바라보기 시작하니 서비스가 훨씬 덜 혼란스러웠다.
그 변화 덕분에 나는 “SageMaker가 하는 한 가지가 무엇인가?” 라는 질문을 멈추고 “SageMaker가 팀들이 관리하도록 돕는 워크플로우는 어떤 종류인가?” 라는 질문을 하게 되었다. 두 번째 질문이 훨씬 더 유용하다.
엔지니어링 관점에서 이것이 중요한 이유
엔지니어링 관점에서 제가 특히 좋아하는 점은 SageMaker가 실험을 넘어 생각하도록 만든다는 것입니다.
소프트웨어 엔지니어링에서는 코드를 작성하는 것이 가치 제공의 한 부분에 불과하다는 것을 이미 알고 있습니다. 우리는 또한 다음을 중요하게 생각합니다:
- reliability
- observability
- deployment workflows
- maintenance
AI 시스템도 마찬가지입니다. 노트북에서만 동작하는 모델은 실제 애플리케이션을 지원할 수 있는 기능과 동일하지 않습니다. 여기서 SageMaker가 의미 있게 다가옵니다.
SageMaker는 머신러닝 작업에 대해 보다 프로덕션‑지향적인 관점을 장려합니다. 단순히:
우리가 이것을 만들 수 있을까?
가 아니라:
조직적이고, 반복 가능하며, 확장 가능한 방식으로 이것을 실행할 수 있을까?
SageMaker는 모든 초보자에게 적합한가요?
SageMaker는 아마도 모든 초보자가 바로 시작해야 하는 첫 번째 도구는 아닐 것입니다. 머신러닝 기본 개념을 이해하려는 사람이라면, 먼저 핵심 개념부터 시작하는 것이 더 쉬울 수 있습니다.
하지만 실제 머신러닝 워크플로우를 AWS가 어떻게 지원하는지 이해하고 싶다면, SageMaker는 훨씬 더 중요한 서비스가 됩니다. 또한 팀이 작은 실험에서 보다 운영적인 단계로 이동하고 있다면, SageMaker는 훨씬 더 관련성이 높아집니다.
나의 가장 큰 교훈
SageMaker는 모델만 생각하던 것을 멈추고 시스템을 생각하기 시작했을 때 의미가 있었습니다.
그 부분은 많은 소프트웨어 엔지니어가 공감할 수 있습니다. 우리는 단순히 코드를 작성하는 것이 아니라 다음을 구축하고 있습니다:
- 워크플로우
- 환경
- 릴리스 경로
- 장기 유지보수
SageMaker는 내가 처음 생각했던 것보다 그 세계에 훨씬 더 가깝습니다.
최종 생각
AWS가 제공하는 관리형 플랫폼으로, 머신러닝 작업을 보다 실용적이고 구조화된, 프로덕션 준비가 된 형태로 전환합니다.