제퍼넷 로고

Amazon Titan 다중 모달 임베딩 모델을 사용한 비용 효율적인 문서 분류 | 아마존 웹 서비스

시간

업계 전반의 조직은 다양한 형식의 대량 문서에서 통찰력을 분류하고 추출하기를 원합니다. 정보를 분류하고 추출하기 위해 이러한 문서를 수동으로 처리하는 것은 비용이 많이 들고 오류가 발생하기 쉬우며 확장이 어렵습니다. 진출 생성 인공지능(AI) 문서 분류를 자동화하고 다양하고 구조화되지 않은 기업 문서를 처리할 수 있는 비용 효율적인 분류 계층을 생성할 수 있는 지능형 문서 처리(IDP) 솔루션이 등장했습니다.

문서 분류는 IDP 시스템의 중요한 첫 번째 단계입니다. 이는 문서 유형에 따라 수행할 다음 작업 세트를 결정하는 데 도움이 됩니다. 예를 들어, 청구 심사 프로세스 중에 지급 계정 팀은 송장을 받고 청구 부서는 계약서나 정책 문서를 관리합니다. 기존 규칙 엔진 또는 ML 기반 분류는 문서를 분류할 수 있지만 문서 형식 유형 및 새로운 문서 클래스의 동적 추가 지원에 제한이 있는 경우가 많습니다. 자세한 내용은 다음을 참조하세요. Amazon Comprehend 문서 분류자는 더 높은 정확도를 위해 레이아웃 지원을 추가합니다..

이번 포스팅에서는 문서 분류에 대해 설명하겠습니다. Amazon Titan 다중 모드 임베딩 모델 교육 없이도 모든 문서 유형을 분류할 수 있습니다.

Amazon Titan 다중 모드 임베딩

아마존이 최근 선보인 Titan 다중 모드 임베딩 in 아마존 기반암. 이 모델은 이미지와 텍스트에 대한 임베딩을 생성할 수 있으므로 새로운 문서 분류 워크플로에 사용할 문서 임베딩 생성이 가능합니다.

이미지로 스캔된 문서의 최적화된 벡터 표현을 생성합니다. 의미론적 의미를 캡슐화하는 통합 수치 벡터로 시각적 요소와 텍스트 요소를 모두 인코딩함으로써 신속한 색인 생성, 강력한 문맥 검색 및 문서의 정확한 분류가 가능합니다.

비즈니스 워크플로에 새로운 문서 템플릿과 유형이 등장하면 간단히 아마존 베드락 API 이를 동적으로 벡터화하고 IDP 시스템에 추가하여 문서 분류 기능을 빠르게 향상시킵니다.

솔루션 개요

Amazon Titan 다중 모달 임베딩 모델을 사용하여 다음 문서 분류 솔루션을 살펴보겠습니다. 최적의 성능을 위해서는 특정 사용 사례와 기존 IDP 파이프라인 설정에 맞게 솔루션을 사용자 정의해야 합니다.

이 솔루션은 입력 문서를 이미 인덱싱된 문서 갤러리와 일치시켜 벡터 임베딩 의미 검색을 사용하여 문서를 분류합니다. 우리는 다음과 같은 주요 구성 요소를 사용합니다.

  • 임베딩 - 임베딩 기계 학습(ML) 및 AI 시스템이 인간처럼 복잡한 지식 영역을 이해하는 데 사용하는 실제 객체를 수치로 표현한 것입니다.
  • 벡터 데이터베이스 - 벡터 데이터베이스 임베딩을 저장하는 데 사용됩니다. 벡터 데이터베이스는 임베딩을 효율적으로 인덱싱하고 구성하여 유클리드 거리 또는 코사인 유사성과 같은 거리 측정법을 기반으로 유사한 벡터를 빠르게 검색할 수 있습니다.
  • 시맨틱 검색 – 의미론적 검색은 입력 쿼리의 컨텍스트와 의미, 검색되는 콘텐츠와의 관련성을 고려하여 작동합니다. 벡터 임베딩은 텍스트와 이미지의 문맥적 의미를 캡처하고 유지하는 효과적인 방법입니다. 우리 솔루션에서는 애플리케이션이 의미 검색을 수행하려고 할 때 검색 문서가 먼저 임베딩으로 변환됩니다. 그런 다음 관련 콘텐츠가 있는 벡터 데이터베이스를 쿼리하여 가장 유사한 임베딩을 찾습니다.

