Transformers documentation

myt5

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Bu model 2024-03-15 tarihinde HF papers'ta yayımlandı ve 2024-10-06 tarihinde Hugging Face Transformers'a katkıda bulunuldu.

myt5

Genel Bakış

myt5 modeli, Tomasz Limisiewicz, Terra Blevins, Hila Gonen, Orevaoghene Ahia ve Luke Zettlemoyer tarafından MYTE: Morphology-Driven Byte Encoding for Better and Fairer Multilingual Language Modeling makalesinde önerilmiştir. MyT5 (Myte T5), T5 mimarisine dayalı çok dilli bir dil modelidir. Model, makalemizde açıklanan morfolojiye dayalı bayt (MYTE) temsilini kullanır. MYTE, UTF-8 kodlamasında kullanılan karakterlerin aksine morflere karşılık gelen kod noktalarını kullanır. Ön koşul olarak, 99 dil için morfem envanterlerini elde etmek üzere denetimsiz morfolojik segmentasyon (Morfessor) kullanıldı. Ancak, hub'dan önceden tanımlanmış morfem envanterini kullanırken morfolojik segmentasyon adımı gerekmez (bkz: Tomli/myt5-base).

Makalenin özeti aşağıdaki gibidir:

Çok dilli dil modellemede önemli bir husus, çeşitli sözlük ve yazı sistemlerine sahip dillerin en iyi nasıl temsil edileceğidir. Günümüzdeki metin kodlama yöntemleri dünyanın yazı sistemlerinin çoğunu kapsasa da, Batı dünyasının yüksek kaynaklı dillerine yönelik bir önyargı sergilerler. Sonuç olarak, az temsil edilen dillerin metinleri, dilbilimsel olarak anlamsız birimlerden oluşan uzun dizilere bölünme eğilimindedir. Bu eşitsizlikleri gidermek için, çeşitli diller arasında tutarlı boyutlu segmentlerle aynı bilgiyi kodlayan yeni bir paradigma sunuyoruz. Kodlama kurulumuz (MYTE), önceki yöntemlerde kullanılan karakterlere kıyasla diller arasında daha dengeli envantere sahip olan morflere dayanmaktadır. MYTE'nin, analiz edilen 99 dilin tamamı için daha kısa kodlamalar ürettiğini, en belirgin iyileşmelerin ise Avrupa dışı dillerde ve Latin olmayan yazı sistemlerinde olduğunu gösteriyoruz. Bu durum, çok dilli LM performansını iyileştirirken çeşitli diller arasındaki perplexity farkını azaltmaktadır.

Bu model Tomasz Limisiewicz tarafından katkıda bulunmuştur. Orijinal kod burada bulunabilir.

MyT5Tokenizer

sınıf transformers.MyT5Tokenizer

< >

( vocab_fileeos_token = '</s>'unk_token = '<unk>'pad_token = '<pad>'extra_ids = 125additional_special_tokens = None**kwargs )

Parametreler

  • vocab_file (str) — Bayt yeniden yazma kurallarını içeren dosya.
  • eos_token (str, isteğe bağlı, varsayılan "</s>") — Dizi sonu belirteci.
  • 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.
  • extra_ids (int, isteğe bağlı, varsayılan 125) — Sözlüğün sonuna sentinel olarak kullanılmak üzere eklenen ek kimlik sayısı. Bu jetonlar, ”{%d}” 0 ile extra_ids-1 arasında bir sayı olmak üzere “id{%d}>” olarak erişilebilir. Ek jetonlar, sözlüğün sonundan başlangıcına doğru indekslenir (“” sözlüğün son jetonudur, ByT5 ön işlemedeki gibi bkz. burası).
  • additional_special_tokens (list[str], isteğe bağlı) — Tokenizör tarafından kullanılan ek özel tokenlar.

MyT5 tokenizer'ı oluşturun.

Bu tokenizer, ana yöntemlerin çoğunu içeren PreTrainedTokenizer sınıfından devralır. Kullanıcıların bu yöntemler hakkında daha fazla bilgi için bu üst sınıfa başvurması gerekir.

build_inputs_with_special_tokens

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Özel jetonların ekleneceği kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Uygun özel jetonlarla girdi kimlikleri listesi.

Sınıflandırma görevleri için bir dizi veya dizi çiftinden model girdilerini birleştirerek ve özel jetonlar ekleyerek oluşturun. Bir dizinin formatı şu şekildedir:

  • tek dizi: X </s>
  • dizi çifti: A </s> B </s>

get_special_tokens_mask

< >

( token_ids_0: listtoken_ids_1: list[int] | None = Nonealready_has_special_tokens: bool = False ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.
  • already_has_special_tokens (bool, isteğe bağlı, varsayılan False) — Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.

Dönüş değeri

list[int]

[0, 1] aralığında tamsayıların bir listesi: özel bir jeton için 1, bir dizi jetonu için 0.

Özel tokenler eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın prepare_for_model yöntemi kullanılarak özel tokenler eklenirken çağrılır.

create_token_type_ids_from_sequences

< >

( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]

Parametreler

  • token_ids_0 (list[int]) — Kimlik listesi.
  • token_ids_1 (list[int], isteğe bağlı) — Sıra çiftleri için isteğe bağlı ikinci kimlik listesi.

Dönüş değeri

list[int]

Sıfırlar listesi.

Sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki diziden bir maske oluşturun. MyT5, token türü kimliklerini kullanmadığından, sıfırlardan oluşan bir liste döndürülür.

save_vocabulary

< >

( save_directory: strfilename_prefix: str | None = None )

Update on GitHub