사우론이 절대반지의 힘을 부어 세운 모르도르의 어둠의 탑. 그 존재 자체가 반지에 묶여 있어, 최후의 동맹조차 7년의 포위로 무너뜨리지 못했고 오직 그 심장인 반지가 불에 녹는 순간 스스로 무너져 내렸다. 앙반드의 계보를 이은 반(反)도시의 완성이자, '주요 도시' 편의 마지막 도시를 정리한다.
안개산맥을 통째로 꿰뚫은 중간계 최대의 드워프 지하 대국. 미스릴이라는 세상에 없는 부로 가장 오래 번영했지만, 바로 그 부를 좇아 너무 깊이 파 내려간 탐욕이 세계의 밑바닥에 잠든 발로그를 깨웠다. 영광의 크하잣둠이 공포의 모리아('검은 구렁')로 바뀌는 과정을 정리한다.
숨어서 아름다움을 지킨 요정 도시들과 정반대편에 선 요새. 상고로드림 세 봉우리 아래 쇠와 불로 파 내려간 이곳은 오르크·발로그·용을 길러 밖으로 공포를 내뿜는 반(反)도시였다. 안의 배신으로 무너진 도시들과 달리, 앙반드는 세계의 권능이 직접 와서 세계째 부수어야 무너졌다.
숲을 통째로 옮겨 담은 듯한 벨레리안드 최고(最古)이자 가장 아름다운 지하 궁전. 마이아 멜리안의 마법 장막이 나라 전체를 감싸 어떤 적도 들이지 않았지만, 정작 이 왕국을 무너뜨린 것은 안으로 들여온 보석 하나 — 실마릴의 저주였다. 제1시대 세 도시의 마지막을 정리한다.
강 나로그의 절벽을 파고들어 바위 속에 세운, 벨레리안드 최대의 요정 왕국. 수백 년을 은밀함으로 지켜 온 이 도시는 '숨지 말고 맞서 싸우자'는 자만에 비밀을 버리고 큰 다리를 놓았고, 바로 그 다리로 용 글라우룽이 걸어 들어와 무너진다. 곤돌린과 짝을 이루는 제1시대의 또 다른 몰락을 정리한다.
1~6단계를 하나의 엔드투엔드 ML 파이프라인(Ray AIR)으로 조립합니다. Data→Train→Tune→Serve를 한 스크립트로 잇고 HTTP로 최종 호출하며, 지금까지 배운 concurrency 처리(워커 풀·Job 내부/간 동시성)를 종합하고 KubeRay 확장 전망을 살펴봅니다.
앞선 Stage 5에서 학습한 모델을 Ray Serve로 로컬 HTTP 엔드포인트에 배포합니다. @serve.deployment와 serve.run으로 모델을 띄우고, deployment graph와 FastAPI 인그레스로 여러 모델을 조합하며, 로컬 스케일(num_replicas·배칭·동시성)과 그 주의점을 다룹니다.
PyTorch 모델을 노트북에서 N개 워커로 분산 학습합니다. TorchTrainer와 ScalingConfig로 워커 수를 정하고, 각 워커가 데이터의 서로 다른 '샤드'를 받는 원리(get_dataset_shard·DistributedSampler), 그리고 체크포인트 저장·복원을 실습합니다.