Transformers documentation
LED
Bu model 2020-04-10 tarihinde HF papers'ta yayımlandı ve 2021-01-05 tarihinde Hugging Face Transformers'a katkıda bulunuldu.
LED
Longformer-Encoder-Decoder (LED), özetleme gibi diziden-diziye (sequence-to-sequence) görevler için tasarlanmış bir kodlayıcı-çözücü (encoder-decoder) transformer modelidir. Uzun girdileri işlemek üzere tasarlanmış, yalnızca kodlayıcıya sahip Longformer modeline bir çözücü katmanı ekleyerek onu genişletir. Çözücü, kodlanmış tokenlar ve daha önce çözülen konumlar üzerinde tam öz-dikkat (full self-attention) kullanır. Longformer’ın doğrusal öz-dikkat mekanizması sayesinde LED, uzun dizileri işlerken standart kodlayıcı-çözücü modellerine kıyasla daha verimlidir.
Tüm orijinal [LED] kontrol noktalarını Ai2 kuruluşu altında bulabilirsiniz.
Bu model patrickvonplaten tarafından katkıda bulunmuştur.
Farklı dil görevlerine LED'i uygulama konusunda daha fazla örnek için sağ kenar çubuğundaki LED modellerine tıklayın.
Aşağıdaki örnek, metni Pipeline, AutoModel ve komut satırından özetlemenin nasıl yapılacağını göstermektedir.
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained(
"allenai/led-base-16384"
)
model = AutoModelForSeq2SeqLM.from_pretrained(
"allenai/led-base-16384",
device_map="auto"
)
input_text = """Plants are among the most remarkable and essential life forms on Earth, possessing a unique ability to produce their own food through a process known as photosynthesis. This complex biochemical process is fundamental not only to plant life but to virtually all life on the planet.
Through photosynthesis, plants capture energy from sunlight using a green pigment called chlorophyll, which is located in specialized cell structures called chloroplasts. In the presence of light, plants absorb carbon dioxide from the atmosphere through small pores in their leaves called stomata, and take in water from the soil through their root systems.
These ingredients are then transformed into glucose, a type of sugar that serves as a source of chemical energy, and oxygen, which is released as a byproduct into the atmosphere. The glucose produced during photosynthesis is not just used immediately; plants also store it as starch or convert it into other organic compounds like cellulose, which is essential for building their cellular structure.
This energy reserve allows them to grow, develop leaves, produce flowers, bear fruit, and carry out various physiological processes throughout their lifecycle."""
input_ids = tokenizer(input_text, return_tensors="pt").to(model.device)
# Place global attention on the first token
global_attention_mask = torch.zeros_like(input_ids.input_ids).to(model.device)
global_attention_mask[:, 0] = 1
output = model.generate(**input_ids, global_attention_mask=global_attention_mask, cache_implementation="static")
print(tokenizer.decode(output[0], skip_special_tokens=True))Quantization, ağırlıkları daha düşük bir hassasiyetle temsil ederek büyük modellerin bellek yükünü azaltır. Daha fazla kullanılabilir quantization backend'i için Quantization genel bakışına başvurun.
Aşağıdaki örnek, ağırlıkları yalnızca int4 olarak nicelleştirmek için bitsandbytes kullanır.
import torch
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, BitsAndBytesConfig
quantization_config = BitsAndBytesConfig(
load_in_4bit=True,
bnb_4bit_quant_type="nf4"
)
model = AutoModelForSeq2SeqLM.from_pretrained(
"allenai/led-large-16384",
device_map="auto",
quantization_config=quantization_config
)
tokenizer = AutoTokenizer.from_pretrained(
"allenai/led-large-16384"
)
input_text = """Plants are among the most remarkable and essential life forms on Earth, possessing a unique ability to produce their own food through a process known as photosynthesis. This complex biochemical process is fundamental not only to plant life but to virtually all life on the planet.
Through photosynthesis, plants capture energy from sunlight using a green pigment called chlorophyll, which is located in specialized cell structures called chloroplasts. In the presence of light, plants absorb carbon dioxide from the atmosphere through small pores in their leaves called stomata, and take in water from the soil through their root systems.
These ingredients are then transformed into glucose, a type of sugar that serves as a source of chemical energy, and oxygen, which is released as a byproduct into the atmosphere. The glucose produced during photosynthesis is not just used immediately; plants also store it as starch or convert it into other organic compounds like cellulose, which is essential for building their cellular structure.
This energy reserve allows them to grow, develop leaves, produce flowers, bear fruit, and carry out various physiological processes throughout their lifecycle."""
input_ids = tokenizer(input_text, return_tensors="pt").to(model.device)
# Place global attention on the first token
global_attention_mask = torch.zeros_like(input_ids.input_ids).to(model.device)
global_attention_mask[:, 0] = 1
output = model.generate(**input_ids, global_attention_mask=global_attention_mask, cache_implementation="static")
print(tokenizer.decode(output[0], skip_special_tokens=True))Notlar
- LEDForConditionalGeneration, geleneksel öz-dikkat katmanını Longformer’ın parçalı öz-dikkat katmanı ile değiştiren BartForConditionalGeneration sınıfının bir uzantısıdır. LEDTokenizer, BartTokenizer sınıfının bir takma adıdır.
- LED, gerekirse
input_idsdeğerleriniconfig.attention_windowdeğerinin katınapad_to_multiple_ofargümanı ile doldurur. LEDTokenizer kullanıldığında küçük bir hızlanma elde edilir. - LED,
input_ids1024 token'dan belirgin şekilde daha uzun olan uzun menzilli diziden-diziye görevlerde en iyi performansı gösterir. - LED, LongformerModel'de olduğu gibi
global_attention_maskaracılığıyla küresel dikkat kullanır. Özetleme için küresel dikkatin yalnızca ilk<s>belirteçine uygulanması önerilir. Soru yanıtlama için ise küresel dikkatin sorudaki tüm belirteçlere uygulanması önerilir. - LED'i tüm 16384 parametre üzerinde ince ayar yapmak için, eğitim bellek dışı (OOM) hatalarına yol açarsa gradient checkpointing etkinleştirilebilir. Bellek tasarrufu sağlamak için önbellekleme mekanizmasını devre dışı bırakmak üzere
model.gradient_checkpointing_enable()ekleyerek veuse_cache=Falseayarlayarak gradient checkpointing'i etkinleştirin. - LED mutlak konum gömme kullanıldığından, girdiler sağ taraftan dolgu (padding) ile tamamlanmalıdır.
Kaynaklar
- LED'nin Arxiv makale özetlemede son teknoloji performansını nasıl elde edebildiğini görmek için Arxiv'de LED defterini okuyun.
- LED'yi PubMed makalelerinde ince ayar yapmak için Fine-tune LED notebook defterini okuyun.
LEDConfig
sınıf transformers.LEDConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0id2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneis_encoder_decoder: bool = Truevocab_size: int = 50265max_encoder_position_embeddings: int = 16384max_decoder_position_embeddings: int = 1024encoder_layers: int = 12encoder_ffn_dim: int = 4096encoder_attention_heads: int = 16decoder_layers: int = 12decoder_ffn_dim: int = 4096decoder_attention_heads: int = 16encoder_layerdrop: float | int = 0.0decoder_layerdrop: float | int = 0.0use_cache: bool = Trueactivation_function: str = 'gelu'd_model: int = 1024dropout: float | int = 0.1attention_dropout: float | int = 0.0activation_dropout: float | int = 0.0init_std: float = 0.02decoder_start_token_id: int = 2classifier_dropout: float | int = 0.0pad_token_id: int | None = 1bos_token_id: int | None = 0eos_token_id: int | list[int] | None = 2attention_window: list[int] | int = 512tie_word_embeddings: bool = True )
Parametreler
- is_encoder_decoder (
bool, isteğe bağlı, varsayılanTrue) — Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı. - vocab_size (
int, isteğe bağlı, varsayılan50265) — Modelin sözlük boyutu.input_idstarafından temsil edilebilecek farklı token sayısını tanımlar. - max_encoder_position_embeddings (
int, isteğe bağlı, varsayılan 16384) — Encoder'ın kullanılabileceği maksimum dizi uzunluğu. - max_decoder_position_embeddings (
int, isteğe bağlı, varsayılan 16384) — Çözücünün (decoder) kullanılabileceği en büyük dizi uzunluğu. - encoder_layers (
int, isteğe bağlı, varsayılan12) — Transformer kodlayıcısındaki gizli katman sayısı. Ayarlanmazsanum_layersile aynı değeri kullanır. - encoder_ffn_dim (
int, isteğe bağlı, varsayılan4096) — Encoder'daki “ara” (genellikle feed-forward olarak adlandırılan) katmanın boyutluğu. - encoder_attention_heads (
int, isteğe bağlı, varsayılan16) — Transformer kodlayıcısındaki her dikkat katmanı için dikkat başı sayısı. - decoder_layers (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki gizli katman sayısı. Ayarlanmazsanum_layersile aynı değeri kullanır. - decoder_ffn_dim (
int, isteğe bağlı, varsayılan4096) — Decoder'daki “ara” (genellikle feed-forward olarak adlandırılan) katmanın boyutluluğu. - decoder_attention_heads (
int, isteğe bağlı, varsayılan16) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - encoder_layerdrop (
Union[float, int], isteğe bağlı, varsayılan0.0) — Encoder için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın. - decoder_layerdrop (
Union[float, int], isteğe bağlı, varsayılan0.0) — Çözücü için LayerDrop olasılığı. Daha fazla ayrıntı için [LayerDrop makalesine](bkz. https://huggingface.co/papers/1909.11556) bakın. - use_cache (
bool, isteğe bağlı, varsayılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir. - activation_function (
str, isteğe bağlı, varsayılangelu) — Çözücüdeki doğrusal olmayan aktivasyon fonksiyonu (fonksiyon veya dize). Örneğin,"gelu","relu","silu"vb. - d_model (
int, isteğe bağlı, varsayılan1024) — Kodlayıcı katmanlarının ve pooler katmanının boyutu. - dropout (
Union[float, int], isteğe bağlı, varsayılan0.1) — Tüm dropout katmanları için oran. - attention_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Dikkat olasılıkları için dropout oranı. - activation_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Tamamen bağlı katmandaki aktivasyonlar için dropout oranı. - init_std (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması. - decoder_start_token_id (
int, isteğe bağlı, varsayılan2) — Bir kodlayıcı-çözücü modeli,bosile farklı bir token ile çözümlemeye başlıyorsa, o token'ın kimliği. - classifier_dropout (
Union[float, int], isteğe bağlı, varsayılan0.0) — Sınıflandırıcı için dropout oranı. - pad_token_id (
int, isteğe bağlı, varsayılan1) — Sözlükte dolgu için kullanılan token kimliği. - bos_token_id (
int, isteğe bağlı, varsayılan0) — Sözlükte akış başlangıcı için kullanılan token kimliği. - eos_token_id (
Union[int, list[int]], isteğe bağlı, varsayılan2) — Sözlükte akış sonu için kullanılan token kimliği. - attention_window (
intveyalist[int], isteğe bağlı, varsayılan 512) — Her token etrafındaki dikkat penceresinin boyutu.intise, tüm katmanlar için aynı boyutu kullanır. Her katman için farklı bir pencere boyutu belirtmek için,len(attention_window) == num_hidden_layersolacak şekilde birlist[int]kullanın. - tie_word_embeddings (
bool, isteğe bağlı, varsayılanTrue) — Modelintied_weights_keyseşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı.
Bu, bir LEDModel'in yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Led modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneği oluşturmak, allenai/led-base-16384 ile benzer bir yapılandırmaya yol açar.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Örnek:
>>> from transformers import LEDModel, LEDConfig
>>> # Initializing a LED allenai/led-base-16384 style configuration
>>> configuration = LEDConfig()
>>> # Initializing a model from the allenai/led-base-16384 style configuration
>>> model = LEDModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configLEDTokenizer
sınıf transformers.RobertaTokenizer
< source >( vocab: str | dict[str, int] | None = Nonemerges: str | list[str] | None = Noneerrors: str = 'replace'bos_token: str = '<s>'eos_token: str = '</s>'sep_token: str = '</s>'cls_token: str = '<s>'unk_token: str = '<unk>'pad_token: str = '<pad>'mask_token: str = '<mask>'add_prefix_space: bool = Falsetrim_offsets: bool = True**kwargs )
Parametreler
- vocab (
str,dictveyalist, isteğe bağlı) — Özel sözlük. Sağlanmazsa, sözlük vocab_file'den yüklenir. - merges (
strveyalist, isteğe bağlı) — Özel birleştirmeler listesi. Sağlanmazsa, birleştirmeler merges_file'den yüklenir. - errors (
str, isteğe bağlı, varsayılan"replace") — Baytların UTF-8'e çözümlenirken izlenecek paradigma. Daha fazla bilgi için bytes.decode'e bakın. - bos_token (
str, isteğe bağlı, varsayılan olarak"<s>") — Ön eğitim sırasında kullanılan dizinin başlangıç token'ı. Bir dizi sınıflandırıcı token'ı olarak kullanılabilir. Özel token'lar kullanılarak bir dizi oluşturulduğunda, dizinin başlangıcı için kullanılan token bu değildir. Kullanılan token, cls_token'dır.Özel jetonlar kullanılarak bir dizi oluşturulduğunda, dizinin başlangıcı için kullanılan jeton bu değildir. Kullanılan jeton
cls_token'dir. - eos_token (
str, isteğe bağlı, varsayılan olarak"</s>") — Dizi sonu belirteci. Özel belirteçler kullanılarak bir dizi oluşturulduğunda, dizi sonu için kullanılan belirteç bu değildir. Kullanılan belirteç sep_token'dir.Özel jetonlar kullanılarak bir dizi oluşturulduğunda, dizinin sonu için kullanılan jeton bu değildir. Kullanılan jeton
sep_token'dir. - sep_token (
str, isteğe bağlı, varsayılan"</s>") — Ayrıştırıcı belirteci; birden fazla diziden bir dizi oluşturulurken kullanılır, örneğin dizi sınıflandırma için iki dizi veya soru cevaplamada bir metin ve bir soru için. Özel belirteçlerle oluşturulan bir dizinin son belirteci olarak da kullanılır. - cls_token (
str, isteğe bağlı, varsayılan"<s>") — Dizilim sınıflandırması yapılırken (token başına sınıflandırma yerine tüm dizilimin sınıflandırılması) kullanılan sınıflandırıcı tokenıdır. Özel tokenlarla oluşturulduğunda dizilimin ilk tokenıdır. - unk_token (
str, isteğe bağlı, varsayılan"<unk>") — Bilinmeyen token. Sözlükte yer almayan bir token, bir kimliğe dönüştürülemez ve bunun yerine bu token olarak ayarlanır. - pad_token (
str, isteğe bağlı, varsayılan"<pad>") — Doldurma için kullanılan jeton, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında. - mask_token (
str, isteğe bağlı, varsayılan"<mask>") — Değerleri maskelemek için kullanılan belirteç. Bu, modelin maskeli dil modelleme ile eğitildiğinde kullanılan belirteçtir. Modelin tahmin etmeye çalışacağı belirteç budur. - add_prefix_space (
bool, isteğe bağlı, varsayılanFalse) — Girişe başlangıçta bir boşluk eklenip eklenmeyeceğini belirtir. Bu, baştaki kelimenin diğer herhangi bir kelime gibi ele alınmasını sağlar. (RoBERTa tokenizer, kelimelerin başlangıcını önceki boşlukla tespit eder). - trim_offsets (
bool, isteğe bağlı, varsayılanTrue) — Son işleme adımının, boşlukların dahil edilmesini önlemek için ofsetleri kırpıp kırmayacağı.
Bir RoBERTa tokenizer'ı oluşturun (HuggingFace'in tokenizers kütüphanesi tarafından desteklenir). Byte-Pair-Encoding tabanlıdır.
Bu tokenizer, boşlukları tokenların parçaları gibi işlemek üzere eğitilmiştir (biraz da sentencepiece gibi) bu yüzden bir kelime
cümle başında (boşluksuz) mı yoksa değil mi olduğuna göre farklı kodlanabilir:
>>> from transformers import RobertaTokenizer
>>> tokenizer = RobertaTokenizer.from_pretrained("FacebookAI/roberta-base")
>>> tokenizer("Hello world")["input_ids"]
[0, 31414, 232, 2]
>>> tokenizer(" Hello world")["input_ids"]
[0, 20920, 232, 2]Bu davranışın etrafından dolaşmak için bu tokenizer'ı örneklerken veya bazı metinler üzerinde çağırdığınızda add_prefix_space=True parametresini geçebilirsiniz; ancak model bu şekilde ön eğitilmediğinden, performans düşüşüne yol açabilir.
is_split_into_words=Trueile kullanıldığında, bu tokenizer'ınadd_prefix_space=Trueile örneklenmesi gerekir.
Bu tokenizer, ana yöntemlerin çoğunu içeren TokenizersBackend sınıfından devralır. Kullanıcıların bu yöntemlerle ilgili daha fazla bilgi için bu üst sınıfa başvurması gerekir.
get_special_tokens_mask
< source >( token_ids_0: list[int]token_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]
Parametreler
- token_ids_0 — (muhtemelen zaten biçimlendirilmiş) dizinin kimlik listesi.
- token_ids_1 —
already_has_special_tokens=Trueolduğunda kullanılmaz. Bu durumda None olmalıdır. - already_has_special_tokens — Sıralamanın özel jetonlarla zaten biçimlendirilmiş olup olmadığı.
Dönüş değeri
[0, 1] aralığında tamsayıların bir listesi
özel bir jeton için 1, bir dizi jetonu için 0.
Özel tokenlar eklenmemiş bir token listesinden dizi kimliklerini (sequence ids) alın.
Hızlı tokenizörlerde, veri toplayıcılar (data collators) bu işlemi already_has_special_tokens=True parametresiyle çağırarak, biçimlendirilmiş bir dizinin üzerine bir maske oluşturur. Bu durumda, maskeyi all_special_ids içinde üyelik kontrolü yaparak hesaplarız.
LED'e özgü çıktılar
sınıf transformers.models.led.modeling_led.LEDEncoderBaseModelOutput
< source >( last_hidden_state: FloatTensorhidden_states: tuple[torch.FloatTensor, ...] | None = Noneattentions: tuple[torch.FloatTensor, ...] | None = Noneglobal_attentions: tuple[torch.FloatTensor, ...] | None = None )
Parametreler
- last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi. - hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu şeklindeki bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane olmak üzere(batch_size, sequence_length, hidden_size).Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
- attentions (
tuple(torch.FloatTensor), isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şu şeklindeki bir demet:torch.FloatTensor(her katman için bir adet) ve boyutu(batch_size, num_heads, sequence_length, x + attention_window + 1), buradaxglobal dikkat maskesine sahip token sayısıdır. Dikkat softmax'inden sonraki yerel dikkat ağırlıkları, kendine dikkat başlıklarında ağırlıklı ortalama hesaplamak için kullanılır. Bunlar, dizideki her token'ın global dikkate sahip her token'a (ilk x değerleri) ve dikkat penceresindeki her token'a (kalan `attention_window + 1` değerleri) olan dikkat ağırlıklarıdır. Not: İlk x değerleri metindeki sabit konumlara sahip token'lara işaret eder, ancak kalan `attention_window + 1` değerleri göreli konumlara sahip token'lara işaret eder: bir token'ın kendine olan dikkat ağırlığı `x + attention_window / 2` indeksinde bulunur ve `attention_window / 2` önceki (sonraki) değerler, `attention_window / 2` önceki (sonraki) token'lara olan dikkat ağırlıklarıdır. Dikkat penceresi global dikkate sahip bir token içeriyorsa, ilgili indeksteki dikkat ağırlığı 0 olarak ayarlanır; değer, ilk x dikkat ağırlığından erişilmelidir. Bir token global dikkate sahipse, `attentions` içindeki diğer tüm token'lara olan dikkat ağırlıkları 0 olarak ayarlanır, değerler `global_attentions` içinden erişilmelidir.Dikkat softmax'ı sonrası yerel dikkat ağırlıkları, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, dizideki her token'dan global dikkate sahip her token'a (ilk
xdeğerleri) ve dikkat penceresindeki her token'a (kalan `attention_window- 1
values). Note that the firstxvalues refer to tokens with fixed positions in the text, but the remainingattention_window + 1values refer to tokens with relative positions: the attention weight of a token to itself is located at indexx + attention_window / 2and theattention_window / 2preceding (succeeding) values are the attention weights to theattention_window / 2preceding (succeeding) tokens. If the attention window contains a token with global attention, the attention weight at the corresponding index is set to 0; the value should be accessed from the firstxattention weights. If a token has global attention, the attention weights to all other tokens inattentionsis set to 0, the values should be accessed fromglobal_attentions`.
- 1
- global_attentions (
tuple(torch.FloatTensor), isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (her katman için bir tane)(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesine sahip token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
LEDEncoder çıktılarının temel sınıfı; potansiyel gizli durumlar, yerel ve küresel dikkatler içerir.
sınıf transformers.models.led.modeling_led.LEDSeq2SeqModelOutput
< source >( last_hidden_state: typing.Optional[torch.FloatTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonedecoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Nonedecoder_attentions: tuple[torch.FloatTensor, ...] | None = Nonecross_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_last_hidden_state: typing.Optional[torch.FloatTensor] = Noneencoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Noneencoder_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_global_attentions: tuple[torch.FloatTensor, ...] | None = None )
Parametreler
- last_hidden_state (
torch.FloatTensorşeklinde(batch_size, sequence_length, hidden_size)) — Modelin decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.past_key_valueskullanılırsa, yalnızca(batch_size, 1, hidden_size)biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir. - past_key_values (
Cache, isteğe bağlı, geri döndürülüruse_cache=Truegeçildiğinde veyaconfig.use_cache=True) — bir Cache örneğidir. Daha fazla ayrıntı için bkz. kv önbellek kılavuzu.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir. - decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, öz-dikket başlıklarında ağırlıklı ortalama hesaplamak için kullanılan decoder'ın dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
- cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılan, decoder'ın çapraz dikkat katmanının dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi. - encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şu şeklindeki bir demettorch.FloatTensor(şeklinde, her katman için bir adet) —(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (her katman için bir tane)(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesine sahip token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
Model kodlayıcısının çıktılarının temel sınıfı; ayrıca sıralı çözümlemeyi hızlandırabilecek önceden hesaplanmış gizli durumları da içerir.
sınıf transformers.models.led.modeling_led.LEDSeq2SeqLMOutput
< source >( loss: typing.Optional[torch.FloatTensor] = Nonelogits: typing.Optional[torch.FloatTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonedecoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Nonedecoder_attentions: tuple[torch.FloatTensor, ...] | None = Nonecross_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_last_hidden_state: typing.Optional[torch.FloatTensor] = Noneencoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Noneencoder_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_global_attentions: tuple[torch.FloatTensor, ...] | None = None )
Parametreler
- loss (
torch.FloatTensor, şekli(1,), isteğe bağlı,labelssağlandığında döndürülür) — Dil modelleme kaybı. - logits (
torch.FloatTensor, şekli(batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar). - past_key_values (
Cache, isteğe bağlı, geri döndürülüruse_cache=Truegeçildiğinde veyaconfig.use_cache=True) — bir Cache örneğidir. Daha fazla ayrıntı için bkz. kv önbellek kılavuzu.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir. - decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, öz-dikket başlıklarında ağırlıklı ortalama hesaplamak için kullanılan decoder'ın dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
- cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde, her katman için bir adet) . Dikkat yumuşatma (softmax) uygulandıktan sonra, çapraz dikkat başlıklarında ağırlıklı ortalama hesaplamak için kullanılan decoder'ın çapraz dikkat katmanının dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi. - encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (her katman için bir tane). Kendi kendine dikkat (self-attention) kafalarında ağırlıklı ortalama hesaplamak için kullanılan, dikkat softmax'inden sonraki kodlayıcı dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı, döndürülüroutput_attentions=Truegeçirildiğinde veyaconfig.output_attentions=True) — şu şeklindeki bir demet:torch.FloatTensor(şeklinde (katman başına bir tane)(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesine sahip token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
Sıralıdan sıralıya dil modelleri çıktıları için temel sınıf.
sınıf transformers.models.led.modeling_led.LEDSeq2SeqSequenceClassifierOutput
< source >( loss: typing.Optional[torch.FloatTensor] = Nonelogits: typing.Optional[torch.FloatTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonedecoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Nonedecoder_attentions: tuple[torch.FloatTensor, ...] | None = Nonecross_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_last_hidden_state: typing.Optional[torch.FloatTensor] = Noneencoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Noneencoder_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_global_attentions: tuple[torch.FloatTensor, ...] | None = None )
Parametreler
- loss (
torch.FloatTensor, şekli(1,), isteğe bağlı,labelsağlandığında döndürülür) — Sınıflandırma (config.num_labels==1 ise regresyon) kaybı. - logits (
torch.FloatTensor, şekli(batch_size, config.num_labels)) — Sınıflandırma (veya config.num_labels==1 ise regresyon) puanları (SoftMax öncesi). - past_key_values (
Cache, isteğe bağlı, geri döndürülüruse_cache=Truegeçildiğinde veyaconfig.use_cache=True) — bir Cache örneğidir. Daha fazla ayrıntı için bkz. kv önbellek kılavuzu.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir. - decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, öz-dikket başlıklarında ağırlıklı ortalama hesaplamak için kullanılan decoder'ın dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
- cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılan, decoder'ın çapraz dikkat katmanının dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi. - encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şu şeklindeki bir demettorch.FloatTensor(şeklinde, her katman için bir adet) —(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (her katman için bir tane)(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesine sahip token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
Sıralıdan sıralıya cümle sınıflandırma modellerinin çıktıları için temel sınıf.
sınıf transformers.models.led.modeling_led.LEDSeq2SeqQuestionAnsweringModelOutput
< source >( loss: typing.Optional[torch.FloatTensor] = Nonestart_logits: typing.Optional[torch.FloatTensor] = Noneend_logits: typing.Optional[torch.FloatTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Nonedecoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Nonedecoder_attentions: tuple[torch.FloatTensor, ...] | None = Nonecross_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_last_hidden_state: typing.Optional[torch.FloatTensor] = Noneencoder_hidden_states: tuple[torch.FloatTensor, ...] | None = Noneencoder_attentions: tuple[torch.FloatTensor, ...] | None = Noneencoder_global_attentions: tuple[torch.FloatTensor, ...] | None = None )
Parametreler
- loss (
torch.FloatTensor, şekli(1,), isteğe bağlı,labelssağlandığında döndürülür) — Toplam span çıkarım kaybı, başlangıç ve bitiş konumları için Çapraz Entropinin (Cross-Entropy) toplamıdır. - start_logits (
torch.FloatTensor, şekli(batch_size, sequence_length), isteğe bağlı) — SoftMax öncesi span başlangıç puanları. - end_logits (
torch.FloatTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Span sonu skorları (SoftMax öncesi). - past_key_values (
Cache, isteğe bağlı, geri döndürülüruse_cache=Truegeçildiğinde veyaconfig.use_cache=True) — bir Cache örneğidir. Daha fazla ayrıntı için bkz. kv önbellek kılavuzu.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir. - decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için bir tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
- decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, öz-dikket başlıklarında ağırlıklı ortalama hesaplamak için kullanılan decoder'ın dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
- cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (katman başına bir tane). Dikkat softmax'inden sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılan, decoder'ın çapraz dikkat katmanının dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
- encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi. - encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_hidden_states=Truegeçildiğinde veyaconfig.output_hidden_states=True) — şu biçimde bir demet:torch.FloatTensor(gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) ve şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
- encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı, döndürülüroutput_attentions=Truegeçildiğinde veyaconfig.output_attentions=True) — şeklinde bir demettorch.FloatTensor(şeklinde (her katman için bir tane). Kendi kendine dikkat (self-attention) kafalarında ağırlıklı ortalama hesaplamak için kullanılan, dikkat softmax'inden sonraki kodlayıcı dikkat ağırlıkları.(batch_size, num_heads, sequence_length, sequence_length).Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
- encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı, döndürülüroutput_attentions=Truegeçirildiğinde veyaconfig.output_attentions=True) — şu şeklindeki bir demet:torch.FloatTensor(şeklinde (katman başına bir tane)(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesine sahip token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
Sıralıdan sıralıya soru-cevap modellerinin çıktıları için temel sınıf.
LEDModel
sınıf transformers.LEDModel
< source >( config: LEDConfig )
Parametreler
- config (LEDConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Üzerinde herhangi bir özel head olmadan ham hidden-states çıkaran çıplak Led Model.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.FloatTensor]] | None = Noneglobal_attention_mask: typing.Optional[torch.FloatTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonedecoder_inputs_embeds: typing.Optional[torch.FloatTensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → LEDSeq2SeqModelOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_ids (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Sözlükteki decoder giriş dizisi tokenlarının indeksleri. İndeksler LedTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın. Giriş ID'leri nelerdir? LED, decoder_input_ids üretimi için başlangıç tokenı olarak eos_token_id kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_ids girdisi yeterlidir (bkz. past_key_values).Dizinler
LedTokenizerkullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.LED,
decoder_input_idsüretimi için başlangıç jetonu olarakeos_token_id'yi kullanır.past_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_input_idsgirdi olarak verilmelidir (bkz.past_key_values). - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_ids. satırda da varsayılan olarak kullanılır.Dolgu davranışını değiştirmek istiyorsanız,
modeling_led._prepare_decoder_inputsfonksiyonunu inceleyip ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki Şekil 1'e bakın. - encoder_outputs (
tuple[tuple[torch.FloatTensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)biçiminde, isteğe bağlı) kodlayıcının son katmanının çıktısındaki gizli durumlar dizisidir. Dekodlayıcının çapraz dikkat (cross-attention) mekanizmasında kullanılır. - global_attention_mask (
torch.FloatTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Kodlayıcı için her token'a verilen dikkati belirlemek için kullanılan maske, yerel dikkat veya global dikkat. Global dikkate sahip tokenlar diğer tüm tokenlara dikkat eder ve diğer tüm tokenlar da onlara dikkat eder. Bu, modeli görevi temsil etmede daha esnek hale getirdiği için görev bazlı ince ayar için önemlidir. Örneğin, sınıflandırma içintoken'ına global dikkat verilmelidir. SSS için tüm soru token'ları da global dikkate sahip olmalıdır. Daha fazla ayrıntı için Longformer makalesine bakınız. Seçilen maske değerleri[0, 1]:- yerel dikkat için 0 (kayan pencere dikkati),
- 1, küresel dikkat için (tüm diğer token'lara dikkat eden ve tüm diğer token'ların da onlara dikkat ettiği token'lar).
- past_key_values (
~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_ids(şekli(batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemişinput_ids(şekli(batch_size, unprocessed_length)) girmesi beklenir. - inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - decoder_inputs_embeds (
torch.FloatTensorşeklinde(batch_size, target_sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,decoder_input_idsgeçirmek yerine gömülü bir temsil doğrudan geçirmeyi seçebilirsiniz. Eğerpast_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_inputs_embedsgirdi olarak verilmelidir (bkz.past_key_values). Bu, modelin dahili gömme arama matrisine kıyasladecoder_input_idsendekslerini ilgili vektörlere dönüştürme biçimi üzerinde daha fazla kontrol istiyorsanız faydalıdır.decoder_input_idsvedecoder_inputs_embedsher ikisi de ayarlanmamışsa,decoder_inputs_embedsinputs_embedsdeğerini alır. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
Dönüş değeri
LEDSeq2SeqModelOutput veya tuple(torch.FloatTensor)
Bir LEDSeq2SeqModelOutput veya
torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (LEDConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
LEDModel forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size)) — Modelin decoder'ının son katmanının çıktısındaki gizli durumlar dizisi.past_key_valueskullanılırsa, yalnızca(batch_size, 1, hidden_size)biçimindeki dizilerin son gizli durumu (hidden-state) çıktı olarak verilir.past_key_values (
Cache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adet içeren,(batch_size, num_heads, sequence_length, sequence_length)biçimindetorch.FloatTensoriçeren bir tuple.Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adettorch.FloatTensoriçeren,(batch_size, num_heads, sequence_length, sequence_length)biçiminde bir demet.Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesi olan token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
LEDForConditionalGeneration
sınıf transformers.LEDForConditionalGeneration
< source >( config: LEDConfig )
Parametreler
- config (LEDConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Dil modelleme başlığına sahip LED Modeli. Özetleme için kullanılabilir.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.FloatTensor]] | None = Noneglobal_attention_mask: typing.Optional[torch.FloatTensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonedecoder_inputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → LEDSeq2SeqLMOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_ids (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Sözlükteki decoder giriş dizisi tokenlarının indeksleri. İndeksler LedTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın. Giriş ID'leri nelerdir? LED, decoder_input_ids üretimi için başlangıç tokenı olarak eos_token_id kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_ids girdisi yeterlidir (bkz. past_key_values).Dizinler
LedTokenizerkullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.LED,
decoder_input_idsüretimi için başlangıç jetonu olarakeos_token_id'yi kullanır.past_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_input_idsgirdi olarak verilmelidir (bkz.past_key_values). - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_ids. satırda da varsayılan olarak kullanılır.Dolgu davranışını değiştirmek istiyorsanız,
modeling_led._prepare_decoder_inputsfonksiyonunu inceleyip ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki Şekil 1'e bakın. - encoder_outputs (
tuple[tuple[torch.FloatTensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)biçiminde, isteğe bağlı) kodlayıcının son katmanının çıktısındaki gizli durumlar dizisidir. Dekodlayıcının çapraz dikkat (cross-attention) mekanizmasında kullanılır. - global_attention_mask (
torch.FloatTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Kodlayıcı için her token'a verilen dikkati belirlemek için kullanılan maske, yerel dikkat veya global dikkat. Global dikkate sahip tokenlar diğer tüm tokenlara dikkat eder ve diğer tüm tokenlar da onlara dikkat eder. Bu, modelin görevi temsil etmede daha esnek hale gelmesini sağladığı için görev bazlı ince ayar için önemlidir. Örneğin, sınıflandırma içintoken'a global dikkat verilmelidir. Soru-cevap için, tüm soru tokenları da global dikkate sahip olmalıdır. Daha fazla ayrıntı için Longformer makalesine bakınız. Seçilen maske değerleri[0, 1]:- yerel dikkat için 0 (kayan pencere dikkati),
- 1, küresel dikkat için (tüm diğer token'lara dikkat eden ve tüm diğer token'ların da onlara dikkat ettiği token'lar).
- past_key_values (
~cache_utils.Cache, isteğe bağlı) — Sıralı çözümlemeyi hızlandırmak için kullanılabilen önceden hesaplanmış gizli durumlar (self-attention ve cross-attention bloklarındaki anahtar ve değerler). Bu genelliklepast_key_valuesdeğerinin, çözümlemenin önceki bir aşamasında model tarafından döndürülenuse_cache=Trueveyaconfig.use_cache=True.Girdi olarak yalnızca Cache örneği kabul edilir, kv cache kılavuzumuza bakın.
past_key_valuesgeçirilmezse, varsayılan olarak DynamicCache başlatılır.Model, girdi olarak verilen aynı önbellek biçimini çıktı olarak üretecektir.
past_key_valueskullanılıyorsa, kullanıcının tüminput_ids(şekli(batch_size, sequence_length)) yerine, bu modele geçmiş anahtar değer durumları verilmemiş olan, işlenmemişinput_ids(şekli(batch_size, unprocessed_length)) girmesi beklenir. - inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - decoder_inputs_embeds (
torch.FloatTensorşeklinde(batch_size, target_sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,decoder_input_idsgeçirmek yerine gömülü bir temsil doğrudan geçirmeyi seçebilirsiniz. Eğerpast_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_inputs_embedsgirdi olarak verilmelidir (bkz.past_key_values). Bu, modelin dahili gömme arama matrisine kıyasladecoder_input_idsendekslerini ilgili vektörlere dönüştürme biçimi üzerinde daha fazla kontrol istiyorsanız faydalıdır.decoder_input_idsvedecoder_inputs_embedsher ikisi de ayarlanmamışsa,decoder_inputs_embedsinputs_embedsdeğerini alır. - labels (
torch.LongTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler[0, ..., config.vocab_size]aralığında olmalı ya da -100 olmalı (input_idsdocstring'ine bakın). Endeksleri-100olarak ayarlanan tokenlar yok sayılır (maskelenir), kayıp yalnızca etiketleri[0, ..., config.vocab_size]aralığında olan tokenlar için hesaplanır. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
Dönüş değeri
LEDSeq2SeqLMOutput veya tuple(torch.FloatTensor)
Bir LEDSeq2SeqLMOutput veya
torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (LEDConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
LEDForConditionalGeneration forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.FloatTensor, şekli(1,), opsiyonel,labelssağlandığında döndürülür) — Dil modelleme kaybı.logits (
torch.FloatTensor, şekli(batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).past_key_values (
Cache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adet içeren,(batch_size, num_heads, sequence_length, sequence_length)biçimindetorch.FloatTensoriçeren bir tuple.Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adettorch.FloatTensoriçeren,(batch_size, num_heads, sequence_length, sequence_length)biçiminde bir demet.Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesi olan token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
Örnek Özetleme:
>>> import torch
>>> from transformers import AutoTokenizer, LEDForConditionalGeneration
>>> model = LEDForConditionalGeneration.from_pretrained("allenai/led-large-16384-arxiv")
>>> tokenizer = AutoTokenizer.from_pretrained("allenai/led-large-16384-arxiv")
>>> ARTICLE_TO_SUMMARIZE = '''Transformers (Vaswani et al., 2017) have achieved state-of-the-art
... results in a wide range of natural language tasks including generative language modeling
... (Dai et al., 2019; Radford et al., 2019) and discriminative ... language understanding (Devlin et al., 2019).
... This success is partly due to the self-attention component which enables the network to capture contextual
... information from the entire sequence. While powerful, the memory and computational requirements of
... self-attention grow quadratically with sequence length, making it infeasible (or very expensive) to
... process long sequences. To address this limitation, we present Longformer, a modified Transformer
... architecture with a self-attention operation that scales linearly with the sequence length, making it
... versatile for processing long documents (Fig 1). This is an advantage for natural language tasks such as
... long document classification, question answering (QA), and coreference resolution, where existing approaches
... partition or shorten the long context into smaller sequences that fall within the typical 512 token limit
... of BERT-style pretrained models. Such partitioning could potentially result in loss of important
... cross-partition information, and to mitigate this problem, existing methods often rely on complex
... architectures to address such interactions. On the other hand, our proposed Longformer is able to build
... contextual representations of the entire context using multiple layers of attention, reducing the need for
... task-specific architectures.'''
>>> inputs = tokenizer.encode(ARTICLE_TO_SUMMARIZE, return_tensors="pt")
>>> # Global attention on the first token (cf. Beltagy et al. 2020)
>>> global_attention_mask = torch.zeros_like(inputs)
>>> global_attention_mask[:, 0] = 1
>>> # Generate Summary
>>> summary_ids = model.generate(inputs, global_attention_mask=global_attention_mask, num_beams=3, max_length=32)
>>> print(tokenizer.decode(summary_ids[0], skip_special_tokens=True, clean_up_tokenization_spaces=True))Örnek Koşullu üretim :
>>> from transformers import AutoTokenizer, LEDForConditionalGeneration
>>> tokenizer = AutoTokenizer.from_pretrained("allenai/led-base-16384")
>>> TXT = "My friends are <mask> but they eat too many carbs."
>>> model = LEDForConditionalGeneration.from_pretrained("allenai/led-base-16384")
>>> input_ids = tokenizer([TXT], return_tensors="pt")["input_ids"]
>>> prediction = model.generate(input_ids)[0]
>>> print(tokenizer.decode(prediction, skip_special_tokens=True))LEDForQuestionAnswering
sınıf transformers.LEDForQuestionAnswering
< source >( config: LEDConfig )
Parametreler
- config (LEDConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
SQuAD gibi çıkarımsal soru-cevap görevleri için üstünde bir aralık sınıflandırma kafası bulunan Led dönüştürücüsü (gizli durum çıktısının üzerine, span start logits ve span end logits hesaplamak için eklenen doğrusal bir katman).
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Nonedecoder_input_ids: typing.Optional[torch.LongTensor] = Nonedecoder_attention_mask: typing.Optional[torch.LongTensor] = Noneencoder_outputs: tuple[tuple[torch.FloatTensor]] | None = Noneglobal_attention_mask: typing.Optional[torch.FloatTensor] = Nonestart_positions: typing.Optional[torch.LongTensor] = Noneend_positions: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonedecoder_inputs_embeds: typing.Optional[torch.FloatTensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → LEDSeq2SeqQuestionAnsweringModelOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- decoder_input_ids (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Sözlükteki decoder giriş dizisi tokenlarının indeksleri. İndeksler LedTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() yöntemlerine bakın. Giriş ID'leri nelerdir? LED, decoder_input_ids üretimi için başlangıç tokenı olarak eos_token_id kullanır. past_key_values kullanılıyorsa, isteğe bağlı olarak yalnızca son decoder_input_ids girdisi yeterlidir (bkz. past_key_values).Dizinler
LedTokenizerkullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.LED,
decoder_input_idsüretimi için başlangıç jetonu olarakeos_token_id'yi kullanır.past_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_input_idsgirdi olarak verilmelidir (bkz.past_key_values). - decoder_attention_mask (
torch.LongTensorşeklinde(batch_size, target_sequence_length), isteğe bağlı) — Varsayılan davranış:decoder_input_ids. satırda da varsayılan olarak kullanılır.Dolgu davranışını değiştirmek istiyorsanız,
modeling_led._prepare_decoder_inputsfonksiyonunu inceleyip ihtiyaçlarınıza göre düzenlemelisiniz. Varsayılan strateji hakkında daha fazla bilgi için makaledeki Şekil 1'e bakın. - encoder_outputs (
tuple[tuple[torch.FloatTensor]], isteğe bağlı) — (last_hidden_state, isteğe bağlı:hidden_states, isteğe bağlı:attentions) içeren bir tuplelast_hidden_state,(batch_size, sequence_length, hidden_size)biçiminde, isteğe bağlı) kodlayıcının son katmanının çıktısındaki gizli durumlar dizisidir. Dekodlayıcının çapraz dikkat (cross-attention) mekanizmasında kullanılır. - global_attention_mask (
torch.FloatTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Kodlayıcı için her token'a verilen dikkati belirlemek için kullanılan maske, yerel dikkat veya global dikkat. Global dikkate sahip tokenlar diğer tüm tokenlara dikkat eder ve diğer tüm tokenlar da onlara dikkat eder. Bu, modeli görevi temsil etmede daha esnek hale getirdiği için görev bazlı ince ayar için önemlidir. Örneğin, sınıflandırma içintoken'ına global dikkat verilmelidir. SSS için tüm soru token'ları da global dikkate sahip olmalıdır. Daha fazla ayrıntı için Longformer makalesine bakınız. Seçilen maske değerleri[0, 1]:- yerel dikkat için 0 (kayan pencere dikkati),
- 1, küresel dikkat için (tüm diğer token'lara dikkat eden ve tüm diğer token'ların da onlara dikkat ettiği token'lar).
- start_positions (
torch.LongTensor, şekli(batch_size,), isteğe bağlı) — Token sınıflandırma kaybını hesaplamak için etiketli aralığın başlangıç konumunun (indeksinin) etiketleri. Konumlar, dizinin uzunluğuna (sequence_length) göre sınırlandırılır. Dizi dışındaki konumlar, kayıp hesabında dikkate alınmaz. - end_positions (
torch.LongTensor, şekli(batch_size,), isteğe bağlı) — Token sınıflandırma kaybını hesaplamak için etiketli aralığın sonundaki konumun (indeksin) etiketleri. Konumlar, dizinin uzunluğuna (sequence_length) göre sınırlandırılır. Dizi dışındaki konumlar, kaybın hesaplanmasında dikkate alınmaz. - inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - decoder_inputs_embeds (
torch.FloatTensorşeklinde(batch_size, target_sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,decoder_input_idsgeçirmek yerine gömülü bir temsil doğrudan geçirmeyi seçebilirsiniz. Eğerpast_key_valueskullanılıyorsa, isteğe bağlı olarak yalnızca sondecoder_inputs_embedsgirdi olarak verilmelidir (bkz.past_key_values). Bu, modelin dahili gömme arama matrisine kıyasladecoder_input_idsendekslerini ilgili vektörlere dönüştürme biçimi üzerinde daha fazla kontrol istiyorsanız faydalıdır.decoder_input_idsvedecoder_inputs_embedsher ikisi de ayarlanmamışsa,decoder_inputs_embedsinputs_embedsdeğerini alır. - use_cache (
bool, isteğe bağlı) —Trueolarak ayarlanırsa,past_key_valuesanahtar değer durumları döndürülür ve çözümlemeyi hızlandırmak için kullanılabilir (bkz.past_key_values). - output_attentions (
bool, isteğe bağlı) — Tüm dikkat katmanlarının dikkat tensörlerinin döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakiattentionsbölümüne bakın. - output_hidden_states (
bool, isteğe bağlı) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın. - return_dict (
bool, isteğe bağlı) — Düz bir tuple yerine ModelOutput döndürülecek mi?
Dönüş değeri
LEDSeq2SeqQuestionAnsweringModelOutput veya tuple(torch.FloatTensor)
A LEDSeq2SeqQuestionAnsweringModelOutput veya bir torch.FloatTensor tuple'ı (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (LEDConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
LEDForQuestionAnswering forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.FloatTensor, şekli(1,), opsiyonel,labelssağlandığında döndürülür) — Toplam span çıkarım kaybı, başlangıç ve bitiş konumları için Çapraz Entropinin (Cross-Entropy) toplamıdır.start_logits (
torch.FloatTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Aralık başlangıç puanları (SoftMax öncesi).end_logits (
torch.FloatTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Aralık sonu puanları (SoftMax öncesi).past_key_values (
Cache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.Dizisel çözümlendirmeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, çözücüdeki önceden hesaplanmış gizli durumları (dikkat bloklarındaki anahtar ve değerler) içerir.decoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında dekodlayıcının gizli durumları.
decoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adet içeren,(batch_size, num_heads, sequence_length, sequence_length)biçimindetorch.FloatTensoriçeren bir tuple.Dikkat ağırlıkları, dikkat softmax'ından sonra, öz-dikkat kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan dekoderin
cross_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
encoder_last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Modelin kodlayıcısının son katmanının çıktısındaki gizli durumlar dizisi.encoder_hidden_states (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren bir tuple, şekli(batch_size, sequence_length, hidden_size).Her katmanın çıktısında ve başlangıç gömme çıktılarında kodlayıcının gizli durumları.
encoder_attentions (
tuple[torch.FloatTensor, ...], isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Her katman için bir adettorch.FloatTensoriçeren,(batch_size, num_heads, sequence_length, sequence_length)biçiminde bir demet.Dikkat yumuşatma (attention softmax) sonrasında, öz-dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılan kodlayıcının dikkat ağırlıkları.
encoder_global_attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, x), buradaxglobal dikkat maskesi olan token sayısıdır.Dikkat softmax'ı sonrası global dikkat ağırlıkları, kendine dikkat (self-attention) kafalarında ağırlıklı ortalamanın hesaplanmasında kullanılır. Bunlar, global dikkate sahip her bir token'ın dizideki her token'a olan dikkat ağırlıklarıdır.
Örnek:
>>> from transformers import AutoTokenizer, LEDForQuestionAnswering
>>> import torch
>>> tokenizer = AutoTokenizer.from_pretrained("allenai/led-base-16384")
>>> model = LEDForQuestionAnswering.from_pretrained("allenai/led-base-16384")
>>> question, text = "Who was Jim Henson?", "Jim Henson was a nice puppet"
>>> inputs = tokenizer(question, text, return_tensors="pt")
>>> with torch.no_grad():
... outputs = model(**inputs)
>>> answer_start_index = outputs.start_logits.argmax()
>>> answer_end_index = outputs.end_logits.argmax()
>>> predict_answer_tokens = inputs.input_ids[0, answer_start_index : answer_end_index + 1]
>>> tokenizer.decode(predict_answer_tokens, skip_special_tokens=True)
...
>>> # target is "nice puppet"
>>> target_start_index = torch.tensor([14])
>>> target_end_index = torch.tensor([15])
>>> outputs = model(**inputs, start_positions=target_start_index, end_positions=target_end_index)
>>> loss = outputs.loss
>>> round(loss.item(), 2)
...