Reddit Crush Post
Redditは、インターネット上で最も人気のあるコミュニティで、サブレディットと呼ばれる小さなトピックグループに分けられ、それぞれの投稿にはユーザーが返信できます。
私たちはいくつかのReddit Crushトピックからデータを収集し、LLamaモデルで微調整し、Redditの投稿を生成するサンプルアプリケーションを作成しました。(オンライン体験は一度に1人のユーザーしかサポートしていません。使用できない場合は、簡略化されたバージョンをお試しください。)
最初のReddit Crush投稿を生成する
オンライン体験ページを開き、"私は出会った"などのストーリーの最初を入力してください。
次に、生成ボタンをクリックすると、モデルが自動的にストーリーの残りを完成させます。プロットに満足していない場合は、いつでも生成を停止し、自分でストーリーを変更して生成を続けることができます。
"昨日"や"最近"など、好きなストーリーの始まりを思いつくことができ、モデルがストーリーを完成させます。
テキスト生成プロセス
このアプリケーションを例にして、テキスト生成のプロセスを体験してみましょう。
テキスト生成のロジックは比較的単純です。ストーリーの最初を入力し、モデルがそれを続けて書き込みます。生成をいつでも一時停止し、ストーリーを変更してから再開することができます。
テキスト生成
まず、テキストを生成するには、「昨日」「このかわいいひよこ」「...」などのオープニングを入力する必要があります。次に、下の生成ボタンをクリックして生成を開始します。生成を停止する必要がある場合は、停止ボタンをクリックします。生成されるテキストの最大長を制御するために、右端のmax_new_tokensを使用します。
パラメータの調整
異なる結果を生成するために、パラメータを調整することができます。
パラメータタブに切り替えます。
これらのパラメータを調整することで、生成されるテキストの多様性を制御することができます。
パラメータの具体的な意味については、以下の表を参照してください。
パラメータ | 機能 | 説明 |
---|---|---|
seed | ランダムシード | |
temperature | 出力ランダム性を制御する主要な要因 | 0 = 決定論(最も可能性の高いトークンのみを使用) 値が高いほど、より多様な結果が得られます。 |
Top-P | 出力ランダム性を制御する要因 | float<1に設定すると、最も可能性の高いトークンの確率の最小セットのみが生成に使用されます。 値が高いほど、より多様なランダム結果が得られます。 |
Top-K | 出力ランダム性を制御する要因 | 次の単語を、最も可能性の高い次の単語のリストから選択します。Top-Kが10に設定されている場合、最も可能性の高い10の可能性からのみ選択されます。 |
typical_p | 出力ランダム性を制御する要因 | "typical_p"パラメータが1より小さい値に設定されている場合、アルゴリズムは前のテキストコンテンツに基づいてランダムトークンよりも頻繁に現れるトークンを選択します。これにより、一部の一般的でないまたは関係のないトークンがフィルタリングされ、より意味のあるまたは関連性のあるトークンのみが選択されることができます。"typical_p"パラメータが1に設定されている場合、すべてのトークンがランダムトークンとその相対的な確率に関係なく選択されます。 |
repetition_penalty | 出力の繰り返しを制御するパラメータ | 1はペナルティなし 値が高いほど、繰り返しが少なくなります。 値が低いほど、繰り返しが多くなります。 |
encoder_repetition_penalty | 生成されたテキストと前のテキストの関連性に影響を与える | 1.0はペナルティなし 値が高いほど、前のテキストに関連する文脈にとどまる傾向が高くなります。 値が低いほど、前のテキストに関連する文脈から逸脱しやすくなります。 |
no_repeat_ngram_size | 生成されたテキストで繰り返しフレーズを許可するかどうかを制御する | 値が高いほど、生成されたテキストでより長いフレーズの繰り返しを防止し、生成されたテキストをより多様にします。 値が低いほど、単語または文字の繰り返しを防止し、生成されたテキストをよりユニークにします。 |
min_length | 生成されたテキストの最小長さ |