생성형 AI를 사용하는 맞춤 추출기

생성형 AI 학습 및 추출을 사용하면 다음 작업을 할 수 있습니다.

  • 제로샷 및 퓨샷 기술을 사용하여 파운데이션 모델을 통해 학습 데이터가 거의 또는 전혀 없는 고성능 모델을 확보하세요.
  • 미세 조정을 사용하여 학습 데이터를 더 많이 제공할수록 정확도를 높일 수 있습니다.

생성형 AI 학습 방법

선택하는 학습 방법은 사용 가능한 문서의 양과 모델 학습에 투입할 수 있는 노력의 양에 따라 달라집니다. 생성형 AI 모델을 학습시키는 방법에는 세 가지가 있습니다.

학습 방법 제로샷 퓨샷 세부 조정
정확성 보통 중간-높음 높음
노력 낮음 낮음 보통
권장 학습 문서 수 0 5~10 10~50개 이상

맞춤 추출기 모델 버전

커스텀 추출기에 사용할 수 있는 모델은 다음과 같습니다. 모델 버전을 변경하려면 프로세서 버전 관리를 참고하세요.

버전 1.3, 1.4, 1.5는 신뢰도 점수를 지원하지만 버전 1.2는 지원하지 않습니다.

모델 버전 설명 정식 미국/EU에서의 ML 처리 미국/EU의 미세 조정 출시일
pretrained-foundation-model-v1.4-2025-02-05 Gemini 2.0 Flash LLM으로 구동되는 출시 후보입니다. 온라인 프로세스 요청에 대해 분당 최대 120페이지의 할당량을 지원합니다. 체크박스 감지와 같은 고급 OCR 기능도 포함되어 있습니다. 미국, EU (미리보기) 2025년 2월 5일
pretrained-foundation-model-v1.5-2025-05-05 Gemini 2.5 Flash LLM으로 구동되는 정식 버전 모델입니다. 온라인 처리 요청에 대해 분당 최대 15페이지의 할당량을 지원합니다. 최신 모델을 실험해 보려는 사용자에게 권장됩니다. 미국, EU 2025년 5월 5일

프로젝트의 프로세서 버전을 변경하려면 프로세서 버전 관리를 검토하세요.

초기 설정

아직 수행하지 않았다면 결제와 Document AI API를 사용 설정합니다.

생성형 AI 모델 빌드 및 평가

  1. 권장사항에 따라 프로세서를 만들고 추출할 필드를 정의합니다. 이는 추출 품질에 영향을 미치므로 중요합니다.

    • 워크벤치 > 맞춤 추출기 > 프로세서 만들기 > 이름 할당으로 이동합니다.

    processor-version-genai-1

    • 시작하기 > 새 필드 만들기로 이동합니다.

    processor-version-genai-2

  2. 문서 가져오기

    • 자동 라벨 지정을 사용하여 문서를 가져오고 문서를 학습 및 테스트 세트에 할당합니다.
    • 제로샷의 경우 스키마만 필요합니다. 모델의 정확도를 평가하려면 테스트 세트만 있으면 됩니다.
    • 퓨샷의 경우 학습 문서 5개가 권장됩니다.
    • 필요한 테스트 문서 수는 사용 사례에 따라 다릅니다. 일반적으로 테스트 문서가 많을수록 좋습니다.
    • 문서의 라벨을 확인하거나 수정합니다.
  3. 모델 학습:

    • 빌드를 선택한 다음 새 버전 만들기를 선택합니다.
    • 이름을 입력하고 만들기를 선택합니다.

    processor-version-genai-12

  1. 평가:

    • 평가 및 테스트로 이동하여 방금 학습한 버전을 선택한 다음 전체 평가 보기를 선택합니다.

    processor-version-genai-13

    • 이제 전체 문서와 각 필드의 f1, 정밀도, 재현율과 같은 측정항목이 표시됩니다.
    • 성능이 프로덕션 목표를 충족하는지 확인합니다. 충족하지 않으면 학습 및 테스트 세트를 다시 평가합니다.
  2. 새 버전을 기본값으로 설정합니다.

    • 버전 관리로 이동합니다.
    • 옵션을 펼친 다음 기본값으로 설정을 선택합니다.

    processor-version-genai-14

    이제 모델이 배포되었습니다. 이 프로세서로 전송된 문서는 맞춤 버전을 사용합니다. 모델의 성능을 평가하여 추가 학습이 필요한지 확인할 수 있습니다.

