Snowflake Native App 에서 Snowflake 머신 러닝 모델 사용하기

이 항목에서는 Snowflake Native App 에서 Snowflake ML 모델을 사용하는 방법에 대해 설명합니다. 또한 앱에서 Snowflake Cortex 함수를 호출하는 방법도 설명합니다.

Snowflake Native App 에서의 Snowpark ML 사용 개요

Snowflake ML은 관리 데이터를 기반으로 단일 플랫폼에서 엔드투엔드 머신 러닝을 위한 통합 기능 세트입니다. 이 기능은 Snowflake Native App 내에서 사용할 수 있습니다.

Snowflake Native App Framework 에서는 다음과 같은 사용 사례를 지원합니다.

  • 공급자는 앱에 학습 알고리즘을 포함하지만 학습된 모델은 포함되지 않습니다. 공급자는 선형 회귀 또는 로지스틱 회귀와 같은 모델의 원본 코드를 앱에 포함합니다.

    앱이 설치된 후 모델의 fit() 메서드를 호출하는 등 컨슈머 계정의 데이터에 대한 학습이 이루어집니다.

    자세한 내용은 앱에서 Snowflake ML 모델 생성, 학습 및 사용하기 섹션을 참조하십시오.

  • 공급자는 컨슈머와 데이터를 공유하고 앱에 학습 알고리즘을 포함합니다. 설치 후 앱은 앱과 공유된 컨슈머 계정의 데이터를 기반으로 모델을 학습시킵니다

    자세한 내용은 앱에서 Snowflake ML 모델 생성, 학습 및 사용하기 섹션을 참조하십시오.

  • 공급자는 계정의 데이터를 기반으로 모델을 학습시키고 이러한 모델을 앱에 포함합니다. 앱이 설치되면 컨슈머는 모델의 :predict() 메서드를 호출하는 등 모델을 직접 사용할 수 있습니다.

    자세한 내용은 앱에 학습된 모델 포함하기 섹션을 참조하십시오.

앱에서 Snowflake ML 사용 시 제한 사항

앱에서 Snowflake ML 을 사용할 때는 다음과 같은 제한 사항이 적용됩니다.

  • 현재 웨어하우스 기반 모델만 지원됩니다.

  • 공급자는 모델을 컨슈머와 공유하려면 Snowflake Model Registry를 사용해야 합니다. fit() 과 같은 Snowpark ML 함수는 Snowflake Native Apps 에 지원되지 않는 임시 스테이지의 결과를 저장합니다.

  • 웨어하우스 내 Snowpark 샌드박스에서 실행할 수 있는 머신 러닝 알고리즘에는 제한이 있습니다. TensorFlow 또는 PyTorch 와 같은 더 복잡한 머신 러닝 프레임워크는 이 샌드박스에서 실행할 수 없습니다.

  • 공급자의 데이터 세트에 대해 수행된 학습은 컨슈머의 데이터에 충분히 효과적인 모델을 산출하지 못할 수 있습니다. 컨슈머 데이터를 기반으로 모델을 학습시키면 더 나은 결과를 얻을 수 있습니다.

앱에서 Snowflake Cortex 함수 호출하기

앱에서 Snowflake Cortex 함수 를 호출하려면 다음 예시와 같이 컨슈머 가 먼저 앱에 CORTEX_USER 데이터베이스 역할을 부여해야 합니다.

GRANT DATABASE ROLE SNOWFLAKE.CORTEX_USER TO APPLICATION my_app;
Copy

참고

공급자는 앱 목록에 컨슈머에게 CORTEX_USER 데이터베이스 역할을 부여해야 한다는 점을 언급해야 합니다.

SNOWFLAKE 데이터베이스의 CORTEX_USER 데이터베이스 역할은 사용자가 Snowflake Cortex LLM 함수를 호출할 수 있는 권한을 포함합니다. 자세한 내용은 Snowflake Cortex AISQL (LLM 함수 포함) 섹션을 참조하십시오.

컨슈머가 앱에 이 역할을 부여하면 앱은 다음 예시와 같이 Snowflake Cortex 함수를 호출할 수 있습니다.

SELECT SNOWFLAKE.CORTEX.TRANSLATE('La plateforme unique de Snowflake élimine les silos de données!','fr','en');
Copy