학습 및 평가

Document AI를 사용하면 자체 학습 데이터를 사용하여 새 프로세서 버전을 학습시키고 자체 테스트 데이터를 기준으로 프로세서 버전의 품질을 평가할 수 있습니다.

이는 커스텀 프로세서를 사용하려는 경우에 유용합니다. 문서 유형에 맞는 Document AI 프로세서가 있지만 요구사항을 충족하도록 커스텀 버전을 업트레이닝할 수 있습니다.

학습 및 평가는 일반적으로 고품질의 사용 가능한 프로세서 버전을 반복하기 위해 함께 수행됩니다.

Document AI

Document AI를 사용하면 특정 유형의 문서에서 항목을 추출하는 커스텀 추출기를 빌드할 수 있습니다(예: 메뉴의 항목 또는 이력서의 이름 및 연락처 정보).

다른 프로세서와 달리 커스텀 프로세서에는 선행 학습된 프로세서 버전이 포함되어 있지 않으므로 처음부터 버전을 학습시키기 전까지는 문서를 처리할 수 없습니다.

Document AI를 시작하려면 자체 커스텀 프로세서 빌드를 참조하세요.

프로세서 업트레이닝

새 프로세서 버전을 업트레이닝 하여 데이터의 정확성을 개선하고 문서에서 추가 커스텀 필드를 추출하며 새 언어 지원을 추가할 수 있습니다.

업트레이닝은 Google 선행 학습된 프로세서 버전에 전이 학습 을 적용하여 작동하며 일반적으로 처음부터 학습하는 것보다 적은 데이터가 필요합니다.

시작하려면 선행 학습된 프로세서 업트레이닝을 참조하세요.

지원되는 프로세서

모든 전문 프로세서가 업트레이닝을 지원하는 것은 아닙니다. 업트레이닝을 지원하는 프로세서는 다음과 같습니다.

데이터 고려사항 및 권장사항

데이터의 품질과 양은 학습, 업트레이닝, 평가의 품질을 결정합니다.

대표적인 실제 문서 세트를 가져오고 충분한 고품질 라벨을 제공하는 것은 종종 프로세스에서 가장 시간이 많이 걸리고 리소스가 많이 필요한 부분입니다.

문서 수

모든 문서의 형식이 유사한 경우 (예: 변동성이 매우 낮은 고정 양식) 정확성을 달성하는 데 필요한 문서 수가 적습니다. 변동성이 높을수록 더 많은 문서가 필요합니다.

다음 차트는 커스텀 문서 추출기가 특정 품질 점수를 달성하는 데 필요한 문서 수를 대략적으로 보여줍니다.

변동성 낮음 변동성 높음
processor-training-and-evaluation-overview-1 processor-training-and-evaluation-overview-2

데이터 라벨 지정

문서 라벨 지정 옵션 을 고려하고 데이터 세트의 문서에 주석을 달기 위한 충분한 리소스가 있는지 확인합니다.

모델 학습

커스텀 추출기 프로세서는 특정 사용 사례 및 사용 가능한 학습 데이터에 따라 다양한 모델 유형을 사용할 수 있습니다.

  • 커스텀 모델: 라벨 지정된 학습 데이터를 사용하는 모델입니다.
    • 템플릿 기반: 고정 레이아웃이 있는 문서입니다.
    • 모델 기반: 레이아웃 변동성이 있는 문서입니다.
  • 생성형 AI 모델: 추가 학습이 최소한으로 필요한 선행 학습된 기반 모델을 기반으로 합니다.

다음 표는 각 모델 유형에 해당하는 사용 사례를 보여줍니다.

커스텀 모델 생성형 AI
템플릿 기반 모델 기반
레이아웃 변동성 없음 낮음~중간 높음
자유 형식 텍스트의 양 (예: 계약의 단락) 낮음 낮음 높음
필요한 학습 데이터의 양 낮음 높음 낮음
제한된 학습 데이터의 정확성 높음 낮음 높음

속성 설명으로 프로세서 미세 조정을 학습합니다.

다른 프로세서를 사용해야 하는 경우

다음은 Document AI Document AI Workbench 이외의 옵션을 고려하거나 워크플로를 조정해야 할 수 있는 몇 가지 인스턴스입니다.

프로세서를 학습시키는 방법

학습 또는 업트레이닝을 지원하는 프로세서를 이미 만들고 데이터 세트에 라벨을 지정했다고 가정하면 처음부터 새 프로세서 버전을 학습시킬 수 있습니다. 또는 기존 프로세서 버전을 기반으로 새 프로세서 버전을 업트레이닝할 수 있습니다.

프로세서 버전 학습

웹 UI

  1. 콘솔에서 프로세서의 학습 탭으로 이동합니다. Google Cloud

    프로세서 갤러리로 이동

  2. 스키마 수정 을 클릭하여 라벨 관리 페이지를 엽니다. 프로세서의 라벨을 확인합니다.

    학습 시점에 사용 설정 된 라벨은 새 프로세서 버전이 추출하는 항목을 결정합니다. 라벨이 스키마에서 비활성 상태인 경우 문서에 라벨이 지정되어 있더라도 프로세서 버전은 해당 라벨을 추출하지 않습니다.

  3. 학습 탭에서 라벨 통계 보기 를 클릭하고 테스트 및 학습 세트를 확인합니다. 자동 라벨 지정, 라벨 지정되지 않음 또는 할당되지 않음 문서는 학습 및 평가에서 제외됩니다.

  4. 새 버전 학습 을 클릭합니다.

    버전 이름name 필드를 정의합니다. processorVersion.

    processor-training-and-evaluation-overview-3

  5. 학습 시작 을 클릭하고 새 프로세서 버전이 학습되고 평가될 때까지 기다립니다.

    버전 관리 탭에서 학습 진행 상황을 모니터링할 수 있습니다.

    processor-training-and-evaluation-overview-4

  6. 평가 및 테스트 탭을 클릭하여 새 프로세서 버전이 테스트 세트에서 얼마나 잘 작동했는지 확인합니다. 자세한 내용은 프로세서 버전 평가를 참조하세요.