평가 참조

평가 엔진은 일치검색과 유사 검색을 모두 실행할 수 있습니다. 정확한 일치의 경우 추출된 값이 정답과 정확하게 일치해야 합니다. 그렇지 않으면 누락으로 간주됩니다.

대소문자 차이와 같은 약간의 차이가 있는 퍼지 일치 추출은 여전히 일치로 간주됩니다. 이 설정은 평가 화면에서 변경할 수 있습니다.

processor-version-genai-15

세부 조정

세부 조정의 경우 학습에 수백 또는 수천 개의 문서를 사용합니다.

  1. 추출 품질에 영향을 미치므로 권장사항에 따라 프로세서를 만들고 추출할 필드를 정의합니다.

  2. 자동 라벨 지정을 사용하여 문서를 가져오고 문서를 학습 및 테스트 세트에 할당합니다.

  3. 문서의 라벨을 확인하거나 수정합니다.

  4. 모델을 학습시킵니다.

    • 빌드 탭을 선택하고 미세 조정 상자에서 새 버전 만들기를 선택합니다.

    processor-version-genai-24

    • 제공된 기본 학습 매개변수 또는 값을 사용해 보세요. 결과가 만족스럽지 않으면 다음 고급 옵션을 사용해 보세요.

    • 학습 단계 (100~400): 조정 중에 데이터 배치에서 가중치가 최적화되는 빈도를 제어합니다.

      • 너무 낮으면 수렴 전에 학습이 종료될 위험이 있습니다 (과소적합).
      • 너무 높으면 학습 중에 모델이 동일한 데이터 배치를 여러 번 볼 수 있으므로 과적합이 발생할 수 있습니다.
      • 단계가 적을수록 학습 시간이 단축됩니다. 수가 높을수록 템플릿 변형이 적은 문서에 도움이 되고, 수가 낮을수록 변형이 많은 문서에 도움이 됩니다.
    • 학습률 승수 (0.1~10): 학습 데이터에서 모델 파라미터가 최적화되는 속도를 제어합니다. 각 학습 단계의 크기에 대략적으로 해당합니다.

      • 학습률이 낮으면 각 학습 단계에서 모델 가중치의 변화가 작다는 의미입니다. 너무 낮으면 모델이 안정적인 솔루션으로 수렴하지 않을 수 있습니다.
      • 비율이 높으면 변화가 크다는 것을 나타내며, 너무 높으면 모델이 최적의 솔루션을 건너뛰고 차선의 솔루션으로 수렴될 수 있습니다.
      • 학습률 선택은 학습 시간에 영향을 미치지 않습니다.
    • 이름을 지정하고 필요한 기본 프로세서 버전을 선택한 다음 만들기를 선택합니다.

    processor-version-genai-21

  5. 평가: 평가 및 테스트로 이동한 다음 방금 학습한 버전을 선택하고 전체 평가 보기를 선택합니다.

    processor-version-genai-13

    • 이제 전체 문서와 각 필드의 f1, 정밀도, 재현율과 같은 측정항목이 표시됩니다.
    • 성능이 프로덕션 목표를 충족하는지 확인합니다. 충족하지 않는 경우 추가 학습 문서가 필요할 수 있습니다.
  6. 새 버전을 기본값으로 설정합니다.

    • 버전 관리로 이동합니다.
    • 옵션을 펼치고 기본값으로 설정을 선택합니다.

    processor-version-genai-14

    이제 모델이 배포되었으며 이 프로세서로 전송된 문서에서 맞춤 버전을 사용합니다. 추가 학습이 필요한지 확인하기 위해 모델의 성능을 평가하려고 합니다.

파운데이션 모델을 사용한 자동 라벨 지정

기반 모델은 다양한 문서 유형의 필드를 정확하게 추출할 수 있지만, 특정 문서 구조에 대한 모델의 정확성을 개선하기 위해 추가 학습 데이터를 제공할 수도 있습니다.