라벨링 프로세스에서 송장, 은행 명세서 또는 처방전과 같은 비즈니스 문서의 샘플 세트는 Amazon Titan 다중 모달 임베딩 모델을 사용하여 임베딩으로 변환되고 사전 정의된 라벨과 비교하여 벡터 데이터베이스에 저장됩니다. Amazon Titan 다중 모드 임베딩 모델은 Euclidean L2 알고리즘을 사용하여 교육되었으므로 최상의 결과를 얻으려면 사용된 벡터 데이터베이스가 이 알고리즘을 지원해야 합니다.

다음 아키텍처 다이어그램은 문서에 Amazon Titan 다중 모달 임베딩 모델을 사용하는 방법을 보여줍니다. 아마존 단순 스토리지 서비스 (Amazon S3) 이미지 갤러리 생성용 버킷입니다.

워크플로는 다음 단계로 구성됩니다.

  1. 사용자 또는 애플리케이션은 분류 메타데이터가 포함된 샘플 문서 이미지를 문서 이미지 갤러리에 업로드합니다. S3 접두사 또는 S3 객체 메타데이터를 사용하여 갤러리 이미지를 분류할 수 있습니다.
  2. Amazon S3 객체 알림 이벤트가 임베딩을 호출합니다. AWS 람다 기능.
  3. Lambda 함수는 문서 이미지를 읽고 Amazon Bedrock을 호출하고 Amazon Titan 다중 모드 임베딩 모델을 사용하여 이미지를 임베딩으로 변환합니다.
  4. 문서 분류와 함께 이미지 임베딩은 벡터 데이터베이스에 저장됩니다.

이는 이미지 갤러리 생성 및 분류를 위해 Amazon Simple Storage Service(Amazon S3) 버킷의 문서에 Titan 다중 모달 임베딩을 사용할 수 있는 방법을 보여주는 아키텍처 다이어그램입니다.

새 문서에 분류가 필요한 경우 동일한 임베딩 모델을 사용하여 쿼리 문서를 임베딩으로 변환합니다. 그런 다음 쿼리 임베딩을 사용하여 벡터 데이터베이스에 대한 의미 유사성 검색을 수행합니다. 상위 임베딩 일치 항목에 대해 검색된 레이블은 쿼리 문서의 분류 레이블이 됩니다.

다음 아키텍처 다이어그램은 이미지 분류를 위해 S3 버킷의 문서에 Amazon Titan 다중 모달 임베딩 모델을 사용하는 방법을 보여줍니다.

워크플로는 다음 단계로 구성됩니다.

  1. 분류가 필요한 문서는 입력 S3 버킷에 업로드됩니다.
  2. 분류 Lambda 함수는 Amazon S3 객체 알림을 받습니다.
  3. Lambda 함수는 Amazon Bedrock API를 호출하여 이미지를 임베딩으로 변환합니다.
  4. 의미 검색을 사용하여 벡터 데이터베이스에서 일치하는 문서를 검색합니다. 일치하는 문서의 분류는 입력 문서를 분류하는 데 사용됩니다.
  5. 입력 문서는 벡터 데이터베이스 검색에서 검색된 분류를 사용하여 대상 S3 디렉터리 또는 접두사로 이동됩니다.

이는 이미지 분류를 위해 Amazon Simple Storage Service(Amazon S3) 버킷의 문서에 Titan 다중 모달 임베딩을 사용할 수 있는 방법을 보여주는 아키텍처 다이어그램입니다.

자신의 문서로 솔루션을 테스트하는 데 도움이 되도록 Python Jupyter 노트북 예시를 만들었습니다. GitHub의.

사전 조건

노트북을 실행하려면 AWS 계정 적절한 AWS 자격 증명 및 액세스 관리 (IAM) Amazon Bedrock을 호출할 수 있는 권한입니다. 추가적으로, 모델 액세스 Amazon Bedrock 콘솔 페이지에서 Amazon Titan 다중 모달 임베딩 모델에 대한 액세스 권한이 부여되었는지 확인하세요.

실시

다음 단계에서는 각 사용자 입력 자리 표시자를 자신의 정보로 바꿉니다.

  1. 벡터 데이터베이스를 만듭니다. 이 솔루션에서는 인메모리 FAISS 데이터베이스를 사용하지만 대체 벡터 데이터베이스를 사용할 수도 있습니다. Amazon Titan의 기본 차원 크기는 1024입니다.
