Gemma 모델 미세 조정

Gemma와 같은 생성형 인공지능 (AI) 모델을 미세 조정하면 모델의 동작이 수정됩니다. 일반적으로 Gemma는 특정 작업 또는 도메인에서의 성능을 개선하거나 고객 서비스와 같은 역할을 더 효과적으로 수행하기 위해 미세 조정됩니다. Gemma 모델은 개방형 가중치로 출시되므로 이러한 가중치를 수정하여 모델의 동작을 변경할 수 있습니다. Gemma 모델을 미세 조정하는 일반적인 단계는 다음과 같습니다.

프레임워크 선택

Gemma 모델은 다양한 AI 조정 프레임워크와 호환됩니다. 각 프레임워크는 다양한 이점을 제공하며 일반적으로 특정 모델 형식으로 제한됩니다. 다음은 다양한 프레임워크로 Gemma 모델을 조정하기 위한 가이드입니다.

Keras 형식, Safetensors, GGUF와 같이 의도한 배포 모델 형식이 선택한 프레임워크에서 출력으로 지원되는지 확인합니다.

데이터 수집

모델을 조정하려면 데이터가 필요합니다. 조정 데이터는 일반적으로 예상 응답이 포함된 입력 데이터 쌍으로 구성됩니다. 다양한 작업 또는 출력에 관한 학습을 위해 온라인에서 사용할 수 있는 공개 데이터 세트가 많이 있습니다. 예를 들어 자동차 부품 설명을 부품 번호로 번역하도록 Gemma 모델을 학습시키려면 데이터 세트에 다음이 포함될 수 있습니다.

training_data = [
  {"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
  {"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
  {"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]

Gemma 모델이 특정 태스크 또는 역할을 수행하도록 하려면 일반적으로 해당 태스크의 여러 변형을 보여주는 데이터 세트를 컴파일해야 합니다. 모델을 조정하는 데 필요한 데이터의 양은 목표, 특히 모델에서 원하는 행동 변화의 정도와 달성할 태스크 및 입력 데이터의 변동 수준에 따라 달라집니다.

일반적으로 작업 조정을 위한 소수의 데이터 세트로 시작하고 학습 매개변수를 조정하고 요구사항을 충족하는 작업 성능을 달성할 때까지 데이터를 추가해야 합니다. 일부 애플리케이션 예시에서는 20개 이하의 프롬프트 및 응답 쌍으로 Gemma 모델의 동작에 영향을 줄 수 있음을 보여줍니다. 자세한 내용은 Gemma로 비즈니스 이메일 AI 어시스턴트 빌드Gemma로 음성 언어로 작업을 참고하세요.

모델 조정 및 테스트

조정 프레임워크와 조정 데이터가 준비되면 Gemma 모델 조정 프로세스를 시작할 수 있습니다. 조정을 실행할 때는 조정 방법에 몇 가지 옵션이 있으며, 이 옵션에 따라 조정을 완료하는 데 필요한 리소스가 달라집니다. 또한 조정된 모델이 조정 후 원하는 방식으로 작동하는지 평가하기 위한 테스트 계획도 있어야 합니다.

파라미터 효율적인 튜닝

Gemma와 같은 개방형 가중치 모델을 미세 조정할 때는 모델의 모든 매개변수를 조정하거나 리소스 사용량이 적은 매개변수 효율적인 조정 기법을 사용하여 하위 집합을 업데이트할 수 있습니다. 전체 조정 접근 방식은 조정 데이터를 적용할 때 모델의 모든 매개변수에 대한 새 가중치를 계산한다는 것을 의미합니다. 이 접근 방식은 수십억 개의 매개변수에 대해 이러한 계산을 실행하므로 컴퓨팅 집약적이고 메모리 집약적입니다. 매개변수 효율적 미세 조정(PEFT)이라고 하는 리소스 집약도가 낮은 조정 접근 방식을 사용하면(예: LoRA(Low Rank Adapter) 조정) 컴퓨팅 리소스를 적게 사용하여 유사한 결과를 얻을 수 있습니다. LoRA를 사용하여 리소스를 적게 사용하면서 조정하는 방법에 관한 자세한 내용은 LoRA를 사용하여 Keras에서 Gemma 모델 미세 조정Hugging Face에서 Gemma 모델 미세 조정을 참고하세요.

조정된 모델 테스트

특정 작업에 맞게 모델을 조정한 후에는 모델이 실행할 작업 집합을 기준으로 모델의 성능을 테스트해야 합니다. 모델이 구체적으로 학습하지 않은 작업이나 요청으로 모델을 테스트해야 합니다. 조정된 모델을 테스트하는 방법은 모델에서 실행하려는 태스크와 모델의 입력과 출력을 얼마나 세부적으로 관리하는지에 따라 다릅니다. 생성형 모델 테스트를 관리하는 일반적인 방법은 성공, 실패, 경계 사례를 사용하는 것입니다.

  • 성공 테스트: 조정된 모델이 항상 성공적으로 실행될 수 있어야 한다는 요청입니다.
  • 실패 테스트: 조정된 모델이 항상 실행할 수 없거나 요청 시 명시적으로 실행을 거부해야 한다고 요청합니다.
  • 경계 테스트: 허용되는 출력 동작의 정의된 경계 또는 경계 집합 내에 있는 경우 조정된 모델이 실행할 수 있어야 한다는 요청입니다.

생성형 AI 애플리케이션의 오류 또는 경계 조건을 테스트할 때는 책임감 있는 생성형 AI 툴킷에 설명된 생성형 AI 안전 접근 방식, 기법, 도구도 적용해야 합니다.

모델 배포

튜닝을 완료하고 테스트를 성공적으로 완료한 후에는 모델을 배포할 차례입니다. 일반적으로 조정된 모델을 배포하는 방법은 선택한 프레임워크의 문서를 참고하세요.

LoRA 조정 가중치가 있는 모델을 배포하는 경우 이 기법을 사용하면 일반적으로 원본 모델과 LoRA 가중치가 있는 가중치를 모델의 추가 계산 레이어로 모두 배포합니다.