Document AI는 사용자가 정의한 라벨 이름과 이전 주석을 사용하여 자동 라벨 지정을 통해 대규모 문서에 더 쉽고 빠르게 라벨을 지정할 수 있습니다.

  1. 커스텀 프로세서를 만든 후 시작하기 탭으로 이동합니다.
  2. 새 필드 만들기를 선택합니다.
  3. 라벨에 구체적이고 명확한 이름을 지정합니다. 이렇게 하면 파운데이션 모델의 정확성과 성능이 향상됩니다.

    processor-version-genai-17

  4. 추출 정확도와 성능을 위해 추출해야 하는 항목 종류에 대한 설명 (예: 각 항목에 추가된 컨텍스트, 통계, 사전 지식)을 추가합니다.

    processor-version-genai-23

  5. 빌드 탭으로 이동한 다음 문서 가져오기를 선택합니다.

    processor-version-genai-18

  6. 문서의 경로와 문서를 가져올 세트를 선택합니다. 자동 라벨 지정 옵션을 선택하고 기반 모델을 선택합니다.

  7. 빌드 탭에서 데이터 세트 관리를 선택합니다.

  8. 가져온 문서가 표시되면 하나를 선택합니다.

    processor-version-genai-19

이제 모델의 예측이 보라색으로 강조 표시됩니다.

  1. 모델에서 예측한 각 라벨을 검토하고 올바른지 확인합니다.
  2. 누락된 필드가 있으면 해당 필드도 추가합니다.

    processor-version-genai-20

  3. 문서를 검토한 후 라벨이 지정된 것으로 표시를 선택합니다. 이제 모델에서 문서를 사용할 수 있습니다.

  4. 문서가 테스트 또는 학습 세트에 있는지 확인합니다.

3단계 중첩

이제 맞춤 추출기에서 3단계의 중첩을 제공합니다. 이 기능은 복잡한 표의 추출을 개선합니다.

다음 API 호출을 사용하여 모델 유형을 확인할 수 있습니다.

이러한 요청의 응답은 v1beta3 미리보기modelType 필드가 포함된 ProcessorVersion입니다.

절차 및 예시

다음 샘플을 사용합니다.

processor-version-genai-3

  1. 시작하기를 선택한 다음 필드를 만듭니다.

    • 최상위 수준을 만듭니다.
    • 이 샘플에서는 officer_appointments가 사용됩니다.
    • 상위 라벨입니다를 선택합니다.
    • 발생Optional multiple을 선택합니다.

    processor-version-genai-4 processor-version-genai-5 processor-version-genai-6

  2. 하위 필드 추가를 선택합니다. 이제 두 번째 수준 라벨을 만들 수 있습니다.

    • 이 수준 라벨의 경우 officer을 만듭니다.
    • 상위 라벨입니다를 선택합니다.
    • 발생Optional multiple을 선택합니다.

    processor-version-genai-7 processor-version-genai-8

  3. 두 번째 수준 officer에서 하위 필드 추가를 선택합니다. 세 번째 중첩 수준의 하위 라벨을 만듭니다. processor-version-genai-9

  4. 스키마가 설정되면 자동 라벨 지정을 사용하여 중첩 수준이 3개인 문서에서 예측을 가져올 수 있습니다.

    processor-version-genai-10 processor-version-genai-11

교차 페이지 중첩 항목에 라벨 지정

pretrained-foundation-model-v1.5-2025-05-05 프로세서는 페이지 간 3단계 중첩을 지원합니다.

  1. 페이지 전체에 걸쳐 항목을 일반적으로 라벨링합니다. 참고: 라벨이 지정된 항목은 라벨이 지정된 페이지에만 표시되며 탐색 메뉴는 페이지마다 변경됩니다. 상위 항목을 고정하면 이 탐색 메뉴가 유지됩니다.

    processor-version-genai-25

  2. 페이지 전체에서 라벨을 지정할 하위 항목이 있는 상위 항목을 고정합니다.

    processor-version-genai-26

  3. 라벨을 지정할 하위 항목이 있는 페이지로 이동합니다.

processor-version-genai-27

데이터 세트 구성

프로세서 버전을 학습시키거나 업트레이닝하거나 평가하려면 문서 데이터 세트가 필요합니다. Document AI 프로세서는 사람처럼 예시를 통해 학습합니다. 데이터 세트는 성능 측면에서 프로세서 안정성을 지원합니다.

학습 데이터 세트

