Gemini API로 미세 조정

퓨샷 프롬프팅과 같은 프롬프트 설계 전략은 결과를 얻을 수 있습니다. 미세 조정은 모델의 성능을 개선할 수 있는 프로세스입니다. 모델이 특정 출력을 따르도록 지원하거나 요구사항을 제시하고 관련 예시가 있는 경우 확인할 수 있습니다

이 페이지에서는 Gemini API를 뒷받침하는 텍스트 모델을 미세 조정하는 방법을 안내합니다. 텍스트 서비스로 구성됩니다.

미세 조정 작동 방식

미세 조정의 목표는 특정 작업에 대한 모델의 성능을 확인할 수 있습니다 미세 조정은 모델에 학습 데이터를 제공하여 데이터 세트에 대한 작업을 수행할 수 있습니다 틈새 태스크의 경우 적당한 예시 개수로 모델을 조정하여 모델 성능을 크게 향상시킬 수 있습니다.

학습 데이터는 프롬프트 입력이 포함된 예시로 구성되어야 하며 예측되는 응답 출력을 예측할 수 있습니다 예시 데이터를 사용하여 모델을 직접 조정할 수도 있습니다. 확인할 수 있습니다 목표는 원하는 동작을 모방하도록 모델을 학습시키는 것입니다. 해당 동작이나 작업을 보여주는 많은 예를 제공하여

조정 작업을 실행할 때 모델은 작업에 도움이 되는 추가 매개변수를 학습합니다. 원하는 작업을 수행하거나 원하는 작업을 수행하는 데 필요한 정보를 있습니다. 그런 후 이러한 매개변수를 추론 시점에 사용할 수 있습니다. 디코더의 출력은 튜닝 작업은 새로운 모델인 학습한 매개변수와 원래 모델을 가져올 수 있습니다

데이터 세트 준비

미세 조정을 시작하려면 먼저 모델을 조정할 데이터 세트가 필요합니다. 대상 데이터 세트의 예시가 품질이 높아야 하는데 실제 입력과 출력을 표현해야 합니다.

형식

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

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

데이터 세트의 각 예에 프롬프트나 전문을 추가하면 도움이 될 수 있습니다. 조정된 모델의 성능을 개선할 수 있습니다 프롬프트나 프리앰블이 조정된 데이터를 기반으로 하는 프롬프트에도 살펴보겠습니다.

학습 데이터 크기

최소 20개의 예로 모델을 세부 조정할 수 있습니다. 추가 데이터 일반적으로 응답의 품질이 향상됩니다. 100개 사이를 타겟팅해야 합니다 애플리케이션에 따라 500개의 예시가 제공됩니다 다음 표에서는 다양한 일반적인 작업에 대한 텍스트 모델을 미세 조정하는 데 권장되는 데이터 세트 크기:

작업 데이터 세트에 있는 예의 개수
분류 100+
요약 100-500+
문서 검색 100+

조정 데이터 세트 업로드

데이터는 API를 사용하거나 Google에 업로드된 파일을 통해 인라인으로 전달됩니다. 살펴보겠습니다

가져오기 버튼을 클릭하고 대화상자의 안내에 따라 데이터를 가져옵니다. 파일에서 확인하거나 조정으로 가져올 예시가 있는 구조화된 프롬프트를 선택하세요. 데이터 세트로 그룹화됩니다.

클라이언트 라이브러리

클라이언트 라이브러리를 사용하려면 createTunedModel에 데이터 파일을 제공합니다. 있습니다. 파일 크기는 4MB로 제한됩니다. 자세한 조정 빠른 시작: Python을 참고하세요.

cURL

cURL을 사용하여 REST API를 호출하려면 training_data 인수 조정 빠른 시작: cURL을 사용하여 시작할 수 있습니다.

고급 조정 설정

조정 작업을 만들 때 다음과 같은 고급 설정을 지정할 수 있습니다.

  • 에포크: 전체 학습 세트에 대한 전체 학습 단계가 예시가 한 번 처리되었습니다.
  • 배치 크기: 하나의 학습 반복에 사용되는 예시 집합입니다. 이 배치 크기는 배치의 예 수를 결정합니다.
  • 학습률: 학습률이 모델을 반복할 때마다 강력하게 조정해야 합니다 예를 들어 학습률이 0.3이면 가중치와 편향이 3배 더 많이 조정됩니다. 0.1보다 강력합니다. 높은 학습률과 낮은 학습률은 사용 사례에 따라 조정해야 합니다
  • 학습률 배율: 학습률 배율로 모델의 원본 학습률과 일치합니다. 값이 1이면 있습니다. 1보다 큰 값은 학습률과 1 사이의 값을 증가시킵니다. 0은 학습률을 낮춥니다

다음 표에서는 기반 모델:

초매개변수 기본값 추천 조정
세대 5

5세대 이전에 손실이 고원하기 시작하면 더 작은 값을 사용합니다.

손실이 수렴하고 고원처럼 보이지 않으면 더 높은 값을 사용합니다.

배치 크기 4
학습률 0.001 데이터 세트가 작을 경우 더 작은 값을 사용하세요.

손실 곡선은 모델의 예측이 이상적인 예측에서 얼마나 벗어나는지 보여줍니다. 예측을 수행하는 방법을 보여줍니다. 이상적으로는 곡선의 최저점에서 학습을 진행함을 의미합니다. 예를 들어 아래 그래프는 에포크 4~6에서의 손실 곡선 정체를 보여줍니다. Epoch 매개변수를 4로 설정해도 동일한 성능을 얻을 수 있습니다.

모델의 손실 곡선을 보여주는 선 차트입니다. 선이 솟아 오른 채
그런 다음 급격히 거의 0까지 감소하고 레벨아웃합니다.
3 에포크 후에 생성됩니다

조정 작업 상태 확인

조정 작업 상태는 Google AI Studio에서 확인할 수 있습니다. 내 라이브러리 탭을 사용하거나 CSV 파일에서 조정된 모델의 metadata 속성을 사용하여 Gemini API를 사용하는 것이 좋습니다

오류 문제 해결하기

이 섹션에는 모델을 학습시키는 작업도 반복해야 합니다

인증

API 및 클라이언트 라이브러리를 사용하여 조정하려면 사용자 인증이 필요합니다. API 키 충분하지 않습니다. 'PermissionDenied: 403 Request had insufficient authentication scopes' 오류가 표시되면 사용자를 설정해야 합니다. 있습니다.

Python용 OAuth 사용자 인증 정보를 구성하려면 OAuth 설정 튜토리얼을 참고하세요.

취소된 모델

작업이 완료되기 전에 언제든지 미세 조정 작업을 취소할 수 있습니다. 하지만 취소된 모델의 추론 성능을 예측할 수 없습니다. 특히 다음과 같은 경우 조정 작업이 학습 초기에 취소됩니다. 다음과 같은 이유로 취소하신 경우 이전 에포크에서 학습을 중지하려면 새 조정을 만들어 에포크를 더 낮은 값으로 설정합니다.

다음 단계