Gemma 형식 및 시스템 안내

Gemma 명령 조정 (IT) 모델은 학습 및 추론 시 모두 모든 명령 조정 예시를 추가 정보로 주석 처리하는 특정 포맷터로 학습됩니다. 형식 지정기에는 두 가지 목적이 있습니다.

  1. 대화에서 시스템, 사용자, 어시스턴트 역할과 같은 역할을 나타냅니다.
  2. 특히 멀티턴 대화에서 대화의 차례를 구분합니다.

아래에서는 Gemma에서 사용하는 제어 토큰과 사용 사례를 지정합니다. 제어 토큰은 토큰라이저에서 예약되어 있으며 토큰라이저에만 적용됩니다.

  • 사용자 차례를 나타내는 토큰: user
  • 모델 전환을 나타내는 토큰: model
  • 대화 차례의 시작을 나타내는 토큰: <start_of_turn>
  • 대화 턴의 끝을 나타내는 토큰: <end_of_turn>

다음은 대화의 예입니다.

<start_of_turn>user
knock knock<end_of_turn>
<start_of_turn>model
who is there<end_of_turn>
<start_of_turn>user
Gemma<end_of_turn>
<start_of_turn>model
Gemma who?<end_of_turn>

토큰 "<end_of_turn>\n"는 턴 구분자이고 프롬프트 접두사는 "<start_of_turn>model\n"입니다. 즉, '크레이머의 법칙이란 무엇인가요?'와 같은 질문으로 모델에 프롬프트를 표시하려면 다음과 같이 모델에 입력해야 합니다.

"<start_of_turn>user
What is Cramer's Rule?<end_of_turn>
<start_of_turn>model"

자체 데이터로 사전 학습된 Gemma 모델을 미세 조정하려는 경우 학습 및 추론 사용 사례 간에 일관성이 있는 한 제어 토큰에 이러한 스키마를 사용할 수 있습니다.

시스템 안내

Gemma의 명령 조정 모델은 usermodel이라는 두 가지 역할만 사용할 수 있도록 설계되었습니다. 따라서 system 역할 또는 시스템 차례는 지원되지 않습니다.

별도의 시스템 역할을 사용하는 대신 초기 사용자 프롬프트 내에 직접 시스템 수준 안내를 제공합니다. 다음 기능을 따르는 모델 명령을 사용하면 Gemma가 명령을 효과적으로 해석할 수 있습니다. 예를 들면 다음과 같습니다.

<start_of_turn>user
Only reply like a pirate.

What is the answer to life the universe and everything?<end_of_turn>
<start_of_turn>model
Arrr, 'tis 42,<end_of_turn>