모델과 정확도를 개선하려면 문서에 대한 데이터 세트를 학습시키세요. 모델은 정답이 있는 문서로 구성됩니다.
  • 미세 조정의 경우 pretrained-foundation-model-v1.2-2024-05-10pretrained-foundation-model-v1.3-2024-08-31 버전의 새 모델을 학습시키려면 문서가 1개 이상 필요합니다.
  • 퓨샷의 경우 문서 5개가 권장됩니다.
  • 제로샷의 경우 스키마만 필요합니다.

테스트 데이터 세트

테스트 데이터 세트는 모델이 F1 점수 (정확도)를 생성하는 데 사용하는 데이터 세트입니다. 정답이 있는 문서로 구성됩니다. 모델이 얼마나 자주 올바른지 확인하기 위해 정답을 사용하여 모델의 예측 (모델에서 추출된 필드)을 올바른 답변과 비교합니다. 테스트 데이터 세트에는 pretrained-foundation-model-v1.2-2024-05-10pretrained-foundation-model-v1.3-2024-08-31에 대한 문서가 하나 이상 있어야 합니다.

속성 설명이 있는 맞춤 추출기

속성 설명을 사용하면 라벨이 지정된 필드가 어떤지 설명하여 모델을 학습시킬 수 있습니다. 각 항목에 대한 추가 컨텍스트와 통계를 제공할 수 있습니다. 이렇게 하면 모델이 사용자가 제공한 설명에 맞는 필드를 매칭하여 학습하고 추출 정확도를 개선할 수 있습니다. 속성 설명은 상위 항목과 하위 항목 모두에 지정할 수 있습니다.

속성 설명의 좋은 예로는 위치 정보와 속성 값의 텍스트 패턴이 있습니다. 이러한 정보는 문서에서 혼동을 일으킬 수 있는 잠재적 소스를 명확히 하는 데 도움이 됩니다. 명확하고 정확한 속성 설명은 특정 문서 구조나 콘텐츠 변형과 관계없이 더 안정적이고 일관된 추출을 촉진하는 규칙으로 모델을 안내합니다.

프로세서의 문서 스키마 업데이트

속성 설명을 설정하는 방법은 문서 스키마 업데이트를 참고하세요.

속성 설명과 함께 처리 요청 보내기

문서 스키마에 이미 설명이 설정되어 있는 경우 처리 요청 보내기의 안내에 따라 처리 요청을 보낼 수 있습니다.

속성 설명으로 프로세서 미세 조정

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • LOCATION: 프로세서의 위치입니다(예:
      ).
    • us - 미국
    • eu - 유럽 연합
  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • PROCESSOR_ID: 맞춤 프로세서의 ID입니다.
  • DISPLAY_NAME: 프로세서의 표시 이름입니다.
  • PRETRAINED_PROCESSOR_VERSION: 프로세서 버전 식별자입니다. 자세한 내용은 프로세서 버전 선택을 참고하세요. 예를 들면 다음과 같습니다.
    • pretrained-TYPE-vX.X-YYYY-MM-DD
    • stable
    • rc
  • TRAIN_STEPS: 모델 미세 조정을 위한 학습 단계입니다.
  • LEARN_RATE_MULTIPLIER: 모델 미세 조정의 학습률 승수입니다.
  • DOCUMENT_SCHEMA: 프로세서의 스키마입니다. DocumentSchema 표현을 참고하세요.

HTTP 메서드 및 URL:

POST https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process

JSON 요청 본문:

{
  "rawDocument": {
      "parent": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID",
         "processor_version": {
             "name": "projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/DISPLAY_NAME",
             "display_name": "DISPLAY_NAME",
             "model_type": "MODEL_TYPE_GENERATIVE",
         },
         "base_processor_version": "projects/PROJECT_ID/locations/us/processors/PROCESSOR_ID/processorVersions/PRETRAINED_PROCESSOR_VERSION",
         "foundation_model_tuning_options": {
             "train_steps": TRAIN_STEPS,
             "learning_rate_multiplier": LEARN_RATE_MULTIPLIER,
         }
         "document_schema": DOCUMENT_SCHEMA
      }
}

요청을 보내려면 다음 옵션 중 하나를 선택합니다.

curl

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process"

PowerShell

요청 본문을 request.json 파일에 저장하고 다음 명령어를 실행합니다.

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-documentai.googleapis.com/v1beta3/projects/PROJECT_ID/locations/LOCATION/processors/PROCESSOR_ID/processorVersions/PROCESSOR_VERSION:process" | Select-Object -Expand Content

다음 단계

특수 프로세서 업트레이닝