114 lines
5.2 KiB
Markdown
114 lines
5.2 KiB
Markdown
<!--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>
|