Articleaws.amazon.com·2026년 10월 22일·0

Write your own training loop — without managing GPUs — with Amazon SageMaker training session APIs

Quick Summary

Amazon SageMaker AI의 training session APIs는 GPU 인프라 운영을 서비스에 맡기면서 사용자가 Python으로 SFT·강화학습 등의 훈련 루프를 직접 구성하도록 지원한다.

Write your own training loop — without managing GPUs — with Amazon SageMaker training session APIs 관련 대표 이미지

🖼️ 인포그래픽

Write your own training loop — without managing GPUs — with Amazon SageMaker training session APIs 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Write your own training loop — without managing GPUs — with Amazon SageMaker training session APIs의 핵심 내용을 4단계로 요약한 인포그래픽
Write your own training loop — without managing GPUs — with Amazon SageMaker training session APIs 핵심 내용을 4단계로 압축한 4컷 인포그래픽

💡 한 줄 요약

Amazon SageMaker AI의 training session APIs는 GPU 인프라 운영을 서비스에 맡기면서 사용자가 Python으로 SFT·강화학습 등의 훈련 루프를 직접 구성하도록 지원한다.

📌 핵심 요약

  • Training session APIs는 모델과 LoRA 어댑터가 GPU에 로드된 상태를 유지하는 세션에 forward_backward(), optim_step(), sample() 등의 연산을 호출하는 방식이며, SageMaker AI가 분산 실행·기울기 동기화·장애 복구·테넌트 격리 등을 처리한다.
  • SageMaker Python SDK는 플랫폼 설정과 세션 생성을 담당하는 ServiceClient, 훈련과 체크포인트를 담당하는 TrainingClient, 생성과 점수 계산을 담당하는 SamplingClient로 구성되며, 활성 세션은 OpenAI 호환 chat completions 엔드포인트도 제공한다.
  • 강화학습 루프에서는 GPU로 응답을 생성하고 로컬 Python 코드로 보상을 계산한 뒤 GPU에서 기울기와 가중치를 갱신하고 샘플러를 새로 반영한다. SFT는 샘플링·보상 단계를 생략하고 레이블 데이터에 cross_entropy 손실을 적용할 수 있다.
  • 사용료는 처리 토큰 기준이며, 원문은 로컬 보상 계산·데이터 로딩·디버깅 중에는 GPU 시간이 청구되지 않는다고 설명한다. Training session APIs는 Managed APIs보다 훈련 알고리즘 제어권이 크고, SageMaker Training Jobs나 SageMaker HyperPod보다 인프라 운영 책임이 적은 선택지로 제시된다.
  • 예제는 약 8,500개 초등 수준 수학 문장제로 구성된 GSM8K에서 OpenAI의 GPT-OSS 20B에 LoRA와 GRPO를 적용한다. 제공된 본문은 응답 보상 계산 코드 도중 끝나므로, 완성된 실행 흐름이나 성능·비용 개선 결과는 확인할 수 없다.

🧩 주요 포인트

  1. 컴퓨팅을 API로 추상화하고 훈련 루프는 사용자에게 남김 → 사용자 정의 손실·보상·데이터 커리큘럼·다단계 절차를 구현하면서 GPU 운영 부담을 줄이는 구조다.
  2. 로컬 처리 시간과 GPU 연산 과금을 분리 → 보상 계산이나 디버깅 비중이 큰 실험에서 유휴 GPU 비용을 줄일 가능성이 있지만, 제공된 본문에는 절감액을 입증하는 측정 결과가 없다.
  3. GSM8K·GPT-OSS 20B·GRPO 예제는 사용 방식을 보여주는 근거 → 실제 도입에는 문서에 명시된 지원 기반 모델과 AWS 리전 확인이 필요하며, 본문이 중간에 끊겨 전체 예제와 결과를 평가하는 데 한계가 있다.

🧠 상세 정리

1. 훈련 제어권과 운영 편의성 사이의 문제

원문은 대규모 언어 모델을 미세 조정할 때 훈련 루프를 직접 제어하는 자유와 운영의 단순함 사이에서 선택해야 하는 경우가 많다는 문제로 시작한다. 완전 관리형 서비스는 기반 모델과 데이터, 하이퍼파라미터를 제공하면 나머지를 맡아 주므로 표준화된 훈련 절차가 문제에 맞을 때 유용하다. 반면 사용자 정의 손실이나 데이터 커리큘럼, 자체 선호 최적화, 강화학습 보상 함수, 새롭게 발표된 정렬 알고리즘을 적용하려면 기본 절차만으로 부족할 수 있다. 관리 수준이 낮은 서비스를 선택하면 제어권은 늘어나지만 기반 인프라와 훈련 프레임워크를 관리하는 부담도 함께 커진다. Amazon SageMaker AI의 training session APIs는 알고리즘 대신 컴퓨팅을 추상화하는 방식으로 이 상충관계를 해소하겠다는 서비스로 소개된다.

2. 상태를 유지하는 세션과 책임 분담

