Cloud TPU 데이터의 스토리지 옵션
이 문서에서는 Cloud TPU에서 모델을 학습시킬 때 사용할 수 있는 데이터 스토리지 옵션을 설명합니다.
소개
Cloud TPU에는 다음을 위한 데이터 스토리지가 필요합니다.
- 데이터 세트 다운로드 및 사전 처리
- 호스트 입력 파이프라인 처리
- 모델 학습 입력
- 모델 학습 출력
Cloud TPU 애플리케이션 데이터 및 학습 데이터 세트에는 5가지 스토리지 옵션이 있습니다.
- TPU VM의 부팅 디스크
- TPU VM에 연결된 영구 디스크
- Cloud Storage 버킷
- Compute Engine VM의 Filestore 파일 공유
스토리지 비용 및 성능 세부정보는 스토리지 옵션을 참조하세요.
TPU VM의 부팅 디스크
기본적으로 각 Cloud TPU VM에는 운영체제가 포함된 100GB의 단일 부팅 영구 디스크가 있습니다. 부팅 디스크는 총 양이 부팅 디스크의 사용 가능한 공간을 초과하지 않는 경우 사전 처리, 모델 입력 및 출력 데이터를 위해 다운로드한 데이터 세트를 저장하는 데 사용할 수도 있습니다.
학습 애플리케이션에 부팅 디스크 기본값 이외의 추가 저장공간이 필요한 경우 VM 또는 TPU VM 인스턴스에 하나 이상의 영구 디스크를 추가할 수 있습니다. 영구 디스크를 Compute Engine VM 또는 TPU VM에 추가하는 절차는 여러 가지가 있습니다.
TPU VM에 연결된 영구 디스크
영구 디스크는 데스크톱 또는 서버의 물리적 디스크와 같이 VM 인스턴스에서 액세스할 수 있는 내구성이 있는 네트워크 저장소 기기입니다. 각 영구 디스크의 데이터는 여러 물리적 디스크에 분산됩니다. Compute Engine은 중복을 보장하고 성능을 최적화하기 위해 물리적 디스크 및 데이터 분산을 관리합니다.
영구 디스크는 가상 머신(VM) 인스턴스와는 별개로 생성되므로 VM 인스턴스를 삭제한 후에도 데이터를 보존할 수 있습니다. 영구 디스크 성능은 크기에 따라 자동으로 확장되므로 기존 영구 디스크의 크기를 조절하거나 인스턴스에 영구 디스크를 추가하여 성능 및 저장공간 요구사항을 충족할 수 있습니다.
영구 디스크에는 장비 고장 시 데이터를 보호하고, 데이터 센터 유지보수 이벤트를 통해 데이터 가용성을 보장하는 중복 기능이 내장되어 있습니다. 모든 영구 디스크 작업에 대해 체크섬이 계산되므로 현재 읽고 있는 데이터가 사용자가 기록한 데이터임을 보장할 수 있습니다.
또한 영구 디스크 스냅샷을 생성하여 사용자 오류로 인한 데이터 손실을 방지할 수 있습니다. 스냅샷은 증분적이며 실행 중인 인스턴스에 연결된 디스크를 스냅샷으로 작성할 경우에도 몇 분이면 생성됩니다.
TPU VM에 영구 디스크를 사용하는 방법은 TPU VM에 영구 디스크 추가를 참조하세요.
Cloud Storage 버킷
Cloud Storage 버킷은 VM 인스턴스에 가장 적합한 유연성과 내구성을 갖춘 확장 가능한 스토리지 옵션입니다. 학습 작업에 영구 디스크의 짧은 지연 시간이 필요하지 않은 경우 데이터 세트를 Cloud Storage 버킷에 저장할 수 있습니다.
Cloud Storage 버킷의 성능은 선택한 스토리지 클래스 및 인스턴스와 관련된 버킷의 위치에 따라 달라집니다.
TPU VM과 동일한 영역 또는 TPU VM에서 Cloud Storage 버킷을 만들면 영구 디스크와 대등한 성능을 제공하지만 지연 시간이 길고 일관성 있는 처리량 특성이 저하됩니다.
모든 Cloud Storage 버킷에는 장비 고장 시 데이터를 보호하고, 데이터 센터 유지보수 이벤트를 통해 데이터 가용성을 보장하는 중복 기능이 내장되어 있습니다. 모든 Cloud Storage 작업에 대해 체크섬이 계산되므로 현재 읽고 있는 데이터가 사용자가 기록한 데이터임을 보장할 수 있습니다.
영구 디스크와 달리 Cloud Storage 버킷은 인스턴스가 있는 영역으로 제한되지 않습니다. 또한, 여러 인스턴스에서 버킷으로 데이터를 동시에 읽고 쓸 수 있습니다. 예를 들어 여러 영역의 영구 디스크에 데이터를 복제하지 않고 동일한 버킷에 데이터를 읽고 쓰도록 여러 영역에서 인스턴스를 구성할 수 있습니다.
Cloud Storage FUSE
Cloud Storage FUSE를 사용하면 Cloud Storage 버킷을 로컬 파일 시스템으로 마운트하고 액세스할 수 있습니다. 이렇게 하면 애플리케이션이 표준 파일 시스템 시맨틱스를 사용하여 버킷의 객체를 읽고 쓸 수 있습니다.
Cloud Storage FUSE 작동 방식에 대한 자세한 내용과 Cloud Storage FUSE 작업이 Cloud Storage 작업에 매핑되는 방식에 대한 설명은 Cloud Storage FUSE 문서를 참조하세요. Cloud Storage FUSE CLI를 설치하고 GitHub에서 버킷을 마운트하는 방법 등 Cloud Storage FUSE 사용 방법에 대한 추가 정보를 확인할 수 있습니다.
Filestore 파일 공유
Filestore 파일 공유는 Compute Engine용 완전 관리형 네트워크 연결 스토리지(NAS)입니다. Filestore는 기존 기업 애플리케이션과 호환되며 NFSv3 호환 클라이언트를 지원합니다.
Filestore를 사용하면 파일 작업의 지연 시간이 짧아집니다. 지연 시간에 민감한 워크로드에서 Filestore는 성능 변동을 최소화하면서 최대 100TB의 용량과 25GB/초 및 720K IOPS의 처리량을 지원합니다.
Filestore를 사용하면 TPU VM에 파일 공유를 마운트할 수 있습니다.
다음 단계
- 인스턴스에 영구 디스크 추가하는 방법 알아보기
- 인스턴스를 Cloud Storage 버킷에 연결하는 방법 알아보기