언어 기반 모델 조정

경우에 따라 퓨샷 프롬프트와 같은 프롬프트 디자인 전략으로는 모델 동작을 맞춤설정하는 데 충분하지 않을 수 있습니다. 모델 조정을 사용하여 특정 작업에 대한 모델의 성능을 개선하거나 안내가 충분하지 않은 경우 모델이 특정 출력 요구 사항을 준수하도록 돕습니다. 이 페이지에서는 Vertex AI에서 기반 모델을 조정하는 방법을 보여주고 최상의 결과를 얻기 위한 방법을 안내합니다.

모델 조정의 원리

모델 조정의 목표는 특정 태스크에 맞게 모델 성능을 추가로 향상시키는 것입니다. 모델 조정은 모델에 많은 태스크 예시가 포함된 학습 데이터 세트를 제공하는 방식으로 작동합니다. 틈새 태스크의 경우 적당한 예시 개수로 모델을 조정하여 모델 성능을 크게 향상시킬 수 있습니다.

학습 데이터는 텍스트 간 변환 형식의 감독 기반 학습 데이터 세트로 구성됩니다. 데이터의 각 레코드 또는 행에 입력 텍스트, 즉 프롬프트가 포함되고 모델의 예상 출력이 뒤에 옵니다. 목표는 해당 동작 또는 태스크를 설명하는 많은 예시를 제공하여 원하는 동작 또는 태스크를 모방하도록 모델을 학습시키는 것입니다.

조정 작업을 실행하면 모델이 원하는 태스크를 수행하거나 원하는 동작을 학습하는 데 필요한 정보를 인코딩할 수 있게 해주는 추가 매개변수가 모델에 학습됩니다. 그런 후 이러한 매개변수를 추론 시점에 사용할 수 있습니다. 조정 작업의 결과는 새로 학습된 매개변수와 원래 모델이 조합된 새로운 모델로 나타납니다.

모델 조정을 위한 워크플로

Vertex AI의 모델 조정 워크플로는 다음과 같습니다.

  1. 모델 조정 데이터 세트를 준비합니다.
  2. 모델 조정 데이터 세트를 Cloud Storage 버킷에 업로드합니다.
  3. 모델 조정 작업을 만듭니다.

모델 조정이 완료되면 조정된 모델이 같은 이름의 Vertex AI 엔드포인트에 자동으로 배포됩니다. 또한 Generative AI Studio에서 새 프롬프트를 만들 때 사용할 모델로 선택할 수 있습니다.

프로덕션 데이터와 일관성 유지

데이터 세트에 포함된 예시는 예상되는 프로덕션 트래픽과 일치해야 합니다. 데이터 세트에 특정 형식, 키워드, 안내 또는 정보가 포함된 경우 프로덕션 데이터의 형식이 동일한 방식으로 지정되어야 하며 동일한 안내를 포함해야 합니다.

예를 들어 데이터 세트의 예시에 "question:""context:"가 포함된 경우 프로덕션 트래픽 형식 지정 시 "question:""context:"가 데이터 세트 예시를 표시하는 것과 동일한 순서로 포함되어야 합니다. 컨텍스트를 제외하면 데이터 세트 예시에 정확한 질문이 있더라도 모델이 패턴을 인식하지 못합니다.

Cloud Storage에 조정 데이터 세트 업로드

새 Cloud Storage 버킷을 만들거나 기존 버킷을 사용하여 데이터 세트 파일을 저장할 수 있습니다. 버킷의 리전은 중요하지 않지만 모델 조정을 실행하려는 동일한 Google Cloud 프로젝트에 있는 버킷을 사용하는 것이 좋습니다.

버킷이 준비되면 데이터 세트 파일을 버킷에 업로드합니다.

모델 조정 작업 만들기

Vertex AI는 감독 기반 미세 조정(SFT) 및 인간 피드백 기반 강화 학습(RLHF)을 지원합니다.

감독 기반 미세 조정 사용

감독 기반 미세 조정은 라벨 데이터를 사용해서 LLM을 학습시킵니다. 다음 기반 모델은 감독 기반 미세 조정을 지원합니다.

SFT로 텍스트 생성 모델을 조정하는 방법은 텍스트 모델 조정을 참조하세요. SFT로 코드 생성 및 코드 채팅 모델을 조정하는 방법은 코드 모델 조정을 참조하세요.

RLHF 모델 미세 조정 사용(미리보기)

인간 피드백 기반 강화 학습(RLHF)을 사용하여 모델을 조정할 수 있습니다. RLHF는 인간 피드백을 사용하여 언어 모델을 최적화합니다. 인간 피드백을 사용하여 모델을 조정하면 인간의 선호도에 맞게 모델을 조정하고 태스크에 대해 인간의 직관이 복잡한 시나리오에서 유해한 결과를 줄일 수 있습니다. 예를 들어 RLHF는 바다에 대한 2개의 시를 인간에게 제시하고 선호하는 시를 선택하도록 함으로써 바다에 대한 시를 쓰는 방법과 같은 모호한 태스크에 도움이 될 수 있습니다.

