Upgrade to Pro — share decks privately, control downloads, hide ads and more …

独断と偏見による俺的プロンプトTierリスト

 独断と偏見による俺的プロンプトTierリスト

キャラクターの性格や口調のような表面的な特徴だけでなく、癖やキャラクター自身の経験のような内面的な特徴までを再現するプロジェクト『AIアイネスフウジン』の開発に1年以上取り組んできた私が、『AIアイネスフウジン』の開発で得たノウハウを説明しながら著名なモデルのプロンプトフォーマットをランク付けします。

Sakusakumura

July 30, 2024
Tweet

More Decks by Sakusakumura

Other Decks in Technology

Transcript

  1. 8 Alpaca Below is an instruction that describes a task,

    paired with an input that provides further context. Write a response that appropriately completes the request. ### Instruction: {Instruction} ### Input: {Input} ### Response: {Output}
  2. 10 会話の終わりと</s> ### Instruction: ... ### Input: ... ### Response:

    ... </s> ### Instruction: ... ### Input: ... ### Response: ... ### Instruction: ... ### Input: ... ### Response: ...</s> Responseの後</s>を出力しない 場合がある??? ①と②を区別できるか? ① ② ・①はResponseの後</s>を出力 ・②はResponseの後</s>を出力せず Instructionが続く
  3. 11

  4. 13 Vicuna USER: {input} ASSISTANT: {output} USER: {input} ASSISTANT: {output}

    ... bilingual-gpt-neox ユーザー: {input} システム: {output} ユーザー: {input} システム: {output} ... RWKV raven USER: {input} ASSISTANT: {output} USER: {input} ASSISTANT: {output} ... ※Alpacaよりも混同しやすい
  5. 15 Llama 2 [INST] <<SYS>> {system prompt} <</SYS>> {input} [/INST]

    {output} [INST] {input} [/INST] {output}</s> ※Special tokenは<s>, </s>, <unk>のみ
  6. 16 Llama 2 ・システムとユーザ入力が明確に分離されている <<sys>> ... <</sys>> [INST] ... [/INST]

    ・改行を含む入出力に強い(囲まれているため) ・拡張性が少ない(ユーザー&アシスタントのみ) ・[INST]が複数トークンで分割されている →学習難易度の増加 ・どこで止まるのか不明瞭
  7. 17

  8. 18 Mistral Instruct v0.1-0.2 {system} [INST] {input} [/INST] {output} </s>

    [INST] {input} [/INST] {output} </s> [INST] {input} [/INST] {output} </s> ...
  9. 20

  10. 23

  11. 25 Gemma / Gemma 2 Positive: ・入出力が明確に分離されている ・改行を含む入出力に強い(囲まれているため) ・<end_of_turn>がストップワードのように機能する ・Special

    Tokenが1トークンとして扱われているため モデルが理解しやすい Negative: ・ロールが囲まれていないため、Llama 3よりも若干 不安定か?
  12. 27

  13. 28 Mistral Instruct v0.3 [INST] {input} [/INST] {output} [INST] {input}

    [/INST] {output} ... [INST], [/INST] → 1トークン [TOOL_CALLS], [AVAILABLE_TOOLS], [/AVAILABLE_TOOLS], [TOOL_RESULTS], [/TOOL_RESULTS] も追加されていて1トークンで処理できる
  14. 30

  15. 31 AInes v3 <s>{system instruction} [CONTEXT_START] <instruction>{Description of context section}</instruction>

    <character_information: {role1}>{description1}</character_information> <character_information: {role2}>{description2}</character_information> ... <background>{situation of this conversation}</background> [CONTEXT_END] [CHAT_START] <instruction>{description of chat section}</instruction> <voiceline: {role}>{content}</voiceline> <voiceline: {role}>{content}</voiceline> ... <final_turn_indicator> <voiceline: {role}>{content}</voiceline> </final_turn_indicator> [CHAT_END]</s>
  16. 32 AInes v3 <s>{system instruction} [CONTEXT_START] <instruction>{Description of context section}</instruction>

    <character_information: {role1}>{description1}</character_information> <character_information: {role2}>{description2}</character_information> ... <background>{situation of this conversation}</background> [CONTEXT_END] [CHAT_START] <instruction>{description of chat section}</instruction> <voiceline: {role}>{content}</voiceline> <voiceline: {role}>{content}</voiceline> ... <final_turn_indicator> <voiceline: {role}>{content}</voiceline> </final_turn_indicator> [CHAT_END]</s> 登場人物の説明 会話の状況指定 会話部分
  17. 33 AInes v3 [CONTEXT_START] <instruction>{このセクションの説明}</instruction> <character_information: {role1}>{description1}</character_information> <character_information: {role2}>{description2}</character_information> ...

    <background>{situation of this conversation}</background> [CONTEXT_END] ・Llama 3と同じ要領で、タグの役割と内容を明確に ・htmlのように内部に属性として名前を持たせる →様々なroleに柔軟に対応
  18. 34 AInes v3 [CHAT_START] <instruction>{description of chat section}</instruction> <voiceline: {role}>{content}</voiceline>

    <voiceline: {role}>{content}</voiceline> ... <final_turn_indicator> <voiceline: {role}>{content}</voiceline> </final_turn_indicator> [CHAT_END]</s> 書き言葉ではなく話し言葉なので「voiceline」を使用 (学習データ量の少なさにより、1トークンでは上手くいかなかった) 最後のターンを示す目印
  19. 36

  20. 38 AInes 今後の予定 指示チューニング済みモデルのファインチューニング →2023/07 基盤モデルのファインチューニング →2023/11 基盤モデルの追加学習&ファインチューニング →2024/11 ?

    追加学習の学習データ作成中です! 手が足りてないのでご協力をお願いします! 詳しくはスレッド『 Common Crawlを落としたい』へ