Training session APIs를 사용하면 로컬 머신의 Python 프로세스에서 GPU 기반의 활성 세션을 직접 구동할 수 있다. 선택한 기반 모델과 LoRA 어댑터는 관리형 가속기에 로드되며, 여러 단계에 걸쳐 모델을 유지한 채 필요한 연산을 반복 호출하는 구조다. 전체 작업을 미리 기술하는 설정 파일이나 클러스터 생성 단계 없이 코드에서 각 단계의 동작을 제어하므로, 원문은 빠른 반복 실험과 디버깅에 적합하다고 설명한다. 사용자는 데이터와 강화학습 환경, 에이전트, 알고리즘 및 훈련 루프를 맡고, GPU가 필요한 부분에 forward_backward(), optim_step(), sample() 등의 API를 호출한다. SageMaker AI는 GPU 할당, 모델과 LoRA 로딩, 런타임 설정, 분산 실행, 기울기 동기화, 장애 복구, 체크포인트 저장, 보안과 테넌트 격리를 담당한다.

3. 세 SDK 클라이언트의 역할

SageMaker Python SDK의 API는 ServiceClient, TrainingClient, SamplingClient라는 세 클라이언트를 순서대로 생성하는 구조로 구성된다. ServiceClient에는 실행 역할, 모델 패키지 그룹, Amazon S3 출력 위치를 지정하고, 선택적으로 AWS KMS 키와 VPC 구성을 설정할 수 있으며 이러한 설정은 세션별로 재정의할 수도 있다. ServiceClient가 생성하는 TrainingClient는 forward, forward_backward, optim_step, save_weights_for_sampler 같은 훈련 및 체크포인트 연산을 제공한다. 이어 TrainingClient에서 생성하는 SamplingClient는 sample과 compute_logprobs를 통해 롤아웃과 평가에 필요한 생성 및 점수 계산을 담당하며, 각 API 호출은 훈련 루프의 개별 연산에 대응한다. 활성 세션은 OpenAI 호환 chat completions 엔드포인트도 제공하므로 기존 OpenAI 클라이언트 코드로 해당 세션에서 샘플링할 수 있다.

4. 강화학습의 네 단계와 SFT로의 적용

강화학습의 한 단계는 프롬프트 배치를 준비하고 현재 모델에서 응답을 생성하는 GPU 샘플링으로 시작한다. 이어 사용자의 Python 코드가 생성 결과를 평가하며, 보상은 검증기나 보상 모델 호출, 테스트 실행 환경 등 코드로 표현할 수 있는 방식으로 계산할 수 있다. 그다음 forward_backward와 optim_step을 통해 점수를 기울기 업데이트로 연결하고, save_weights_and_get_sampling_client()로 샘플러를 갱신해 다음 단계가 업데이트된 모델에서 응답을 생성하도록 한다. 이 과정에서 데이터와 루프 제어, 보상 로직은 사용자 측에 남고, 샘플링·기울기·체크포인트처럼 GPU가 필요한 연산은 서비스가 실행한다. 같은 기본 연산은 SFT에도 적용되며, 이 경우 샘플링과 보상 계산을 생략하고 레이블이 있는 예제에 cross_entropy 손실을 사용해 forward_backward를 호출한다.

5. 토큰 기준 과금과 비용 절감의 조건

원문은 training session APIs가 처리한 토큰을 기준으로 과금되므로 훈련 루프가 소비하는 컴퓨팅에 대해서만 비용을 낸다고 설명한다. 예를 들어 로컬 머신에서 보상 함수가 한 배치를 평가하는 데 10초가 걸려도 그동안의 GPU 시간은 청구되지 않는다고 제시한다. 데이터 로딩과 로깅, 디버깅도 GPU 연산 호출 밖에서 이루어지므로, 세션 전체에 대해 GPU를 시간 단위로 확보하는 방식과 비교할 때 유휴 비용을 줄일 수 있다는 주장이다. 또한 비용이 경과 시간이나 클러스터 크기보다 데이터셋과 생성량에 따라 달라져 지출 예측과 실험 비교가 쉬워진다고 설명한다. 복잡한 보상 모델, 여러 도구를 쓰는 에이전트 롤아웃, 사람이 참여하는 평가처럼 로컬 처리 비중이 큰 작업에서 절감 효과가 클 수 있다고 하지만, 제공된 본문에는 이를 수치로 검증한 비교 결과는 없다.

6. 적합한 사용자와 SageMaker 내 위치

Training session APIs는 데이터셋뿐 아니라 훈련 알고리즘 자체가 작업의 핵심인 팀을 대상으로 하며, 빠른 반복과 사용자 정의 손실·보상·다단계 절차가 필요한 경우에 적합하다고 제시된다. 원문은 정렬 연구자, 비표준 SFT나 선호 최적화를 수행하는 팀, 에이전트 및 다중 턴 강화학습 개발자, GPU 클러스터 운영 부담을 피하려는 ML 엔지니어 등을 주요 사용자로 든다. 지원 방식으로는 cross_entropy 기반 SFT, ppo·importance_sampling·cispo를 활용하는 강화학습, 같은 기본 연산을 조합한 선호 최적화와 증류 같은 사용자 정의 목적함수가 언급된다. SageMaker의 선택지 중 Managed APIs는 모델·하이퍼파라미터·데이터 설정 중심인 반면 training session APIs는 인스턴스 선택 없이 루프를 직접 작성하고, Training Jobs는 인스턴스 유형을 선택하는 임시 작업이며 HyperPod는 고급 장애 복구를 갖춘 지속형 클러스터다. 지원 기반 모델과 각 모델을 사용할 수 있는 AWS 리전은 문서에 별도로 안내되어 있어, 본문만으로 전체 지원 범위를 확정할 수는 없다.

