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 가중치는 모델의 추가 계산 레이어로 사용됩니다.