시맨틱 검색을 위한 원격 추론을 설정하는 AWS CloudFormation 데 사용 - 아마존 OpenSearch 서비스

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

시맨틱 검색을 위한 원격 추론을 설정하는 AWS CloudFormation 데 사용

OpenSearch 버전 2.9부터 시맨틱 검색과 함께 원격 추론을 사용하여 자체 기계 학습 (ML) 모델을 호스팅할 수 있습니다. 원격 추론은 ML Commons 플러그인을 사용하여 Amazon 등의 ML OpenSearch 서비스에서 원격으로 모델 추론을 호스팅하고 ML 커넥터를 사용하여 Amazon SageMaker Amazon BedRock Service에 연결할 수 있도록 합니다.

원격 추론을 쉽게 설정할 수 있도록 Amazon OpenSearch Service는 콘솔에 AWS CloudFormation템플릿을 제공합니다. CloudFormation 인프라를 코드로 취급하여 타사 리소스를 모델링, 프로비저닝 AWS 및 관리할 수 AWS 서비스 있는 도구입니다.

OpenSearch CloudFormation 템플릿은 모델 프로비저닝 프로세스를 자동화하므로 OpenSearch 서비스 도메인에서 모델을 쉽게 만든 다음 모델 ID를 사용하여 데이터를 수집하고 신경망 검색 쿼리를 실행할 수 있습니다.

OpenSearch 서비스 버전 2.12 이상에서 신경망 스파스 인코더를 사용하는 경우 원격으로 배포하는 대신 로컬에서 토크나이저 모델을 사용하는 것이 좋습니다. 자세한 내용은 설명서의 스파스 인코딩 모델을 참조하십시오. OpenSearch

사전 조건 

OpenSearch Service와 함께 CloudFormation 템플릿을 사용하려면 다음 사전 요구 사항을 완료하세요.

서비스 도메인 설정 OpenSearch

CloudFormation 템플릿을 사용하려면 먼저 버전 2.9 이상이고 세분화된 액세스 제어가 활성화된 Amazon OpenSearch Service 도메인을 설정해야 합니다. OpenSearch 서비스 백엔드 역할을 생성하여 ML Commons 플러그인에 커넥터를 자동으로 생성할 수 있는 권한을 부여하십시오.

CloudFormation 템플릿은 기본 이름을 사용하여 Lambda IAM 역할을 생성하며, 다른 LambdaInvokeOpenSearchMLCommonsRole 이름을 선택하려는 경우 기본 이름을 재정의할 수 있습니다. 템플릿이 이 IAM 역할을 생성한 후에는 Lambda 함수에 서비스 도메인을 호출할 권한을 부여해야 합니다. OpenSearch 이렇게 하려면 다음 단계에 따라 이름이 지정된 ml_full_access 역할을 OpenSearch 서비스 백엔드 역할에 매핑하십시오.

  1. OpenSearch 서비스 도메인의 OpenSearch 대시보드 플러그인으로 이동합니다. 대시보드 엔드포인트는 OpenSearch 서비스 콘솔의 도메인 대시보드에서 찾을 수 있습니다.

  2. 주 메뉴에서 보안, 역할을 선택하고 ml_full_access 역할을 선택합니다.

  3. 매핑된 사용자(Mapped users), 매핑 관리(Manage mapping)를 차례로 선택합니다.

  4. 백엔드 역할에서 도메인 호출 권한이 필요한 Lambda 역할의 ARN을 추가합니다.

    arn:aws:iam::account-id:role/role-name
  5. Map(맵)을 선택하고 Mapped users(매핑된 사용자)에 사용자 또는 역할이 나타나는지 확인합니다.

역할을 매핑한 후 도메인의 보안 구성으로 이동하여 Lambda IAM 역할을 서비스 액세스 정책에 추가합니다. OpenSearch

AWS 계정에 대한 권한을 활성화합니다.

템플릿에 대해 선택한 항목 (Runtime 또는 Amazon) CloudFormation 과 함께 AWS 서비스 Lambda에 액세스할 수 있는 권한이 AWS 계정 있어야 합니다. SageMaker BedRock

Amazon Bedrock을 사용하는 경우 모델도 등록해야 합니다. 모델을 등록하려면 Amazon Bedrock 사용 설명서모델 액세스를 참조하세요.

자체 Amazon S3 버킷을 사용하여 모델 아티팩트를 제공하는 경우, S3 액세스 정책에 CloudFormation IAM 역할을 추가해야 합니다. 자세한 내용은 IAM 사용 설명서의 IAM 자격 증명 권한 추가 및 제거를 참조하세요.