7. GSM8K에서 GPT-OSS 20B를 학습하는 예제

원문은 API 연산이 어떻게 연결되는지 보여주기 위해 약 8,500개의 초등 수준 수학 문장제로 구성된 GSM8K를 이용한 최소 강화학습 루프를 소개한다. 예시 문제는 Natalia가 4월에 친구 48명에게 클립을 팔고 5월에는 그 절반을 팔았을 때 두 달간의 총판매량을 묻는 것으로, 정답은 72다. 학습 대상은 OpenAI의 GPT-OSS 20B에 적용하는 LoRA 어댑터이며, 각 질문에 여러 응답을 생성하고 정답 여부로 평가해 그룹 평균을 웃도는 응답을 강화하는 GRPO를 사용한다. 세션 생성 코드에서는 openai/gpt-oss-20b를 지정하고 LoRA rank를 32, alpha를 64로 설정하며, 모델 패키지 그룹과 S3 출력 경로를 전달한 뒤 토크나이저와 SamplingClient를 얻는다. 실행 전 문서의 사전 요구사항을 완료하도록 안내하며, 완전한 실행 예제는 Amazon SageMaker examples 저장소에 있다고 설명한다.

8. 보상·어드밴티지 계산과 제공 자료의 한계

예제의 보상 함수는 응답에서 '#### ' 뒤의 숫자를 추출해 정답과 같으면 1.0, 다르면 0.0을 반환하며 이 계산은 사용자 머신에서 실행된다. 어드밴티지는 그룹 내 보상에서 평균을 뺀 뒤 표준편차에 1e-8을 더한 값으로 나누어 정규화하므로, 그룹 내 상대적 성과가 학습 신호가 되는 구조다. 반복문은 질문별로 K개 응답을 요청하며 SamplingParams에 max_tokens=512, temperature=0.7, top_p=0.9를 지정하고, sample 호출에서 즉시 반환된 future를 저장한 뒤 결과를 기다리도록 구성되어 있다. 다만 제공된 source_body는 생성 응답의 보상을 계산하는 코드 도중 끊기므로, 이후 학습 데이터 구성이나 전체 반복문의 완성 형태와 실제 실행 결과는 이 자료만으로 확인할 수 없다. 도입부는 실행 가능한 SFT·강화학습 레시피를 담은 SageMaker training sessions cookbook과 단위 테스트로 코드를 채점하는 경쟁 프로그래밍 사례도 예고하지만, 해당 사례의 상세 내용과 결과는 제공된 본문에 포함되어 있지 않다.

🧾 핵심 주장 / 시사점

  • 이 서비스의 핵심은 훈련 알고리즘의 선택권을 사용자에게 남기면서 GPU 실행과 운영을 분리하는 데 있다. 따라서 사용자 정의 보상이나 다단계 절차가 필요한 작업에서 제시된 가치가 특히 뚜렷하다.
  • 토큰 기준 과금의 경제성은 로컬 보상 계산과 GPU 연산이 차지하는 비중에 영향을 받는다. 원문은 로컬 처리 비중이 큰 작업의 절감 가능성을 설명하지만, 실제 절감 규모를 판단할 측정치는 제공하지 않는다.
  • GSM8K 예제는 API와 로컬 보상 로직을 결합하는 방식을 설명하지만 성능 향상을 입증하는 결과는 아니다. 제공된 코드의 중단과 지원 모델·리전의 별도 문서 안내를 고려하면, 사용 방식에 대한 설명과 실제 적용 가능성에 대한 검증을 구분할 필요가 있다.

✅ 액션 아이템

  • 사용자 정의 손실·보상·데이터 커리큘럼·다단계 절차의 필요성을 기준으로 training session APIs의 적합성 검토.
  • 로컬 보상 계산과 GPU 연산 비중을 바탕으로 처리 토큰 기준 과금의 비용 절감 가능성 평가.
  • GSM8K·GPT-OSS 20B·GRPO 예제의 전체 실행 흐름과 성능·비용 결과, 지원 기반 모델 및 AWS 리전 확인.

❓ 열린 질문

  • 현재 필요한 사용자 정의 손실·보상·데이터 커리큘럼·다단계 절차 중 training session APIs의 직접적인 루프 제어가 필요한 부분은 무엇인가?
  • 로컬 보상 계산과 GPU 연산의 비중을 고려할 때 처리 토큰 기준 과금으로 실제 비용을 얼마나 줄일 수 있는가?
  • GSM8K·GPT-OSS 20B·GRPO 예제의 전체 실행 결과는 어떠하며, 적용하려는 기반 모델과 AWS 리전은 지원되는가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.