Transformers documentation

GPT-Sw3

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

Model ini disumbangkan ke Hugging Face Transformers pada 2022-12-12.

GPT-Sw3

Ikhtisar

Model GPT-Sw3 pertama kali diusulkan dalam Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish oleh Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren.

Sejak makalah pertama tersebut, para penulis telah memperluas pekerjaan mereka dan melatih model-model baru pada korpus 1,2 TB mereka yang baru bernama The Nordic Pile.

GPT-Sw3 adalah kumpulan model bahasa transformer pra-terlatih besar yang hanya menggunakan decoder, yang dikembangkan oleh AI Sweden dalam kolaborasi dengan RISE dan WASP WARA untuk Media dan Bahasa. GPT-Sw3 telah dilatih pada dataset yang berisi 320B token dalam bahasa Swedia, Norwegia, Denmark, Islandia, Inggris, dan kode pemrograman. Model ini dipra-latih menggunakan tujuan pemodelan bahasa kausal (CLM) dengan memanfaatkan implementasi NeMo Megatron GPT.

Model ini disumbangkan oleh AI Sweden Models.

Contoh penggunaan

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 fint

Sumber daya

Implementasi ini menggunakan GPT2Model yang dikombinasikan dengan GPTSw3Tokenizer kami. Lihat dokumentasi GPT2Model untuk referensi API dan contoh.

Perhatikan bahwa sentencepiece diperlukan untuk menggunakan tokenizer kami dan dapat diinstal dengan pip install transformers[sentencepiece] atau pip install sentencepiece

GPTSw3Tokenizer

kelas transformers.GPTSw3Tokenizer

< >

( 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 )

Parameter

  • vocab_file (str) — file SentencePiece (umumnya berekstensi .spm) yang mengandung kosakata yang diperlukan untuk menginstansiasi tokenizer.
  • do_lower_case (bool, opsional, default False) — Apakah akan mengubah input menjadi huruf kecil saat melakukan tokenisasi.
  • remove_space (bool, opsional, default False) — Apakah akan menghapus teks saat melakukan tokenisasi (menghapus spasi berlebih sebelum dan sesudah string).
  • keep_accents (bool, opsional, defaultnya False) — Apakah akan mempertahankan aksen saat melakukan tokenisasi.
  • pad_token (str, opsional) — Token yang digunakan untuk padding, misalnya saat mem-batching urutan dengan panjang berbeda. Jika tidak disediakan, akan default ke ’’ atau ’’ tergantung pada ukuran model.
  • unk_token (str, opsional) — Token yang tidak diketahui. Token yang tidak ada dalam kosakata tidak dapat dikonversi menjadi ID dan akan diset sebagai token ini. Jika tidak disediakan, akan menggunakan nilai default ’‘.
  • eos_token (str, opsional) — Token akhir urutan yang terlihat selama pra-pelatihan. Jika tidak disediakan, akan secara default menjadi ’<|endoftext|>’
  • bos_token (str, opsional) — Token awal urutan yang dapat digunakan untuk tugas turunan, yang tidak pernah dilihat selama pra-pelatihan. Jika tidak disediakan, akan secara default menjadi ’’ atau ’<|endoftext|>’, tergantung pada ukuran model.
  • sp_model_kwargs (dict, opsional) — Akan diteruskan ke SentencePieceProcessor.__init__() metode. Python wrapper untuk SentencePiece dapat digunakan, di antara hal-hal lain, untuk mengatur:
    • enable_sampling: Aktifkan regularisasi subword.

    • nbest_size: Parameter sampling untuk unigram. Tidak valid untuk BPE-Dropout.

      • nbest_size = {0,1}: Tidak ada sampling yang dilakukan.
      • nbest_size > 1: mengambil sampel dari hasil nbest_size.
      • nbest_size < 0: diasumsikan bahwa nbest_size tak hingga dan mengambil sampel dari semua hipotesis (lattice) menggunakan algoritma forward-filtering-and-backward-sampling.
    • alpha: Parameter penghalusan untuk pengambilan sampel unigram, dan probabilitas dropout untuk operasi penggabungan pada BPE-dropout.

  • sp_model (SentencePieceProcessor) — Pemroses SentencePiece yang digunakan untuk setiap konversi (string, token, dan ID).
  • whitespaces (set) — Spasi yang diganti dalam normalisasi spasi saat pra-pemrosesan.
  • non_printing_characters_re (Pattern) — Ekspresi reguler yang dikompilasi untuk menghapus karakter non-cetak dalam pra-pemrosesan.

Konstruksi tokenizer GPTSw3. Berbasis pada SentencePiece.

Tokenizer ini mewarisi dari PreTrainedTokenizer yang berisi sebagian besar metode utama. Pengguna harus merujuk ke superclass ini untuk informasi lebih lanjut mengenai metode-metode tersebut.

Contoh penggunaan:

>>> 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

< >

( save_directory: strfilename_prefix: str | None = None ) → tuple(str)

Parameter

  • save_directory (str) — Direktori tempat menyimpan kosakata.
  • filename_prefix (str, opsional) — Prefiks opsional untuk ditambahkan ke nama file yang disimpan.

Mengembalikan

tuple(str)

Path ke file yang disimpan.

Simpan kosakata sentencepiece (salin file asli) ke sebuah direktori.

Update on GitHub