index = faiss.IndexFlatL2(1024)
indexIDMap = faiss.IndexIDMap(index)

  1. 벡터 데이터베이스가 생성된 후 샘플 문서를 열거하여 각각의 임베딩을 생성하고 이를 벡터 데이터베이스에 저장합니다.
  1. 문서로 테스트하세요. 다음 코드의 폴더를 알려진 문서 유형이 포함된 자체 폴더로 바꿉니다.
DOC_CLASSES: list[str] = ["Closing Disclosure", "Invoices", "Social Security Card", "W4", "Bank Statement"]

getDocumentsandIndex("sampleGallery/ClosingDisclosure", DOC_CLASSES.index("Closing Disclosure"))
getDocumentsandIndex("sampleGallery/Invoices", DOC_CLASSES.index("Invoices"))
getDocumentsandIndex("sampleGallery/SSCards", DOC_CLASSES.index("Social Security Card"))
getDocumentsandIndex("sampleGallery/W4", DOC_CLASSES.index("W4"))
getDocumentsandIndex("sampleGallery/BankStatements", DOC_CLASSES.index("Bank Statement"))

  1. Boto3 라이브러리를 사용하여 Amazon Bedrock에 전화하세요. 변수 inputImageB64 문서를 나타내는 base64로 인코딩된 바이트 배열입니다. Amazon Bedrock의 응답에는 임베딩이 포함되어 있습니다.
bedrock = boto3.client(
service_name='bedrock-runtime',
region_name='Region’
)

request_body = {}
request_body["inputText"] = None # not using any text
request_body["inputImage"] = inputImageB64
body = json.dumps(request_body)
response = bedrock.invoke_model(
body=body, 
modelId="amazon.titan-embed-image-v1", 
accept="application/json", 
contentType="application/json")
response_body = json.loads(response.get("body").read()) 

  1. 알려진 문서 유형을 나타내는 클래스 ID를 사용하여 벡터 데이터베이스에 임베딩을 추가합니다.
indexIDMap.add_with_ids(embeddings, classID)

  1. 이미지(갤러리를 나타냄)로 채워진 벡터 데이터베이스를 사용하면 새 문서와의 유사점을 발견할 수 있습니다. 예를 들어, 다음은 검색에 사용되는 구문입니다. k=1은 FAISS에게 상위 1개 일치 항목을 반환하도록 지시합니다.
indexIDMap.search(embeddings, k=1)

또한, 현재 가지고 있는 이미지와 발견된 이미지 사이의 유클리드 L2 거리도 반환됩니다. 이미지가 정확히 일치하는 경우 이 값은 0이 됩니다. 이 값이 클수록 이미지 간의 유사성은 더 멀어집니다.

추가 고려 사항

이 섹션에서는 솔루션을 효과적으로 사용하기 위한 추가 고려 사항에 대해 설명합니다. 여기에는 데이터 개인 정보 보호, 보안, 기존 시스템과의 통합 및 비용 추정이 포함됩니다.

데이터 프라이버시 및 보안

AWS 책임 분담 모델 에 적용 데이터 보호 아마존 베드락에서. 이 모델에 설명된 대로 AWS는 모든 AWS 클라우드를 실행하는 글로벌 인프라를 보호할 책임이 있습니다. 고객은 이 인프라에서 호스팅되는 콘텐츠에 대한 통제권을 유지할 책임이 있습니다. 고객으로서 귀하는 귀하가 사용하는 AWS 서비스에 대한 보안 구성 및 관리 작업을 담당합니다.

Amazon Bedrock의 데이터 보호

Amazon Bedrock은 AWS 모델을 교육하거나 제3자와 공유하기 위해 고객 프롬프트 및 연속 메시지를 사용하지 않습니다. Amazon Bedrock은 서비스 로그에 고객 데이터를 저장하거나 기록하지 않습니다. 모델 공급자는 Amazon Bedrock 로그에 액세스하거나 고객 프롬프트 및 연속 내용에 액세스할 수 없습니다. 결과적으로 Amazon Titan 다중 모달 임베딩 모델을 통해 임베딩을 생성하는 데 사용되는 이미지는 AWS 모델 교육 또는 외부 배포에 저장되거나 사용되지 않습니다. 또한 타임스탬프 및 기록된 계정 ID와 같은 기타 사용 데이터는 모델 교육에서 제외됩니다.

