license: apache-2.0
thumbnail: https://cdn-uploads.huggingface.co/production/uploads/6625f4a8a8d1362ebcc3851a/hIZ2ZcaDyfYLT9Yd4pfOs.jpeg
language:
- en
base_model:
- Qwen/QwQ-32B
library_name: transformers
pipeline_tag: text-generation
QwQ-32B-ArliAI-RpR-v4
画像はArli AI Image Generationで生成 https://www.arliai.com/image-generation
RpR v4の変更点:
ArliAI史上最高のRP/クリエイティブモデルが再び登場。
RpRシリーズ概要: RPMaxを基盤とした推論機能の構築
RpR(RolePlay with Reasoning)はArliAIの新しいモデルシリーズです。このシリーズはRPMaxシリーズで開発された成功したデータセット選定方法論と学習手法を直接継承しています。
RpRモデルはRPMaxで使用された精選・重複排除済みRPおよびクリエイティブライティングデータセットを使用し、多様性に焦点を当てることで高い創造性を確保し、コンテキスト間の繰り返しを最小限に抑えています。RPMaxに慣れ親しんだユーザーは、他のRP用にファインチューンされたモデルとは異なる、独自の非反復的ライティングスタイルを認識するでしょう。
QwQが容易に学習可能な最初の高性能オープンソース推論モデルとしてリリースされたことで、利用可能な指示およびクリエイティブライティング推論データセットには各例につき1つの応答しか含まれていないことが明らかになりました。この種の単一応答データセットは、長いマルチターンチャットで出力品質の低下を引き起こします。そのためArli AIは、長いマルチターンチャットが可能な真のRPモデルを作成することを決定しました。
RpRを作成するため、まず既存の既知の良質なRPMaxデータセットを推論データセットに再処理することで、推論RPデータセットを実際に作成する必要がありました。これはベースQwQ Instructモデル自体を使用して、RPMaxデータセットの会話例における各ターンの推論プロセスを作成することで可能となり、その後さらに洗練され、推論がデータセットの実際の応答例と一致するようにしました。
もう1つの重要な点は、モデルが推論ブロックを推論時と同じ方法で提示する例で学習されるようにすることです。つまり、コンテキスト内で推論ブロックを見ることはありません。これを実現するため、axolotlを使用して手動のテンプレートフリーセグメントデータセットで学習を完了し、モデルがコンテキスト内で推論ブロックを見るように学習されないようにしました。これは推論時と同様の使用方法です。
このデータセットと方法でQwQを学習した結果、長いマルチターンRPチャットでも一貫して首尾一貫した興味深い出力が得られます。これは私たちの知る限り、RPおよびクリエイティブライティング向けに正しく学習された最初の真の推論モデルです。
モデルは https://arliai.com でアクセス可能で、モデルランキングページも https://www.arliai.com/models-ranking にあります。
新しいDiscordサーバー https://discord.com/invite/t75KbPgwhk またはサブレディット https://www.reddit.com/r/ArliAI/ で質問してください。
モデル説明
QwQ-32B-ArliAI-RpR-v4はRpRシリーズの第3弾リリースです。これは32億パラメータモデルで、精選されたRPMaxデータセットに基づくRpRデータセットを使用してファインチューンされ、長いマルチターンチャットで推論能力を維持する技術が組み込まれています。
推奨サンプラー
- RpRモデルは繰り返しペナルティタイプのサンプラー(XTCやDRYなどの高度なものも含む)と相性が良くありません。
- シンプルなサンプラー設定で最も良く機能し、長時間の推論(高い最大トークン数)も可能にする必要があります。
- このリポジトリのファイルセクションにアップロードされたSTマスターエクスポートもダウンロードできます。
まず以下の設定から始めることを推奨します:
- 温度: 1.0
- MinP: 0.02
- TopK: 40
- 応答トークン: 2048+
仕様
- ベースモデル: QwQ-32B
- 最大コンテキスト長: Yarn使用時最大128K(ベースQwQと同様にネイティブ32K)
- パラメータ: 32B
- 推論モデル: はい
学習詳細
- シーケンス長: 16384
- エポック: 1エポック学習(RPMax手法から継承)
- ファインチューニング方法: RS-QLORA+(Rank-Stabilized LoRA + LoRA Plus 8x)
- ランク/アルファ: 128-rank 128-alpha
- 学習率: 0.00001
- スケジューラー: Rex
- 勾配累積: 32
素晴らしい学習グラフ :)
量子化
- BF16: https://huggingface.co/ArliAI/QwQ-32B-ArliAI-RpR-v4
- GGUF: https://huggingface.co/ArliAI/QwQ-32B-ArliAI-RpR-v4-GGUF
STで推論モデルを正しく使用する方法
一般的な推論モデルでは、以下を確認する必要があります:
- プレフィックスは<think>のみ、サフィックスは</think>のみに設定(スペースや改行なし)
- 返信は<think>で開始
- 「常にキャラクター名を追加」はチェックなし
- 「名前を含める」は「never」に設定
- 常にチャットテンプレートも使用モデルに準拠する必要があります
注: 推論モデルは「名前を含める」が「never」に設定されている場合にのみ正しく機能します。これは、ユーザーターンのeosトークンの直後に<think>トークンが続き、応答を出力する前に推論を開始することを常に期待するためです。「名前を含める」を有効にすると、「セラフィナ:<eos_token>」のように常にキャラクター名が末尾に追加され、モデルが応答すべきか推論すべきか混乱します。
その他のサンプラーパラメータは通常通り自由に設定できます。
思考ブロック内に推論が表示されない場合、設定がこの例に従っていないか、STバージョンが古すぎて推論ブロックの自動解析ができないかのどちらかです。
応答全体が推論ブロック内にある場合、<think>と</think>の推論トークン接頭辞・接尾辞に余分なスペースや改行があるか、モデルがこれらのトークン間に常に推論を配置するほど賢い推論モデルではない可能性があります。
すべて正しく設定すると、次のようになります:
詳細: RPMax基盤(データセットと学習哲学)
以下のセクションでは、RPMax用に開発されRpRシリーズの基盤となったデータセットと学習方法論の核心となる哲学について詳しく説明します。
目標: 繰り返しの削減と創造性の向上
RPMaxとRpRの両方で使用されるデータセット選定の目標は、繰り返しを減らし、さまざまな状況で創造的に書くモデルの能力を高めることです。つまり、予測可能な決まり文句に陥ることなく、非常に異なる応答を出力するモデルを作成することです。
繰り返しと創造性とは何か?
まず、創造性とはモデルが作成可能な出力の多様性を意味するべきです。創造性を文章の美しさと混同しないでください。モデルが小説家のように快適に書く方法は、創造的ライティングではありません。これは単にモデルが特定の快適なライティングスタイルを持っているだけです。したがって、美しく書くモデルが必ずしも創造的モデルとは限りません。
繰り返しと創造性は本質的に絡み合っており、モデルが反復的であれば、新しいことを書くことができず、以前に作成した類似の応答しか繰り返せないため、非創造的とも言えます。繰り返しには実際には2つの非常に異なる形態があります。
コンテキスト内繰り返し: モデルが反復的であると人々が言うとき、通常は単一会話内で同じフレーズを繰り返すモデルを指します。例として、キャラクターが「髪を払いのけて...」と言い、その後その「髪を払いのけて...」をそのキャラクターの他のすべての行動に前置詞として使い始める場合です。
モデルが退屈であると言えますが、実際の人のライティングでも、この種の繰り返しが意図的である可能性があり、微妙にポイントを証明したり、特定のシナリオでキャラクターの特徴を展示したりする場合があります。したがって、このタイプの繰り返しは必ずしも悪くなく、モデルにこれを完全に控えさせることは必ずしもモデルのライティング能力の向上につながるわけではありません。
この点に関して、RPMaxとRpRはまだこのタイプの繰り返しを排除することに焦点を当てていないため、出力にコンテキスト内繰り返しが見られる場合があります。これを排除することはRPMaxとRpRシリーズモデルの次の大きなステップとなります。
コンテキスト間繰り返し: 2番目のより悪いタイプの繰り返しは、モデルが非常に異なる状況で同じフレーズや決まり文句を繰り返す傾向です。例として、モデルが「背筋が凍る」という有名なフレーズを、そのフレーズに必ずしも合わない全く異なる会話で繰り返す場合です。
このタイプの繰り返しは常に悪いものであり、モデルがトレーニングデータセットで頻繁に見られる「創造的ライティング」スタイルに過剰適合している兆候です。モデルのコンテキスト間繰り返しの傾向は、通常、モデルがストーリーを書く際に類似した反復的な名前を選択する方法にも見られます。例えば有名な「エララ」や「ささやきの森」などの名前です。
RPMaxとRpRのデータセット選定の主な目的は、コンテキスト間繰り返しを減らすことで高度に創造的なモデルを作成することです。これは、異なる会話を通じて続く繰り返しのタイプです。これは、データセットに異なる例エントリで同じ状況やキャラクターの繰り返しがないことを確認することで対処されます。
データセット選定
このデータセット(RPMaxおよび現在のRpRを含む)で学習されたモデルの成功は、学習方法とファインチューニング用に作成された独自のデータセットによるものです。これには、Hugging Faceから入手可能なできるだけ多くのオープンソースのクリエイティブライティングおよびRPデータセットが含まれており、純粋に合成的な生成物であるデータセットを選別しています。これらはしばしばモデルを鈍らせ、GPT-isms(低品質な模倣)を学習させるだけで役に立ちません。
次にLlama 3.1 8B(または同様に有能なモデル)を使用して、これらのデータセットに描かれているキャラクターと状況のデータベースを作成し、これらのデータセットを重複排除して、キャラクターや状況の単一エントリのみが存在するようにします。
ファインチューニングの黄金律
初期の事前学習段階では、より多くのデータを投入すればするほど大部分で良くなるのとは異なり、モデルをファインチューニングする際の黄金律は量ではなく、量より質です。したがって、ここで使用されるデータセットは、データセット内で繰り返されるキャラクターや状況を含めた場合よりも実際には桁違いに小さくなりますが、最終結果は単なる別のクリエイティブライティング/RPモデルの「近親交配」のように感じられないモデルです。
学習パラメータと非従来的手法
通常の方法は、低い学習率と高い勾配累積で損失の安定性を高め、損失が許容できるまで学習実行を複数エポック行うことです。
しかし、RPMaxとRpRの方法論は、単一エポックのみを使用し、低い勾配累積と通常より高い学習率を採用しています。学習中の損失曲線は実際には不安定で上下に大きく跳ねますが、平滑化すると時間とともに着実に減少しています。理論的には、これによりモデルはデータセットの各個別の例からより多く学習でき、複数のエポックを使用して同じ例を2回示さないことで、モデルが単一のキャラクターやストーリーの決まり文句に固執するのを防ぎます。
学習中の損失の上下は、モデルがデータセットの新しいエントリで学習されると、モデルが以前に類似の例を見たことがないため、例エントリと類似した答えを予測できないためです。一方、比較的高い最終損失1.0またはそれより少し高い値は実際には許容されます。なぜなら、目標は学習に使用されるデータセットと全く同じように出力できるモデルを作成することではなく、独自のスタイルの応答を作成できるほど創造的なモデルを作成することだったからです。
これは、特定のドメインでモデルを学習させ、会社の内部知識ベースでモデルを学習させる場合のように、モデルが例データセットのように確実に出力できる必要がある場合とは異なります。
試してみてください!
モデルの好みは主観的なものなので、ぜひQwQ-32B-ArliAI-RpR-v4を自分で試してください。良いフィードバックも悪いフィードバックも常に貴重であり、将来のRPMaxおよびRpRモデルの改善に役立ちます。