Python

자세한 내용은 Document AI Python API 참조 문서를 확인하세요.

Document AI에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.


from typing import Optional

from google.api_core.client_options import ClientOptions
from google.cloud import documentai  # type: ignore

# TODO(developer): Uncomment these variables before running the sample.
# project_id = 'YOUR_PROJECT_ID'
# location = 'YOUR_PROCESSOR_LOCATION' # Format is 'us' or 'eu'
# processor_id = 'YOUR_PROCESSOR_ID'
# processor_version_display_name = 'new-processor-version'
# train_data_uri = 'gs://bucket/directory/' # (Optional)
# test_data_uri = 'gs://bucket/directory/' # (Optional)


def train_processor_version_sample(
    project_id: str,
    location: str,
    processor_id: str,
    processor_version_display_name: str,
    train_data_uri: Optional[str] = None,
    test_data_uri: Optional[str] = None,
) -> None:
    # You must set the api_endpoint if you use a location other than 'us', e.g.:
    opts = ClientOptions(api_endpoint=f"{location}-documentai.googleapis.com")

    client = documentai.DocumentProcessorServiceClient(client_options=opts)

    # The full resource name of the processor
    # e.g. `projects/{project_id}/locations/{location}/processors/{processor_id}
    parent = client.processor_path(project_id, location, processor_id)

    processor_version = documentai.ProcessorVersion(
        display_name=processor_version_display_name
    )

    # If train/test data is not supplied, the default sets in the Cloud Console will be used
    input_data = documentai.TrainProcessorVersionRequest.InputData(
        training_documents=documentai.BatchDocumentsInputConfig(
            gcs_prefix=documentai.GcsPrefix(gcs_uri_prefix=train_data_uri)
        ),
        test_documents=documentai.BatchDocumentsInputConfig(
            gcs_prefix=documentai.GcsPrefix(gcs_uri_prefix=test_data_uri)
        ),
    )

    request = documentai.TrainProcessorVersionRequest(
        parent=parent, processor_version=processor_version, input_data=input_data
    )

    operation = client.train_processor_version(request=request)
    # Print operation details
    print(operation.operation.name)
    # Wait for operation to complete
    response = documentai.TrainProcessorVersionResponse(operation.result())

    metadata = documentai.TrainProcessorVersionMetadata(operation.metadata)

    print(f"New Processor Version:{response.processor_version}")
    print(f"Training Set Validation: {metadata.training_dataset_validation}")
    print(f"Test Set Validation: {metadata.test_dataset_validation}")

프로세서 버전 배포 및 사용

다른 프로세서 버전과 마찬가지로 프로세서 버전을 배포하고 관리할 수 있습니다. 자세한 내용은 프로세서 버전 관리를 참조하세요.

배포된 후에는 커스텀 프로세서에 처리 요청을 보낼 수 있습니다.

프로세서 사용 중지 또는 삭제

프로세서를 더 이상 사용하지 않으려면 사용 중지하거나 삭제하면 됩니다. 프로세서를 사용 중지한 경우 다시 사용 설정할 수 있습니다. 프로세서를 삭제하면 복구할 수 없습니다.

  1. 왼쪽의 Document AI 패널에서 내 프로세서 를 클릭합니다.

  2. 프로세서 이름 오른쪽에 있는 세로 점을 클릭합니다. 프로세서 사용 중지 또는 프로세서 삭제 를 클릭합니다.

자세한 내용은 프로세서 버전 관리를 참조하세요.

미세 조정된 프로세서 버전 업그레이드

미세 조정된 커스텀 추출기 프로세서 버전을 최신 기본 버전으로 업그레이드할 수 있습니다. 이렇게 하면 프로세서의 원래 학습 데이터를 사용하여 이전 버전을 기반으로 구성된 최신 기본 버전의 프로세서 버전이 생성됩니다.

  1. Google Google Cloud 콘솔에서 프로세서의 배포 및 사용 탭으로 이동하고 업그레이드할 지원되는 프로세서 버전의 체크박스를 선택합니다. 이는 새 프로세서 버전의 구성이 기반으로 하는 것입니다.

    processor-training-and-evaluation-overview-5

  2. 사용 설정된 업그레이드 를 선택합니다. 새 프로세서 버전의 이름과 기본 버전을 입력합니다.

    processor-training-and-evaluation-overview-6

  3. 업그레이드 를 클릭하고 새 프로세서 버전이 학습될 때까지 기다립니다.

학습 데이터 암호화

Document AI 학습 데이터는 Cloud Storage에 저장되며 필요한 경우 고객 관리 암호화 키 로 암호화할 수 있습니다.

학습 데이터 삭제

Document AI 학습 작업이 완료되면 Cloud Storage에 저장된 모든 학습 데이터는 2일의 보관 기간이 지나면 만료됩니다. 후속 데이터 삭제 활동은 데이터 삭제에 설명된 프로세스를 준수합니다 Google Cloud.

가격 책정

학습 또는 업트레이닝에는 비용이 들지 않습니다. 호스팅 및 예측에 대한 비용을 지불합니다. 자세한 내용은 Document AI 가격 책정을 참조하세요.