- 학습 데이터가 복제본으로 다운로드되지 않고 학습 작업에 스트리밍되므로 작업이 실행될 때 데이터 로드 및 설정 작업 속도가 빨라집니다.
- 학습 작업이 API를 호출하거나 응답을 처리하거나 클라이언트 측 라이브러리와 통합하지 않고도 대량의 입력과 출력을 처리할 수 있습니다.
- Cloud Storage FUSE가 대용량 파일 순차 읽기 및 분산 학습 시나리오에서 높은 처리량을 제공합니다.
사용 사례
다음과 같은 상황에서 학습 데이터를 저장하려면 Cloud Storage를 사용하는 것이 좋습니다.
- 학습 데이터는 이미지, 텍스트, 동영상과 같은 구조화되지 않은 데이터입니다.
- 학습 데이터는 TFRecord와 같은 형식의 구조화된 데이터입니다.
- 학습 데이터에는 원시 동영상과 같은 대용량 파일이 포함됩니다.
- 분산 학습을 사용합니다.
작동 원리
커스텀 학습 작업은 루트 /gcs
디렉터리의 하위 디렉터리인 Cloud Storage 버킷에 액세스할 수 있습니다. 예를 들어 gs://example-bucket/data.csv
에 학습 데이터가 있는 경우 다음과 같이 Python 학습 애플리케이션에서 버킷을 읽고 쓸 수 있습니다.
버킷 읽기
with open('/gcs/example-bucket/data.csv', 'r') as f:
lines = f.readlines()
버킷에 쓰기
with open('/gcs/example-bucket/epoch3.log', 'a') as f:
f.write('success!\n')
버킷 액세스 권한
기본적으로 커스텀 학습 작업은 Vertex AI 커스텀 코드 서비스 에이전트를 사용하여 동일한 Google Cloud 프로젝트 내의 모든 Cloud Storage 버킷에 액세스할 수 있습니다. 버킷에 대한 액세스를 제어하려면 작업에 커스텀 서비스 계정을 할당하면 됩니다. 이 경우 Cloud Storage 버킷에 대한 액세스 권한은 커스텀 서비스 계정의 Cloud Storage 역할과 연결된 권한에 따라 부여됩니다.
예를 들어 커스텀 학습 작업에 버킷 A에 대한 읽기 및 쓰기 액세스 권한을 부여하되 버킷 B에 대한 읽기 액세스 권한만 부여하려면 다음 역할이 있는 서비스 계정을 작업에 할당하면 됩니다.
- 버킷 A에
roles/storage.objectAdmin
- 버킷 B에
roles/storage.objectViewer
학습 작업이 버킷 B에 쓰기를 시도하면 '권한 거부됨' 오류가 반환됩니다.
Cloud Storage 역할에 대한 자세한 내용은 Cloud Storage에 대한 IAM 역할을 참조하세요.
권장사항
- 디렉터리의 이름을 바꾸지 마세요. 이름 변경 작업은 Cloud Storage FUSE에서 원자적으로 적용되지 않습니다. 작업이 중단되면 일부 파일이 이전 디렉터리에 남아 있습니다.
- 불필요하게 닫거나(
close()
) 파일을 플러시(flush()
)하지 않습니다. 파일을 닫거나 플러시하면 파일이 Cloud Storage로 푸시되어 비용이 발생합니다.
성능 최적화 가이드라인
Cloud Storage를 파일 시스템으로 사용할 때 최적의 읽기 처리량을 얻으려면 다음 가이드라인을 구현하는 것이 좋습니다.
- 버킷에서 객체를 찾아 열 때 발생하는 지연 시간을 줄이려면 데이터를 더 큰 파일로 저장하여 파일 개수를 줄입니다.
- 분산 학습을 사용하여 대역폭 사용률을 극대화합니다.
- 자주 액세스하는 파일을 캐시하여 읽기 성능을 개선합니다. 자세한 내용은 Cloud Storage FUSE의 캐싱 개요를 참고하세요.
- 체크포인트 및 로그에 Cloud Storage 대신 로컬 스토리지를 사용합니다.
제한사항
Cloud Storage FUSE와 POSIX 파일 시스템의 차이점을 포함하여 Cloud Storage FUSE의 제한사항을 알아보려면 제한사항 및 POSIX 파일 시스템과의 차이점을 참고하세요.
Cloud Storage FUSE 사용
커스텀 학습에 Cloud Storage FUSE를 사용하려면 다음 단계를 따르세요.
- Cloud Storage 버킷 생성
학습 데이터를 버킷에 업로드합니다. 자세한 내용은 업로드를 참고하세요.
Cloud Storage로 데이터를 전송하기 위한 다른 옵션에 대해 알아보려면 데이터 전송 옵션을 참조하세요.
다음 단계
- Cloud Storage FUSE 문서 참고하기
- Cloud Storage FUSE 가격 책정에 대해 알아보기
- Vertex AI에서 사용할 학습 애플리케이션 준비