8.9 KiB
発電用ユーティリティ
このページには、[~generation.GenerationMixin.generate
] で使用されるすべてのユーティリティ関数がリストされています。
出力を生成する
[~generation.GenerationMixin.generate
] の出力は、次のサブクラスのインスタンスです。
[~utils.ModelOutput
]。この出力は、返されたすべての情報を含むデータ構造です。
[~generation.GenerationMixin.generate
] によって作成されますが、タプルまたは辞書としても使用できます。
以下に例を示します。
from transformers import GPT2Tokenizer, GPT2LMHeadModel
tokenizer = GPT2Tokenizer.from_pretrained("openai-community/gpt2")
model = GPT2LMHeadModel.from_pretrained("openai-community/gpt2")
inputs = tokenizer("Hello, my dog is cute and ", return_tensors="pt")
generation_output = model.generate(**inputs, return_dict_in_generate=True, output_scores=True)
generation_output
オブジェクトは、できる限り [~generation.GenerateDecoderOnlyOutput
] です。
以下のそのクラスのドキュメントを参照してください。これは、次の属性があることを意味します。
sequences
: 生成されたトークンのシーケンスscores
(オプション): 各生成ステップの言語モデリング ヘッドの予測スコアhidden_states
(オプション): 生成ステップごとのモデルの隠れた状態attentions
(オプション): 生成ステップごとのモデルのアテンションの重み
ここでは、output_scores=True
を渡したので scores
がありますが、hidden_states
はありません。
attentions
は、output_hidden_states=True
またはoutput_attentions=True
を渡さなかったためです。
通常と同じように各属性にアクセスできます。その属性がモデルから返されなかった場合は、
は「なし」を取得します。ここで、たとえばgeneration_output.scores
は、生成されたすべての予測スコアです。
言語モデリングのヘッドであり、generation_output.attentions
はNone
です。
generation_output
オブジェクトをタプルとして使用する場合、None
値を持たない属性のみが保持されます。
たとえば、ここには 2 つの要素、loss
、次にlogits
があります。
generation_output[:2]
たとえば、タプル (generation_output.sequences,generation_output.scores)
を返します。
generation_output
オブジェクトを辞書として使用する場合、None
を持たない属性のみが保持されます。
ここでは、たとえば、sequences
とscores
という 2 つのキーがあります。
ここではすべての出力タイプを文書化します。
PyTorch
autodoc generation.GenerateDecoderOnlyOutput
autodoc generation.GenerateEncoderDecoderOutput
autodoc generation.GenerateBeamDecoderOnlyOutput
autodoc generation.GenerateBeamEncoderDecoderOutput
TensorFlow
autodoc generation.TFGreedySearchEncoderDecoderOutput
autodoc generation.TFGreedySearchDecoderOnlyOutput
autodoc generation.TFSampleEncoderDecoderOutput
autodoc generation.TFSampleDecoderOnlyOutput
autodoc generation.TFBeamSearchEncoderDecoderOutput
autodoc generation.TFBeamSearchDecoderOnlyOutput
autodoc generation.TFBeamSampleEncoderDecoderOutput
autodoc generation.TFBeamSampleDecoderOnlyOutput
autodoc generation.TFContrastiveSearchEncoderDecoderOutput
autodoc generation.TFContrastiveSearchDecoderOnlyOutput
FLAX
autodoc generation.FlaxSampleOutput
autodoc generation.FlaxGreedySearchOutput
autodoc generation.FlaxBeamSearchOutput
LogitsProcessor
[LogitsProcessor
] を使用して、言語モデルのヘッドの予測スコアを変更できます。
世代。
PyTorch
autodoc AlternatingCodebooksLogitsProcessor - call
autodoc ClassifierFreeGuidanceLogitsProcessor - call
autodoc EncoderNoRepeatNGramLogitsProcessor - call
autodoc EncoderRepetitionPenaltyLogitsProcessor - call
autodoc EpsilonLogitsWarper - call
autodoc EtaLogitsWarper - call
autodoc ExponentialDecayLengthPenalty - call
autodoc ForcedBOSTokenLogitsProcessor - call
autodoc ForcedEOSTokenLogitsProcessor - call
autodoc ForceTokensLogitsProcessor - call
autodoc HammingDiversityLogitsProcessor - call
autodoc InfNanRemoveLogitsProcessor - call
autodoc LogitNormalization - call
autodoc LogitsProcessor - call
autodoc LogitsProcessorList - call
autodoc LogitsWarper - call
autodoc MinLengthLogitsProcessor - call
autodoc MinNewTokensLengthLogitsProcessor - call
autodoc NoBadWordsLogitsProcessor - call
autodoc NoRepeatNGramLogitsProcessor - call
autodoc PrefixConstrainedLogitsProcessor - call
autodoc RepetitionPenaltyLogitsProcessor - call
autodoc SequenceBiasLogitsProcessor - call
autodoc SuppressTokensAtBeginLogitsProcessor - call
autodoc SuppressTokensLogitsProcessor - call
autodoc TemperatureLogitsWarper - call
autodoc TopKLogitsWarper - call
autodoc TopPLogitsWarper - call
autodoc TypicalLogitsWarper - call
autodoc UnbatchedClassifierFreeGuidanceLogitsProcessor - call
autodoc WhisperTimeStampLogitsProcessor - call
TensorFlow
autodoc TFForcedBOSTokenLogitsProcessor - call
autodoc TFForcedEOSTokenLogitsProcessor - call
autodoc TFForceTokensLogitsProcessor - call
autodoc TFLogitsProcessor - call
autodoc TFLogitsProcessorList - call
autodoc TFLogitsWarper - call
autodoc TFMinLengthLogitsProcessor - call
autodoc TFNoBadWordsLogitsProcessor - call
autodoc TFNoRepeatNGramLogitsProcessor - call
autodoc TFRepetitionPenaltyLogitsProcessor - call
autodoc TFSuppressTokensAtBeginLogitsProcessor - call
autodoc TFSuppressTokensLogitsProcessor - call
autodoc TFTemperatureLogitsWarper - call
autodoc TFTopKLogitsWarper - call
autodoc TFTopPLogitsWarper - call
FLAX
autodoc FlaxForcedBOSTokenLogitsProcessor - call
autodoc FlaxForcedEOSTokenLogitsProcessor - call
autodoc FlaxForceTokensLogitsProcessor - call
autodoc FlaxLogitsProcessor - call
autodoc FlaxLogitsProcessorList - call
autodoc FlaxLogitsWarper - call
autodoc FlaxMinLengthLogitsProcessor - call
autodoc FlaxSuppressTokensAtBeginLogitsProcessor - call
autodoc FlaxSuppressTokensLogitsProcessor - call
autodoc FlaxTemperatureLogitsWarper - call
autodoc FlaxTopKLogitsWarper - call
autodoc FlaxTopPLogitsWarper - call
autodoc FlaxWhisperTimeStampLogitsProcessor - call
StoppingCriteria
[StoppingCriteria
] を使用して、(EOS トークン以外の) 生成を停止するタイミングを変更できます。これは PyTorch 実装でのみ利用可能であることに注意してください。
autodoc StoppingCriteria - call
autodoc StoppingCriteriaList - call
autodoc MaxLengthCriteria - call
autodoc MaxTimeCriteria - call
Constraints
[Constraint
] を使用すると、生成時に出力に特定のトークンまたはシーケンスが含まれるように強制できます。これは PyTorch 実装でのみ利用可能であることに注意してください。
autodoc Constraint
autodoc PhrasalConstraint
autodoc DisjunctiveConstraint
autodoc ConstraintListState
BeamSearch
autodoc BeamScorer - process - finalize
autodoc BeamSearchScorer - process - finalize
autodoc ConstrainedBeamSearchScorer - process - finalize
Streamers
autodoc TextStreamer
autodoc TextIteratorStreamer