다음 모델은 RLHF 조정을 지원합니다.

  • 텍스트 생성 기반 모델 text-bison@001. 자세한 내용은 텍스트 생성 모델을 참조하세요.
  • t5-small, t5-large, t5-xl, t5-xxl Flan 텍스트 간 전송 Transformer(Flan-T5) 모델. Flan-T5 모델은 텍스트 분류, 언어 번역, 질문 응답과 같은 태스크를 수행하도록 미세 조정할 수 있습니다. 자세한 내용은 Flan-T5 체크포인트를 참조하세요.

RLHF 조정은 선택한 리전을 기준으로 가속기 유형과 개수를 설정합니다. us-central1의 작업에는 8개의 Nvidia A100 80GB가 사용됩니다. europe-west4의 작업에는 32개의 TPU v3가 사용됩니다.

Python용 Vertex AI SDK 또는 Google Cloud 콘솔을 사용하여 RLHF로 모델을 조정할 수 있습니다.

Python용 Vertex AI SDK

Python용 Vertex AI SDK를 사용하여 RLHF로 모델을 조정하는 방법을 알아보려면 Colab, GitHub, Vertex AI Workbench로 다음 노트북을 열고 실행합니다.

Google Cloud 콘솔

Google Cloud 콘솔을 사용해서 RLHF 조정으로 텍스트 모델을 조정하려면 다음 단계를 수행합니다.

  1. Google Cloud 콘솔의 Vertex AI 섹션에서 Generative AI Studio 페이지로 이동합니다.

    Generative AI Studio로 이동

  2. 조정 탭을 클릭합니다.
  3. 조정된 모델 만들기를 클릭합니다.
  4. 인간 피드백 기반 강화 학습(RLHF)을 클릭합니다.
  5. 계속을 클릭합니다.
  6. 모델 세부정보를 다음과 같이 구성합니다.
    • 모델 이름: 조정된 모델의 이름을 입력합니다.
    • 기본 모델: 조정하려는 기반 모델을 선택합니다.
    • 보상 학습 단계: 보상 모델을 학습시킬 때 사용할 단계 수를 입력합니다. 기본값은 1,000입니다.
    • 보상 학습률 배수: 보상 모델을 학습시킬 때 학습률에 영향을 주는 부동 소수점 값을 입력합니다. 기본 학습률을 늘리려면 더 높은 값을 입력합니다. 기본 학습률을 줄이려면 더 낮은 값을 입력합니다. 기본값은 1.0입니다.
    • 강화 학습 단계: 강화 학습을 사용하여 기본 모델을 조정할 때 수행할 단계 수를 입력합니다. 기본값은 1,000입니다.
    • 강화 학습률 배수: 강화 모델을 학습시킬 때 학습률에 영향을 주는 부동 소수점 값을 입력합니다. 기본 학습률을 늘리려면 더 높은 값을 입력합니다. 기본 학습률을 줄이려면 더 낮은 값을 입력합니다. 기본값은 1.0입니다.
    • 작업 디렉터리: 모델을 조정할 때 아티팩트가 저장되는 Cloud Storage 위치를 입력합니다.
    • 리전: 모델 조정이 수행되는 리전을 입력합니다. 지원되는 리전은 다음과 같습니다.
      • us-central1: 8개의 Nvidia A100 80GB를 사용합니다.
      • europe-west4: TPU v3 포드의 32개 코어를 사용합니다.
  7. 계속을 클릭합니다.
  8. 인간 선호도 데이터 세트에서 보상 모델을 만드는 데 사용되는 인간 선호도 데이터 세트를 업로드하거나 선택합니다. 보상 모델은 강화 학습 중 인간 선호도의 서로게이트입니다. 학습 중 보상 모델이 인간 선호도를 학습하는 데 필요한 데이터가 충분히 제공되도록 하려면 5,000~10,000개의 예시가 권장됩니다. 데이터 세트 파일을 업로드하려면  Cloud Storage에 JSONL 파일 업로드를 선택합니다. 그렇지 않고 인간 선호도 데이터 세트 파일이 Cloud Storage 버킷에 이미 있으면  Cloud Storage의 기존 JSONL 파일을 선택합니다.
  9. 프롬프트 데이터 세트에서 데이터 세트 파일을 업로드하려면  Cloud Storage에 JSONL 파일 업로드를 선택합니다. 그렇지 않고 프롬프트 데이터 세트 파일이 Cloud Storage 버킷에 이미 있으면  Cloud Storage의 기존 JSONL 파일을 선택합니다.
  10. 조정 시작을 클릭합니다.

조정 작업 상태 확인

모델 조정 작업의 상태를 확인하려면 Google Cloud 콘솔에서 Vertex AI Pipelines 페이지로 이동합니다. 이 페이지에는 텍스트 및 코드 모델 조정 작업의 상태가 표시됩니다.

파이프라인으로 이동

또는 모델 조정 작업이 완료되거나 실패될 때 이메일 알림을 받을 수 있도록 Vertex AI Pipelines에 대해 이메일 알림을 구성할 수 있습니다.

가격 책정

감독 기반 조정과 인간 피드백 기반 강화 학습(RLHF)을 모두 포함하여 조정을 수행하기 위해서는 Vertex 커스텀 학습과 동일한 요율로 학습 중 소비되는 컴퓨팅 리소스에 대한 비용을 지불합니다.

조정된 모델에 대한 예측을 위해서는 Vertex AI에서 생성형 AI 지원 가격 책정에 설명된 대로 기본 모델과 동일한 요율로 비용을 지불합니다.

다음 단계