Amazon SageMaker 템플릿

Amazon SageMaker CloudFormation 템플릿은 신경 플러그인 및 시맨틱 검색을 설정하기 위해 여러 AWS 리소스를 정의합니다.

먼저 Amazon SageMaker 템플릿을 통한 텍스트 임베딩 모델과의 통합을 사용하여 SageMaker Runtime에 텍스트 임베딩 모델을 서버로 배포합니다. 모델 엔드포인트를 제공하지 않는 경우, SageMaker Runtime에서 Amazon S3에서 모델 아티팩트를 다운로드하여 서버에 배포할 수 있는 IAM 역할을 CloudFormation 생성합니다. 엔드포인트를 제공하는 경우, Lambda 함수가 서비스 도메인에 액세스할 OpenSearch 수 있도록 허용하는 IAM 역할을 CloudFormation 생성하거나, 역할이 이미 있는 경우 역할을 업데이트하고 재사용합니다. 엔드포인트는 ML Commons 플러그인과 함께 ML 커넥터에 사용되는 원격 모델을 제공합니다.

다음으로 Amazon Sagemaker 템플릿을 통한 스파스 인코더와의 통합을 사용하여 도메인에 원격 추론 커넥터를 설정하는 Lambda 함수를 생성합니다. OpenSearch Service에서 커넥터를 생성한 후에는 Runtime에서 원격 모델을 사용하여 원격 추론을 통해 시맨틱 검색을 실행할 수 있습니다. SageMaker 템플릿은 도메인의 모델 ID를 사용자에게 반환하므로 검색을 시작할 수 있습니다.

Amazon SageMaker CloudFormation 템플릿을 사용하려면
  1. https://console.aws.amazon.com/aos/home 에서 아마존 OpenSearch 서비스 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 통합을 선택합니다.

  3. 각 Amazon SageMaker 템플릿에서 도메인 구성, 퍼블릭 도메인 구성을 선택합니다.

  4. CloudFormation 콘솔의 프롬프트에 따라 스택을 프로비저닝하고 모델을 설정합니다.

참고

OpenSearch 또한 서비스는 VPC 도메인을 구성하기 위한 별도의 템플릿을 제공합니다. 이 템플릿을 사용하는 경우, Lambda 함수에 대한 VPC ID를 제공해야 합니다.

아마존 베드락 템플릿

Amazon SageMaker CloudFormation 템플릿과 마찬가지로 Amazon Bedrock CloudFormation 템플릿은 OpenSearch 서비스와 Amazon Bedrock 간의 커넥터를 생성하는 데 필요한 AWS 리소스를 제공합니다.

먼저 템플릿은 향후 Lambda 함수가 서비스 도메인에 액세스할 수 있도록 허용하는 IAM 역할을 생성합니다. OpenSearch 그런 다음 템플릿은 Lambda 함수를 생성하며, 이 함수는 도메인이 ML Commons 플러그인을 사용하여 커넥터를 생성하도록 합니다. OpenSearch 서비스가 커넥터를 생성한 후 원격 추론 설정이 완료되고 Amazon Bedrock API 작업을 사용하여 시맨틱 검색을 실행할 수 있습니다.

Amazon Bedrock은 자체 ML 모델을 호스팅하므로 런타임에 모델을 배포할 필요가 없습니다. SageMaker 대신 템플릿은 Amazon Bedrock의 미리 결정된 엔드포인트를 사용하며 엔드포인트 제공 단계를 건너뛰고 있습니다.

Amazon 베드락 템플릿을 CloudFormation 사용하려면
  1. https://console.aws.amazon.com/aos/home 에서 아마존 OpenSearch 서비스 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 통합을 선택합니다.

  3. Amazon Bedrock을 통한 Amazon Titan 텍스트 임베딩 모델과 통합에서 도메인 구성, 퍼블릭 도메인 구성을 선택합니다.

  4. 프롬프트에 따라 모델을 설정합니다.

참고

OpenSearch 또한 서비스는 VPC 도메인을 구성하기 위한 별도의 템플릿을 제공합니다. 이 템플릿을 사용하는 경우, Lambda 함수에 대한 VPC ID를 제공해야 합니다.

또한 OpenSearch 서비스에서는 Cohere 모델 및 Amazon Titan 멀티모달 임베딩 모델에 연결할 수 있는 다음과 같은 Amazon Bedrock 템플릿을 제공합니다.

  • Integration with Cohere Embed through Amazon Bedrock

  • Integrate with Amazon Bedrock Titan Multi-modal