데이터베이스, 스키마, 계정 간에 Document AI 모델 복사¶
이 항목에서는 동일한 계정의 데이터베이스 또는 스키마 간이나 동일한 조직의 다른 계정 간에 Document AI 모델을 복사하는 방법을 설명합니다. 예를 들어 개발 계정에서 프로덕션 계정으로 모델을 복사할 수 있습니다.
|document-ai|는 게시되거나 학습시킨 모델을 모델 레지스트리 내에 저장합니다. 이를 사용하여 모델 버전과 모델 복제를 저장하고 관리할 수 있습니다. 모델 레지스트리의 기능에 대한 자세한 내용은 Snowflake Model Registry 섹션을 참조하세요.
참고
Document AI 모델 빌드(모델, 추출할 데이터 값, 모델을 테스트하고 학습시키기 위해 업로드된 문서 포함)는 복제할 수 없습니다. Document AI 모델 빌드에서 게시되거나 학습시킨 모델만 복제할 수 있습니다.
현재 :ref:`모델 공유<label-snowpark-model-registry-model-sharing>`는 |document-ai|에서 지원되지 않습니다.
중요
Document AI 모델에 CREATE MODEL 및 ALTER MODEL … ADD VERSION 명령을 사용할 때 <model_build_name>!PREDICT 메서드를 사용할 수 있으려면 버전 식별자가 V<integer> 형식(예: V2)이어야 합니다. 해당 정수는 게시되거나 학습시킨 Document AI 모델 빌드의 버전에 해당합니다.
전제 조건¶
모델을 복사하려면 다음을 수행해야 합니다.
|document-ai|로 작업하기 위한 모든 필수 권한을 부여합니다. 권한에 대한 자세한 내용은 Document AI 액세스 제어 섹션을 참조하십시오.
참고
모델을 복사하는 모든 스키마에 대해 CREATE MODEL 권한을 부여해야 합니다.
소스 모델을 게시하거나 학습시킵니다. 자세한 내용은 Document AI 모델 빌드 게시 섹션을 참조하십시오.
계정 내의 데이터베이스 및/또는 스키마 간에 Document AI 모델 복사¶
소스 모델을 만든 역할을 사용하여 소스 모델에서 모델을 만듭니다.
CREATE MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model WITH VERSION V1 FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model VERSION V1;
선택 사항: 모델의 다른 버전을 추가합니다.
ALTER MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model ADD VERSION V2 FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model VERSION V2;
prod_user역할이 복사된 모델을 사용할 수 있도록 하려면 해당 역할에 모델에 대한 OWNERSHIP 권한을 부여합니다.GRANT OWNERSHIP ON MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model TO ROLE prod_user;
계정 간에 Document AI 모델 복사¶
소스 계정의 Document AI 모델을 동일한 조직에 있는 하나 이상의 대상 계정으로 복제할 수 있습니다. 복제에 대한 자세한 내용은 여러 계정에 걸쳐 복제 및 장애 조치 도입 섹션을 참조하십시오.
소스 계정에서 대상 계정으로 모델을 복제하려면 소스 계정에 복제 그룹을 생성하여 모델이 생성된 데이터베이스를 대상 계정으로 복제할 수 있도록 하고, 프로덕션 사용자 역할을 설정해야 합니다.
참고
복제 그룹을 생성하고 프로덕션 사용자 역할을 설정하려면 사용자에게 ACCOUNTADMIN 역할이 있어야 합니다.
모델이 생성된 데이터베이스 복제¶
참고
모든 모델 빌드가 동일한 데이터베이스에 저장되는 경우 해당 데이터베이스를 한 번만 복제하면 됩니다.
소스 계정에 기본 복제 그룹을 만듭니다.
CREATE REPLICATION GROUP doc_ai_models_replication_group OBJECT_TYPES = DATABASES ALLOWED_DATABASES = dev_doc_ai_db ALLOWED_ACCOUNTS = org.production_account;
소스 계정의 기본 복제 그룹의 복제본으로 대상 계정에 보조 복제 그룹을 만듭니다.
CREATE REPLICATION GROUP doc_ai_models_secondary_replication_group AS REPLICA OF org.dev_account.doc_ai_models_replication_group;
소스 계정에서 대상 계정의 데이터베이스를 새로 고칩니다.
ALTER REPLICATION GROUP doc_ai_models_secondary_replication_group REFRESH;
선택 사항: 계정이 10분마다 자동으로 동기화되도록 보조 복제 그룹을 새로 고치는 일정을 지정합니다.
ALTER REPLICATION GROUP doc_ai_models_secondary_replication_group SET REPLICATION_SCHEDULE = '10 MINUTE';
정보 추출을 위한 프로덕션 사용자 역할 설정¶
대상 프로덕션 계정에서 작업하는 사용자(예: prod_user 역할이 있는 사용자)가 복제된 모델을 사용하여 <model_build_name>!PREDICT 메서드를 실행할 수 있도록 하려면 다음 단계를 따릅니다.
|document-ai|에서 복사된 데이터베이스 및 스키마에 대한 작업을 수행하는 데 필요한 모든 권한<label-document_ai_access_control>`을 ``prod_user` 역할에 부여합니다.
소스 데이터베이스 및 스키마에 대한 USAGE 권한과 해당 스키마의 모든 모델에 대한 소유권을
prod_user역할에 부여합니다.GRANT USAGE ON DATABASE dev_doc_ai_db TO ROLE prod_user; GRANT USAGE ON SCHEMA dev_doc_ai_db.dev_doc_ai_schema TO ROLE prod_user; GRANT OWNERSHIP ON ALL MODELS IN SCHEMA dev_doc_ai_db.dev_doc_ai_schema TO ROLE prod_user;
선택 사항: 복제할 모든 향후 모델에 대한 소유권을 부여합니다.
GRANT OWNERSHIP ON ALL FUTURE MODELS IN SCHEMA dev_doc_ai_db.dev_doc_ai_schema TO ROLE prod_user;
필수 권한을 부여한 후 prod_user 역할이 있는 사용자는 다음 단계를 따라야 합니다.
소스 모델에서 모델을 만듭니다.
CREATE MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model WITH VERSION V1 FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model VERSION V1;
참고
소스 모델에서 모델을 만들어야 합니다. 대상(프로덕션) 계정의 복제된 데이터베이스에 저장된 모델에서 바로 <model_build_name>!PREDICT 메서드를 호출할 수 없습니다.
prod_user역할이 있으면 이제 대상(프로덕션) 계정에서 <model_build_name>!PREDICT 메서드를 사용하여 정보를 추출할 수 있습니다.선택 사항: 모델의 다른 버전을 추가합니다.
ALTER MODEL prod_doc_ai_db.prod_doc_ai_schema.invoices_model ADD VERSION V2 FROM MODEL dev_doc_ai_db.dev_doc_ai_schema.invoices_source_model VERSION V2;
추가 참고 사항¶
모델의 새 버전은 학습 후에 자동으로 복사되지 않습니다. ALTER MODEL … ADD VERSION 명령을 사용하여 버전을 수동으로 추가해야 합니다.
복사된 모델은 다시 학습시킬 수 없기 때문에 Document AI UI에 표시되지 않습니다. /developer-guide/snowflake-ml/model-registry/snowsight-ui`에서 복사된 모델을 볼 수 있으며 해당 모델에서 :doc:/sql-reference/classes/document-intelligence/methods/predict` 메서드를 호출할 수 있습니다.
모델에 대한 OWNERSHIP 권한이 프로덕션 사용자 역할에 부여된 이후에는 소유권을 변경할 수 없습니다. Document AI 모델 빌드가 게시된 이후에 다른 역할이 해당 모델을 사용할 수 있도록 하려면 Document AI 모델을 복사하고 복사된 모델에 대한 OWNERSHIP 권한을 해당 역할에 부여합니다.