Azure Machine Learning의 데이터 개념
Azure Machine Learning을 사용하면 로컬 컴퓨터 또는 기존 클라우드 기반 스토리지 리소스에서 데이터를 가져올 수 있습니다. 이 문서에서는 주요 Azure Machine Learning 데이터 개념을 설명합니다.
데이터 저장소
Azure Machine Learning 데이터 저장소는 '기존' Azure Storage 계정에 대한 '참조' 역할을 합니다. Azure Machine Learning 데이터 저장소는 다음과 같은 이점을 제공합니다.
- 다양한 스토리지 유형(Blob/파일/ADLS)과 상호 작용하는 일반적이고 사용하기 쉬운 API
- 팀 운영에 유용한 데이터 저장소를 더욱 간편하게 검색
- 자격 증명 기반 액세스(서비스 주체/SAS/키) 시 Azure Machine Learning 데이터 저장소에서 연결 정보를 보호합니다. 그러면 스크립트에 해당 정보를 배치할 필요가 없습니다.
기존 Azure Storage 계정으로 데이터 저장소를 만드는 경우 두 가지 인증 방법 옵션이 제공됩니다.
- 자격 증명 기반 - 서비스 주체, SAS(공유 액세스 서명) 토큰 또는 계정 키를 사용하여 데이터 액세스를 인증합니다. '읽기 권한자' 작업 영역에 액세스할 수 있는 사용자가 해당 자격 증명에 액세스할 수 있습니다.
- ID 기반 - Microsoft Entra ID 또는 관리 ID를 사용하여 데이터 액세스를 인증합니다.
이 표는 Azure Machine Learning 데이터 저장소가 만들 수 있는 Azure 클라우드 기반 스토리지 서비스를 요약한 것입니다. 또한 표에는 해당 서비스에 액세스할 수 있는 인증 유형이 요약되어 있습니다.
지원되는 스토리지 서비스 | 자격 증명 기반 인증 | ID 기반 인증 |
---|---|---|
Azure Blob 컨테이너 | ||
Azure 파일 공유 | ||
Azure Data Lake Gen1 | ||
Azure Data Lake Gen2 |
데이터 저장소에 대한 자세한 내용은 데이터 저장소 만들기를 참조하세요.
기본 데이터 저장소
각 Azure Machine Learning 작업 영역에는 다음 데이터 저장소를 포함하는 기본 스토리지 계정(Azure Storage 계정)이 있습니다.
팁
작업 영역 ID를 찾으려면 Azure Portal의 작업 영역으로 이동합니다. 설정을 확장한 다음 속성을 선택합니다. 작업 영역 ID가 나타납니다.
데이터 저장소 이름 | 데이터 스토리지 유형 | 데이터 스토리지 이름 | 설명 |
---|---|---|---|
workspaceblobstore |
Blob 컨테이너 | azureml-blobstore-{workspace-id} |
데이터 업로드, 작업 코드 스냅샷 및 파이프라인 데이터 캐시를 저장합니다. |
workspaceworkingdirectory |
파일 공유 | code-{GUID} |
Notebooks, 컴퓨팅 인스턴스 및 프롬프트 흐름에 대한 데이터를 저장합니다. |
workspacefilestore |
파일 공유 | azureml-filestore-{workspace-id} |
데이터 업로드를 위한 대체 컨테이너입니다. |
workspaceartifactstore |
Blob 컨테이너 | azureml |
메트릭, 모델, 구성 요소 등의 자산을 위한 스토리지입니다. |
데이터 형식
URI(스토리지 위치)는 파일, 폴더 또는 데이터 테이블을 참조할 수 있습니다. 기계 학습 작업 입력 및 출력 정의에는 다음 세 가지 데이터 형식 중 하나가 필요합니다.
Type | V2 API | V1 API | 정식 시나리오 | V2/V1 API 차이점 |
---|---|---|---|---|
파일 단일 파일 참조 |
uri_file |
FileDataset |
단일 파일 읽기/쓰기 - 파일에는 모든 형식이 포함될 수 있습니다. | 새로운 V2 API 형식입니다. V1 API에서 파일은 항상 컴퓨팅 대상 파일 시스템의 폴더에 매핑되는데, 이 매핑에는 os.path.join 이 필요했습니다. V2 API에서는 단일 파일이 매핑됩니다. 이렇게 하면 코드에서 해당 위치를 참조할 수 있습니다. |
폴더 단일 폴더 참조 |
uri_folder |
FileDataset |
Pandas/Spark에서 parquet/CSV 파일의 폴더를 읽고/써야 합니다. 폴더에 있는 이미지, 텍스트, 오디오, 동영상 파일을 사용한 딥 러닝 |
V1 API의 FileDataset 에는 폴더에서 파일 샘플을 가져올 수 있는 연결된 엔진이 있었습니다. V2 API의 폴더에는 컴퓨팅 대상 파일 시스템에 간단한 매핑이 있습니다. |
테이블 데이터 테이블 참조 |
mltable |
TabularDataset |
자주 변경되는 복잡한 스키마가 있거나 큰 표 형식 데이터의 하위 집합이 필요합니다. 테이블을 사용한 AutoML |
V1 API에서 Azure Machine Learning 백 엔드는 데이터 구체화 청사진을 저장했습니다. 그 결과 Azure Machine Learning 작업 영역이 있는 경우에만 TabularDataset 가 작동했습니다. mltable 은 데이터 구체화 청사진을 사용자의 스토리지에 저장합니다. 이 스토리지 위치는 Azure Machine Learning에 연결하지 않은 상태에서도 로컬 및 온-프레미스 방식으로 사용할 수 있음을 의미합니다. V2 API에서는 로컬 작업에서 원격 작업으로 전환하기가 더 쉽습니다. 자세한 내용은 Azure Machine Learning에서 테이블 작업을 참조하세요. |
URI
URI(Uniform Resource Identifier)는 로컬 컴퓨터의 스토리지 위치, Azure Storage 또는 공개적으로 사용 가능한 http 위치를 나타냅니다. 다음 예제에서는 다양한 스토리지 옵션의 URI를 보여 줍니다.
스토리지 위치 | URI 예제 |
---|---|
Azure Machine Learning 데이터 저장소 | azureml://datastores/<data_store_name>/paths/<folder1>/<folder2>/<folder3>/<file>.parquet |
수집 | ./home/username/data/my_data |
공용 http(s) 서버 | https://raw.githubusercontent.com/pandas-dev/pandas/main/doc/data/titanic.csv |
Blob Storage | wasbs://<containername>@<accountname>.blob.core.windows.net/<folder>/ |
Azure Data Lake(gen2) | abfss://<file_system>@<account_name>.dfs.core.windows.net/<folder>/<file>.csv |
Azure Data Lake(gen1) | adl://<accountname>.azuredatalakestore.net/<folder1>/<folder2> |
Azure Machine Learning 작업은 URI를 컴퓨팅 대상 파일 시스템에 매핑합니다. 이 매핑은 URI를 사용하거나 생성하는 명령에서 해당 URI가 파일이나 폴더처럼 작동함을 의미합니다. URI는 ID 기반 인증을 사용하여 Microsoft Entra ID(기본값) 또는 관리 ID로 스토리지 서비스에 연결합니다. Azure Machine Learning 데이터 저장소 URI는 비밀을 노출하지 않으면서 ID 기반 인증 또는 자격 증명 기반(예: 서비스 주체, SAS 토큰, 계정 키) 인증을 적용할 수 있습니다.
URI는 Azure Machine Learning 작업에 대한 '입력' 또는 '출력' 역할을 할 수 있으며, 다음의 네 가지 '모드' 옵션 중 하나를 사용해 컴퓨팅 대상 파일 시스템에 매핑할 수 있습니다.
- 읽기 전용 탑재(
ro_mount
): 이 URI는 컴퓨팅 대상 파일 시스템에 '탑재된' 스토리지 위치를 나타냅니다. 탑재된 데이터 위치는 읽기 전용 출력만 지원합니다. - 읽기/쓰기 탑재(
rw_mount
): 이 URI는 컴퓨팅 대상 파일 시스템에 '탑재된' 스토리지 위치를 나타냅니다. 탑재된 데이터 위치는 해당 위치의 읽기 출력과 데이터 쓰기를 모두 지원합니다. - 다운로드(
download
): 이 URI는 컴퓨팅 대상 파일 시스템에 '다운로드된' 데이터를 포함한 스토리지 위치를 나타냅니다. - 업로드(
upload
): 컴퓨팅 대상 위치에 기록된 모든 데이터는 URI가 나타내는 스토리지 위치에 '업로드'됩니다.
또한 직접 모드를 사용해 작업 입력 문자열로 URI를 전달할 수 있습니다. 이 표에는 입력/출력에 사용할 수 있는 모드의 조합이 요약되어 있습니다.
작업 입력 또는 출력 |
upload |
download |
ro_mount |
rw_mount |
direct |
---|---|---|---|---|---|
입력 | |||||
출력 |
자세한 내용은 작업의 데이터 액세스를 참조하세요.
데이터 런타임 기능
Azure Machine Learning은 다음 세 가지 목적 중 하나로 자체 데이터 런타임을 사용합니다.
- 탑재/업로드/다운로드용
- 스토리지 URI를 컴퓨팅 대상 파일 시스템에 매핑하려면
- Azure Machine Learning 테이블을 사용하여 표 형식 데이터를 Pandas/spark로 구체화합니다(
mltable
).
Azure Machine Learning 데이터 런타임은 Machine Learning 작업의 빠른 속도와 효율성을 위해 설계되었습니다. 다음과 같은 주요 이점을 제공합니다.
- Rust 언어 아키텍처. Rust 언어는 고속, 고효율 메모리로 유명합니다.
- 경량의 Azure Machine Learning 데이터 런타임은 다른 기술(예: JVM)에 종속되지 '않아' 컴퓨팅 대상에 런타임이 빠르게 설치됩니다.
- 다중 프로세스(병렬) 데이터 로드
- 데이터 프리페치는 CPU에서 백그라운드 작업으로 작동되어 딥 러닝 작업 시 GPU 사용률을 향상시켜 줍니다.
- 원활한 클라우드 스토리지 인증
데이터 자산
Azure Machine Learning 데이터 자산은 웹 브라우저 책갈피(즐겨찾기)와 유사합니다. 가장 자주 사용되는 데이터를 가리키는 긴 스토리지 경로(URI)를 기억하는 대신, 데이터 자산을 만들어 식별 이름으로 해당 자산에 액세스할 수 있습니다.
데이터 자산을 만들면 해당 메타데이터 복사본과 함께 데이터 원본 위치에 대한 '참조'도 만들어집니다. 데이터가 기존 위치에 남아 있기 때문에 추가 스토리지 비용이 발생하지 않고 데이터 원본의 무결성을 위태롭게 하지 않습니다. Azure Machine Learning 데이터 저장소, Azure Storage, 공용 URL 또는 로컬 파일에서 데이터 자산을 만들 수 있습니다.
데이터 자산에 대한 자세한 내용은 데이터 자산 만들기를 참조하세요.