5.2 KiB
CTRL
Overview
CTRL モデルは、Nitish Shirish Keskar*、Bryan McCann*、Lav R. Varshney、Caiming Xiong, Richard Socher によって CTRL: A Conditional Transformer Language Model for Controllable Generation で提案されました。 リチャード・ソーチャー。これは、非常に大規模なコーパスの言語モデリングを使用して事前トレーニングされた因果的 (一方向) トランスフォーマーです 最初のトークンが制御コード (リンク、書籍、Wikipedia など) として予約されている、約 140 GB のテキスト データ。
論文の要約は次のとおりです。
大規模な言語モデルは有望なテキスト生成機能を示していますが、ユーザーは特定の言語モデルを簡単に制御できません 生成されたテキストの側面。 16 億 3,000 万パラメータの条件付きトランスフォーマー言語モデルである CTRL をリリースします。 スタイル、コンテンツ、タスク固有の動作を制御する制御コードを条件付けるように訓練されています。制御コードは 生のテキストと自然に共生する構造から派生し、教師なし学習の利点を維持しながら、 テキスト生成をより明示的に制御できるようになります。これらのコードを使用すると、CTRL でどの部分が予測されるのかを予測することもできます。 トレーニング データにはシーケンスが与えられる可能性が最も高くなります。これにより、大量のデータを分析するための潜在的な方法が提供されます。 モデルベースのソース帰属を介して。
このモデルは、keskarnitishr によって提供されました。元のコードが見つかる こちら。
Usage tips
- CTRL は制御コードを利用してテキストを生成します。生成を特定の単語や文で開始する必要があります。 またはリンクして一貫したテキストを生成します。 元の実装 を参照してください。 詳しくは。
- CTRL は絶対位置埋め込みを備えたモデルであるため、通常は入力を右側にパディングすることをお勧めします。 左。
- CTRL は因果言語モデリング (CLM) の目的でトレーニングされているため、次の予測に強力です。 シーケンス内のトークン。この機能を利用すると、CTRL は構文的に一貫したテキストを生成できるようになります。 run_generation.py サンプル スクリプトで確認できます。
- PyTorch モデルは、以前に計算されたキーと値のアテンション ペアである
past_key_values
を入力として受け取ることができます。 TensorFlow モデルはpast
を入力として受け入れます。past_key_values
値を使用すると、モデルが再計算されなくなります。 テキスト生成のコンテキストで事前に計算された値。forward
を参照してください。 この引数の使用法の詳細については、メソッドを参照してください。
Resources
CTRLConfig
autodoc CTRLConfig
CTRLTokenizer
autodoc CTRLTokenizer - save_vocabulary
CTRLModel
autodoc CTRLModel - forward
CTRLLMHeadModel
autodoc CTRLLMHeadModel - forward
CTRLForSequenceClassification
autodoc CTRLForSequenceClassification - forward
TFCTRLModel
autodoc TFCTRLModel - call
TFCTRLLMHeadModel
autodoc TFCTRLLMHeadModel - call
TFCTRLForSequenceClassification
autodoc TFCTRLForSequenceClassification - call