본 번역은 검증되지 않았습니다. AIP를 통해 영문원문으로부터 번역되었습니다.

모델에 대한 Functions

온톨로지의 컨텍스트에서 모델을 운영화하기 위해, 모델을 호출하는 Functions를 사용할 수 있습니다. 모델은 Foundry ML Live 배포를 통해 제공되고 코드 사용을 위해 Functions 저장소로 가져올 수 있습니다.

선수조건

모델에 대한 Functions를 생성하기 전에 먼저 Foundry ML Live 배포를 생성하고 API 이름을 설정하세요.

라이브 배포 가져오기

라이브 배포가 생성되면 특정 저장소에서 사용할 수 있도록 가져와야 합니다.

리소스 가져오기 사이드바를 클릭하면 이미 가져온 모델 배포를 볼 수 있습니다.

Model import sidebar

추가 모델을 가져오려면 리소스 가져오기 사이드바에서 추가를 선택하여 Modeling Objectives 검색 창을 엽니다. 이 저장소에 온톨로지 가져오기가 없는 경우, 이 저장소와 동일한 네임스페이스에 있는 Objectives만 가져올 수 있습니다. 함수 저장소에서 특정 온톨로지의 오브젝트 유형을 이미 가져온 경우, 해당 온톨로지와 동일한 네임스페이스에 있는 Objectives만 가져올 수 있습니다. 여기서 PRODUCTION 또는 STAGING 릴리스를 나타내는 배포를 선택하거나 특정 모델 제출의 샌드박스 배포를 선택할 수 있습니다. 이 예제에서는 Flight Delay 모델을 가져옵니다.

model-import-example

선택 사항 확인을 선택하여 모델 가져오기를 확인합니다. Task runner는 localDev 작업을 실행하여 이러한 모델과 상호 작용하는 코드 바인딩을 생성합니다.

코드에서 @foundry/models-api/deployments 패키지에서 모델 유형을 가져올 수 있습니다. 각 모델은 정의된 API 이름에 따라 상수로 사용할 수 있습니다.

모델 기반 Function 작성

Flight Delay Model을 온톨로지에 연결하는 Function을 작성해 보겠습니다. Code Assist가 완료되면 "@foundry/models-api/deployments"에서 가져오기 문을 추가하고 중괄호 사이에 모델에 대해 정의한 API 이름을 입력하세요. 또는 모델 가져오기 사이드바에서 API 이름을 복사할 수 있습니다.

Copied!
1 2 // "@foundry/models-api/deployments"에서 FlightModelDeployment를 가져옵니다. import { FlightModelDeployment } from "@foundry/models-api/deployments";

그런 다음, 비행 목록을 입력으로 받아 모델을 위한 데이터를 준비하고 모델 실행 결과를 해석하는 Function을 작성하세요. 가져온 각 모델에는 입력 및 출력 사양을 나타내는 비동기 transform 메소드가 포함됩니다. 이를 통해 Typescript는 컴파일 시간에 모델 배포에 올바른 데이터 구조가 전송되고 수신되는지 확인할 수 있습니다. 별도로 지정하지 않는 한, Foundry ML Live 배포는 행 목록에서 작동합니다.

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 @Function() public async predictFlightDelays(flights: Flight[]): Promise<FunctionsMap<Flight, Double>> { let functionsMap = new FunctionsMap(); // 모델에 필요한 형태의 행 목록 준비 const modelInput = flights.map(flight => ({ "lastArrivalTime": flight.lastArrivalTime, "lastExpectedArrivalTime": flight.lastExpecptedArrivalTime, })); // Foundry ML Live 배포 호출 const modelOutput = await FlightModelDeployment.transform(modelInput); // 각 항공편을 해당 모델 출력에 매핑 for (let i = 0; i < flights.length; i++) { functionsMap.set(flights[i], modelOutput[i].prediction); } return functionsMap; }

모델 데이터셋에 의해 지원되는 Functions

모델에 대한 Functions는 모델 에셋을 제공하는 배포에 최적화되어 있습니다. 데이터셋의 모델 역시 지원되지만, transform 메소드는 list<Row<str, any>>을 기대하고 반환하므로 실질적으로 타입이 지정되지 않았습니다. 런타임에서 데이터의 유효성을 확인하고자 할 수 있습니다.

성능 고려 사항

모델은 Function의 런타임의 일부로 실행되므로 모든 표준 제한이 적용됩니다. Function이 액션을 지원하는 경우, 결과적으로 수정되는 횟수에 대한 추가 제한이 있습니다. Foundry ML Live 배포를 호출할 때는, 모델 입력 및 출력 데이터가 네트워크를 통해 50 Mb의 상한선으로 전송됩니다. 이 추가적인 처리량을 포함하여, Function의 총 실행 시간은 30초를 초과할 수 없습니다. 이 타임아웃 제한을 Function 당 증가시키려면, Palantir 대표에게 연락하십시오.