아래 문서는 플랫폼에서 더 이상 권장되지 않는 foundry_ml
라이브러리에 대해 설명합니다. 대신 palantir_models
라이브러리를 사용하세요.
foundry_ml
라이브러리는 2025년 10월 31일에 제거될 예정이며, 이는 Python 3.9의 예정된 폐기와 일치합니다.
데이터셋 기반 모델은 Foundry에서 foundry_ml
파이썬 라이브러리를 이용하여 개발된 모델입니다. 데이터셋 기반 모델은 Foundry에서 추론을 위해 직렬화 가능한 데이터 변환의 단위입니다.
모델은 일련의 단계로 구성되며, 각 단계는 대개 기계 학습 알고리즘을 사용하여 훈련된 상태변환의 일련을 포함합니다. 모델과 단계는 표준화된 인터페이스를 제공하여, 서로 다른 라이브러리와 알고리즘으로 구축된 모델들이 일관된 의미를 가질 수 있게 합니다. 이를 통해 모델들이 Foundry의 다양한 애플리케이션에서 상호 교환 가능하게 합니다.
파이썬에서 모델을 생성하려면, 모델 생성자에 적용하고 싶은 단계를 전달하세요.
예를 들어, Model(stage1, stage2)
는 stage1
을 입력 데이터에 적용한 다음 stage2
를 stage1
의 결과물에 적용하고 stage2
의 결과물을 반환합니다. 각 모델은 API와 모델이 입력으로 기대하는 것과 출력으로 생성할 것에 대한 기술적 정의를 저장합니다.
모델은 서로 다르고 호환되지 않는 프레임워크에서 단계를 래핑할 수 있으므로, Model
인터페이스는 모든 모델이 투명하게 교체 가능하도록 합니다.
다음 메서드와 속성은 모든 Foundry ML 모델에서 사용 가능합니다:
transform(data)
: 단계를 순서대로 적용하여 점수가 매겨진 결과물을 생성합니다.append_stage(stage)
: 현재 단계 다음에 추가 단계를 모델에 추가합니다.input_spec
: 예상 입력의 형식을 설명합니다.output_spec
: 결과물의 형식을 설명합니다.stages
: 모델의 단계 목록을 가져옵니다.대부분의 모델링 프레임워크는 고유의 직렬화 형식과 방법론을 가지고 있습니다. 특히, 분산 및 다중 언어 프레임워크는 이해하기 어려운 직렬화 방법을 종종 가지고 있습니다. Foundry의 모델 인터페이스는 Architecture V2로 직렬화 프로세스를 간소화합니다.
Architecture V2는 다음과 같은 새로운 기능을 지원하는 직렬화 형식입니다:
Python Transforms에서 다음 템플릿을 사용할 수 있습니다:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
from transforms.api import transform, Input, Output from foundry_ml import Model @transform( training_data=Input("/path/to/input/training/data"), out_model = Output("/path/to/output/model"), ) def create_model(training_data, out_model): df = training_data.dataframe() # 여기서 모델 학습 model = Model(*model stages) model.save(out_model) @transform( in_model = Input("/path/to/output/model"), test_data = Input("/path/to/input/test/data" ), out_data = Output("/path/to/scores/output"), ) def apply_model(in_model, test_data, out_data): model = Model.load(in_model) output_df = model.transform(test_data.dataframe()) out_data.write_dataframe(output_df)
Code Workbook에서 foundry_ml.Model
인스턴스를 반환하여 모델을 저장하고 코드 블록의 함수에 매개변수로 정의함으로써 불러옵니다.
모델은 스테이지로 알려진 개별 변환의 선형 파이프라인입니다. 모든 스테이지는 변환을 수행하기 위해 공통 인터페이스를 따릅니다.
기본 스테이지 계약은 최소한의 유형으로 구성되어 있습니다.
스테이지는 Stage()
를 통해 호출되어, 모델 파이프라인의 컴퓨터 구성 요소를 나타내며 외부 오브젝트(예: sklearn 모델)를 감쌉니다. transform()
으로의 모든 호출은 호스팅된 모델에 등록된 함수에 매핑됩니다.
스테이지는 다음 책임이 있습니다:
Stage.transform
)를 제공합니다.대부분의 경우, 변환 오브젝트 외부에서 스테이지의 최소한의 사용자 지정이 필요합니다. Foundry는 지원되는 라이브러리에 대한 유형별 스테이지 생성을 자동화하는 스테이지 레지스트리를 제공합니다.
foundry_ml
에서 현재 지원되는 라이브러리 클래스와 등록된 변환 함수 및 직렬화 형식을 확인하려면 help
함수를 사용하십시오.
스테이지는 많은 구성 가능한 파라미터를 포함할 수 있습니다. 파라미터는 변환 함수의 적용을 제어하는 데 사용됩니다.
표준화된 모델과 인터페이스를 지원하기 위해, 파라미터는 스테이지 간에 관련 정보를 승격시키는 데 사용할 수 있습니다.
foundry_ml
에서 지원되는 스테이지의 경우, 필수, 기본 및 선택적 파라미터가 동적으로 생성되었습니다. 사용 가능한 파라미터에 대해 더 알아보기.