| <!--Copyright 2020 The HuggingFace Team. All rights reserved. | |
| Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with | |
| the License. You may obtain a copy of the License at | |
| http://www.apache.org/licenses/LICENSE-2.0 | |
| Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on | |
| an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the | |
| specific language governing permissions and limitations under the License. | |
| ⚠️ Note that this file is in Markdown but contain specific syntax for our doc-builder (similar to MDX) that may not be | |
| rendered properly in your Markdown viewer. | |
| --> | |
| # CTRL | |
| <div class="flex flex-wrap space-x-1"> | |
| <a href="https://huggingface.co/models?filter=Salesforce/ctrl"> | |
| <img alt="Models" src="https://img.shields.io/badge/All_model_pages-ctrl-blueviolet"> | |
| </a> | |
| <a href="https://huggingface.co/spaces/docs-demos/tiny-ctrl"> | |
| <img alt="Spaces" src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Spaces-blue"> | |
| </a> | |
| </div> | |
| ## Overview | |
| CTRL モデルは、Nitish Shirish Keskar*、Bryan McCann*、Lav R. Varshney、Caiming Xiong, Richard Socher によって [CTRL: A Conditional Transformer Language Model for Controllable Generation](https://arxiv.org/abs/1909.05858) で提案されました。 | |
| リチャード・ソーチャー。これは、非常に大規模なコーパスの言語モデリングを使用して事前トレーニングされた因果的 (一方向) トランスフォーマーです | |
| 最初のトークンが制御コード (リンク、書籍、Wikipedia など) として予約されている、約 140 GB のテキスト データ。 | |
| 論文の要約は次のとおりです。 | |
| *大規模な言語モデルは有望なテキスト生成機能を示していますが、ユーザーは特定の言語モデルを簡単に制御できません | |
| 生成されたテキストの側面。 16 億 3,000 万パラメータの条件付きトランスフォーマー言語モデルである CTRL をリリースします。 | |
| スタイル、コンテンツ、タスク固有の動作を制御する制御コードを条件付けるように訓練されています。制御コードは | |
| 生のテキストと自然に共生する構造から派生し、教師なし学習の利点を維持しながら、 | |
| テキスト生成をより明示的に制御できるようになります。これらのコードを使用すると、CTRL でどの部分が予測されるのかを予測することもできます。 | |
| トレーニング データにはシーケンスが与えられる可能性が最も高くなります。これにより、大量のデータを分析するための潜在的な方法が提供されます。 | |
| モデルベースのソース帰属を介して。* | |
| このモデルは、[keskarnitishr](https://huggingface.co/keskarnitishr) によって提供されました。元のコードが見つかる | |
| [こちら](https://github.com/salesforce/Salesforce/ctrl)。 | |
| ## Usage tips | |
| - CTRL は制御コードを利用してテキストを生成します。生成を特定の単語や文で開始する必要があります。 | |
| またはリンクして一貫したテキストを生成します。 [元の実装](https://github.com/salesforce/Salesforce/ctrl) を参照してください。 | |
| 詳しくは。 | |
| - CTRL は絶対位置埋め込みを備えたモデルであるため、通常は入力を右側にパディングすることをお勧めします。 | |
| 左。 | |
| - CTRL は因果言語モデリング (CLM) の目的でトレーニングされているため、次の予測に強力です。 | |
| シーケンス内のトークン。この機能を利用すると、CTRL は構文的に一貫したテキストを生成できるようになります。 | |
| *run_generation.py* サンプル スクリプトで確認できます。 | |
| - PyTorch モデルは、以前に計算されたキーと値のアテンション ペアである`past_key_values`を入力として受け取ることができます。 | |
| TensorFlow モデルは`past`を入力として受け入れます。 `past_key_values`値を使用すると、モデルが再計算されなくなります。 | |
| テキスト生成のコンテキストで事前に計算された値。 [`forward`](model_doc/ctrl#transformers.CTRLModel.forward) を参照してください。 | |
| この引数の使用法の詳細については、メソッドを参照してください。 | |
| ## Resources | |
| - [テキスト分類タスクガイド](../tasks/sequence_classification) | |
| - [因果言語モデリング タスク ガイド](../tasks/language_modeling) | |
| ## CTRLConfig | |
| [[autodoc]] CTRLConfig | |
| ## CTRLTokenizer | |
| [[autodoc]] CTRLTokenizer | |
| - save_vocabulary | |
| <frameworkcontent> | |
| <pt> | |
| ## CTRLModel | |
| [[autodoc]] CTRLModel | |
| - forward | |
| ## CTRLLMHeadModel | |
| [[autodoc]] CTRLLMHeadModel | |
| - forward | |
| ## CTRLForSequenceClassification | |
| [[autodoc]] CTRLForSequenceClassification | |
| - forward | |
| </pt> | |
| <tf> | |
| ## TFCTRLModel | |
| [[autodoc]] TFCTRLModel | |
| - call | |
| ## TFCTRLLMHeadModel | |
| [[autodoc]] TFCTRLLMHeadModel | |
| - call | |
| ## TFCTRLForSequenceClassification | |
| [[autodoc]] TFCTRLForSequenceClassification | |
| - call | |
| </tf> | |
| </frameworkcontent> | |