기존 시스템과의 통합

Amazon Titan 다중 모드 임베딩 모델은 Euclidean L2 알고리즘으로 교육을 받았으므로 사용되는 벡터 데이터베이스는 이 알고리즘과 호환되어야 합니다.

비용 견적

이 포스팅을 작성하는 시점에서는 아래와 같이 아마존 베드락 가격 Amazon Titan 다중 모달 임베딩 모델의 경우 이 솔루션에 대한 온디맨드 가격을 사용한 예상 비용은 다음과 같습니다.

  • 일회성 인덱싱 비용 – 0.06개의 이미지 갤러리를 가정할 때 단일 인덱싱 실행에 대해 $1,000
  • 분류 비용 – 입력 이미지 6개당 월 100,000달러

정리

향후 요금이 발생하지 않도록 하려면 다음과 같이 생성한 리소스를 삭제하세요. Amazon SageMaker 노트북 인스턴스, 사용하지 않을 때.

결론

이 게시물에서는 Amazon Titan 다중 모달 임베딩 모델을 사용하여 IDP 워크플로에서 문서 분류를 위한 저렴한 솔루션을 구축하는 방법을 살펴보았습니다. 알려진 문서의 이미지 갤러리를 만들고 새 문서에 대한 유사성 검색을 수행하여 분류하는 방법을 시연했습니다. 또한 다양한 문서 유형을 처리하는 기능, 확장성 및 낮은 대기 시간을 포함하여 문서 분류에 다중 모달 이미지 임베딩을 사용하는 이점에 대해서도 논의했습니다.

비즈니스 워크플로에 새로운 문서 템플릿과 유형이 등장하면 개발자는 Amazon Bedrock API를 호출하여 이를 동적으로 벡터화하고 IDP 시스템에 추가하여 문서 분류 기능을 빠르게 향상시킬 수 있습니다. 이를 통해 가장 다양하고 구조화되지 않은 기업 문서도 처리할 수 있는 저렴하고 무한히 확장 가능한 분류 계층이 생성됩니다.

전반적으로 이 게시물은 Amazon Titan 다중 모드 임베딩을 사용하여 IDP 워크플로에서 문서 분류를 위한 저렴한 솔루션을 구축하기 위한 로드맵을 제공합니다.

다음 단계로 확인해 보세요. 아마존 베드락이란? 서비스 이용을 시작합니다. 그리고 따라와 AWS 기계 학습 블로그의 Amazon Bedrock Amazon Bedrock의 새로운 기능과 사용 사례를 최신 상태로 유지합니다.


저자에 관하여

수미트 바티 AWS의 수석 고객 솔루션 관리자로 기업 고객을 위한 클라우드 여정을 가속화하는 데 특화되어 있습니다. Sumit은 마이그레이션 가속화부터 워크로드 현대화, 혁신적인 관행 통합 촉진에 이르기까지 클라우드 도입의 모든 단계에서 고객을 지원하는 데 전념하고 있습니다.

데이비드 걸링 엔터프라이즈 시스템 설계, 선도, 개발 분야에서 20년 이상의 경험을 보유한 수석 AI/ML 솔루션 설계자입니다. David는 고객이 사용 사례에 맞게 데이터와 함께 이러한 뛰어난 서비스를 배우고, 혁신하고, 활용할 수 있도록 돕는 데 중점을 둔 전문가 팀의 일원입니다.

라비 아불라 엔터프라이즈 아키텍처에 중점을 두고 있는 AWS의 수석 솔루션 아키텍트입니다. Ravi는 소프트웨어 엔지니어링 분야에서 20년의 경험을 보유하고 있으며 결제 업계에서 소프트웨어 엔지니어링 및 소프트웨어 아키텍처 분야에서 여러 리더십 역할을 맡았습니다.

조지 벨시안 AWS의 수석 클라우드 애플리케이션 설계자입니다. 그는 고객이 현대화 및 클라우드 채택 여정을 가속화하도록 돕는 데 열정을 쏟고 있습니다. 현재 역할에서 George는 고객 팀과 협력하여 혁신적이고 확장 가능한 솔루션을 전략화, 설계 및 개발합니다.

spot_img

최신 인텔리전스

spot_img