기능 엔지니어링 및 서비스
이 페이지에서는 Unity 카탈로그에 사용하도록 설정된 작업 영역에 대한 기능 엔지니어링 및 서비스 기능을 다룹니다. Unity 카탈로그에 대해 작업 영역이 사용 설정되지 않은 경우, 작업 영역 기능 저장소(레거시)을 참조하세요.
기능 저장소로 Databricks를 사용하는 이유는 무엇인가요?
Databricks Data Intelligence 플랫폼을 사용하면 전체 모델 학습 워크플로가 단일 플랫폼에서 수행됩니다.
- 원시 데이터를 수집하고, 기능 테이블을 만들고, 모델을 학습시키고, 일괄 처리 유추를 수행하는 데이터 파이프라인입니다. Unity 카탈로그에서 기능 엔지니어링을 사용하여 모델을 학습하고 기록하는 경우 모델은 기능 메타데이터로 패키지됩니다. 일괄 처리 채점 또는 온라인 추론에 모델을 사용하면 자동으로 기능 값이 검색됩니다. 호출자는 해당 기능에 대해 알 필요가 없으며, 기능을 조회하거나 조인하여 새 데이터의 점수를 매기는 논리를 포함할 필요가 없습니다.
- 한 번의 클릭으로 사용할 수 있고 대기 시간(밀리초)을 제공하는 엔드포인트를 제공하는 모델 및 기능입니다.
- 데이터 및 모델 모니터링.
또한 이 플랫폼은 다음과 같은 기능을 제공합니다.
- 기능 검색. Databricks UI에서 기능을 찾아 검색할 수 있습니다.
- 거버넌스. 기능 테이블, 함수 및 모델은 모두 Unity 카탈로그에 의해 관리됩니다. 모델을 학습할 때 학습된 데이터에서 사용 권한을 상속합니다.
- 계보. Azure Databricks에서 기능 테이블을 만들면 기능 테이블을 만드는 데 사용된 데이터 소스가 저장되고 액세스할 수 있습니다. 기능 테이블의 각 기능에 대해 해당 기능을 사용하는 모델, Notebook, 작업 및 엔드포인트에 액세스할 수도 있습니다.
- 작업 영역 간 액세스. 기능 테이블, 함수 및 모델은 카탈로그에 액세스할 수 있는 모든 작업 영역에서 자동으로 사용할 수 있습니다.
요구 사항
- Unity 카탈로그에 대해 작업 영역을 사용하도록 설정해야 합니다.
- Unity 카탈로그의 기능 엔지니어링에는 Databricks Runtime 13.3 LTS 이상이 필요합니다.
작업 영역이 이러한 요구 사항을 충족하지 않는 경우 레거시 작업 영역 기능 저장소를 사용하는 방법은 작업 영역 기능 저장소(레거시) 참조하세요.
Databricks의 기능 엔지니어링은 어떻게 작동하나요?
Databricks에서 기능 엔지니어링을 사용하는 일반적인 기계 학습 워크플로는 다음 경로를 따릅니다.
- 원시 데이터를 기능으로 변환하고 원하는 기능이 포함된 Spark DataFrame을 만드는 코드를 씁니다.
- Unity 카탈로그에서 델타 테이블 만들기 기본 키가 있는 델타 테이블은 자동으로 기능 테이블입니다.
- 기능 테이블을 사용하여 모델을 학습하고 기록합니다. 이렇게 하면 모델은 학습에 사용되는 기능의 사양을 저장합니다. 모델이 유추에 사용되는 경우 해당 기능 테이블의 기능을 자동으로 조인합니다.
- 모델 레지스트리에 모델을 등록합니다.
이제 모델을 사용하여 새 데이터에서 예측을 수행할 수 있습니다. 일괄 처리 사용 사례의 경우 모델은 기능 저장소에서 필요한 기능을 자동으로 검색합니다.
실시간 서비스 사용 사례의 경우 온라인 테이블에 기능을 게시합니다. 타사 온라인 스토어도 지원됩니다. 타사 온라인 스토어를 참조하세요.
유추 시 모델은 온라인 저장소에서 미리 계산된 기능을 읽고 클라이언트 요청에 제공된 데이터와 엔드포인트를 제공하는 모델에 조인합니다.
기능 엔지니어링 사용 시작 - Notebook 예제
시작하려면 다음 예제 Notebook을 사용해 보세요. 기본 Notebook은 기능 저장소 테이블을 만들고 이를 사용하여 모델을 학습한 다음 자동 기능 조회를 사용하여 일괄 처리 채점을 수행하는 방법을 안내합니다. 또한 기능 엔지니어링 UI를 소개하고 이를 사용하여 기능을 검색하고 기능을 만들고 사용하는 방법을 이해하는 데 사용할 수 있는 방법을 보여 줍니다.
Unity 카탈로그 예제 Notebook의 기본 기능 엔지니어링
택시 예제 Notebook에서는 기능을 만들고, 업데이트하며, 모델 학습 및 일괄 처리 유추에 사용하는 프로세스를 보여 줍니다.
Unity 카탈로그 택시 예제 Notebook의 기능 엔지니어링
지원되는 데이터 유형
Unity 카탈로그 및 레거시 작업 영역 기능 저장소의 기능 엔지니어링은 다음과 같은 PySpark 데이터 형식지원합니다.
IntegerType
FloatType
BooleanType
StringType
DoubleType
LongType
TimestampType
DateType
ShortType
ArrayType
-
BinaryType
[1] -
DecimalType
[1] -
MapType
[1] -
StructType
[2]
[1] BinaryType
, DecimalType
및 MapType
dms Unity 카탈로그의 모든 기능 엔지니어링 버전 및 작업 영역 기능 저장소 v0.3.5 이상에서 지원됩니다.
[2] StructType
는 기능 엔지니어링 v0.6.0 이상에서 지원됩니다.
위에 나열된 데이터 형식은 기계 학습 애플리케이션에서 일반적인 기능 유형을 지원합니다. 예시:
- 조밀한 벡터, 텐서 및 포함을
ArrayType
으로 저장할 수 있습니다. - 희박한 벡터, 텐서 및 포함을
MapType
으로 저장할 수 있습니다. - 텍스트를
StringType
으로 저장할 수 있습니다.
온라인 저장소에 게시되면 ArrayType
및 MapType
기능이 JSON 형식으로 저장됩니다.
기능 저장소 UI는 기능 데이터 형식의 메타데이터를 표시합니다.
자세한 정보
모범 사례에 대한 자세한 내용을 보려면 포괄적인 기능 저장소 가이드를 다운로드하세요.