Transformers documentation
GPT-Sw3
Bu model 2022-12-12 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
GPT-Sw3
Genel Bakış
GPT-Sw3 modeli, Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson ve Magnus Sahlgren tarafından Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish makalesinde ilk kez önerilmiştir.
Yazarlar, ilk makalelerinin ardından çalışmalarını genişletti ve The Nordic Pile adını verdikleri yeni 1,2 TB'lık korpüslerinde yeni modeller eğitti.
GPT-Sw3, AI Sweden tarafından RISE ve WASP WARA for Media and Language iş birliğiyle geliştirilen, büyük ölçekli, yalnızca çözücü (decoder-only) önceden eğitilmiş dönüştürücü (transformer) dil modelleri koleksiyonudur. GPT-Sw3, İsveççe, Norveççe, Danca, İzlandaca, İngilizce ve programlama kodu içeren 320B token'lık bir veri setinde eğitilmiştir. Model, NeMo Megatron GPT uygulamasını kullanan nedensel dil modelleme (CLM) hedefiyle önceden eğitilmiştir.
Bu model AI Sweden Models tarafından katkıda bulunmuştur.
Kullanım örneği
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-356m")
model = AutoModelForCausalLM.from_pretrained("AI-Sweden-Models/gpt-sw3-356m", device_map="auto")
input_ids = tokenizer("Träd är fina för att", return_tensors="pt").to(model.device)["input_ids"]
generated_token_ids = model.generate(inputs=input_ids, max_new_tokens=10, do_sample=True)[0]
print(tokenizer.decode(generated_token_ids))
Träd är fina för att de är färgstarka. Men ibland är det fintKaynaklar
- Metin sınıflandırma görevi kılavuzu
- Token sınıflandırma görevi kılavuzu
- Nedensel dil modelleme görevi kılavuzu
Uygulama,
GPT2ModelileGPTSw3Tokenizerkullanılarak gerçekleştirilmiştir. API referansı ve örnekler için GPT2Model belgelerine bakın.Tokenizer'ımızı kullanmak için sentencepiece'in gerekli olduğunu ve
pip install transformers[sentencepiece]veyapip install sentencepieceile yüklenebileceğini unutmayın.
GPTSw3Tokenizer
sınıf transformers.GPTSw3Tokenizer
< source >( vocab_filedo_lower_case = Falseremove_space = Falsekeep_accents = Falsepad_token = Noneunk_token = Noneeos_token = Nonebos_token = Nonesp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )
Parametreler
- vocab_file (
str) — Bir tokenizer örneği oluşturmak için gerekli sözlüğü içeren SentencePiece dosyası (genellikle .spm uzantısına sahiptir). - do_lower_case (
bool, isteğe bağlı, varsayılanFalse) — Tokenize sırasında girdinin küçük harfe dönüştürülüp dönüştürülmemesi. - remove_space (
bool, isteğe bağlı, varsayılanFalse) — Tokenize sırasında metni temizleyip temizlemeyeceğini belirtir (dizinin başındaki ve sonundaki gereksiz boşlukları kaldırır). - keep_accents (
bool, isteğe bağlı, varsayılanFalse) — Tokenize sırasında aksanların korunup korunmayacağı. - pad_token (
str, isteğe bağlı) — Doldurma için kullanılan token, örneğin farklı uzunluklardaki dizileri toplu işleme (batching) sırasında. Sağlanmazsa, model boyutuna göre varsayılan olarak ’’ veya ’ ’ kullanılır. - unk_token (
str, isteğe bağlı) — Bilinmeyen token. Sözlükte yer almayan bir token, bir ID'ye dönüştürülemez ve bunun yerine bu token olarak ayarlanır. Verilmezse, varsayılan olarak ’‘. - eos_token (
str, isteğe bağlı) — Ön eğitim sırasında görülen dizin sonu belirteci. Verilmezse, varsayılan olarak ’<|endoftext|>’ kullanılır. - bos_token (
str, isteğe bağlı) — Ön eğitim sırasında görülmemiş, aşağı akış görevlerinde kullanılabilecek dizinin başlangıç belirteci. Verilmezse, modele göre varsayılan olarak ’’ veya ’<|endoftext|>’ kullanılır. - sp_model_kwargs (
dict, isteğe bağlı) — şuna aktarılacak:SentencePieceProcessor.__init__()metodu. SentencePiece için Python sarmalayıcısı arasında şunları ayarlamak için kullanılabilir:-
enable_sampling: Alt kelime düzenlemesini etkinleştirir. -
nbest_size: Unigram için örneklem parametreleri. BPE-Dropout için geçersizdir.nbest_size = {0,1}: Örnekleme yapılmaz.nbest_size > 1: nbest_size sonuçlarından örnekler.nbest_size < 0: nbest_size'in sonsuz olduğu varsayılır ve tüm hipotezlerden (lattice) forward-filtering-and-backward-sampling algoritması kullanılarak örneklemeler yapılır.
-
alpha: Unigram örneklemesi için düzeltme parametresi ve BPE-dropout için birleştirme işlemlerinin atılma olasılığı.
-
- sp_model (
SentencePieceProcessor) — Her dönüştürme (dize, jeton ve kimlikler) için kullanılan SentencePiece işleyicisi. - whitespaces (
set) — Ön işlemedeki boşluk normalizasyonunda değiştirilen boşluklar. - non_printing_characters_re (
Pattern) — Ön işleme sırasında yazdırılamayan karakterleri kaldırmak için derlenmiş düzenli ifade.
SentencePiece tabanlı bir GPTSw3 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.
Örnek kullanım:
>>> from transformers import GPTSw3Tokenizer
>>> tokenizer = GPTSw3Tokenizer.from_pretrained("AI-Sweden-Models/gpt-sw3-126m")
>>> tokenizer("Svenska är kul!")["input_ids"]
[1814, 377, 3617, 63504]save_vocabulary
< source >( save_directory: strfilename_prefix: str | None = None ) → tuple(str)
Sentencepiece sözlüğünü (orijinal dosyanın kopyası) bir dizine kaydedin.