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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Mô hình này đã được đóng góp cho Hugging Face Transformers vào ngày 2022-12-12.

GPT-Sw3

Tổng quan

Mô hình GPT-Sw3 lần đầu được đề xuất trong Lessons Learned from GPT-SW3: Building the First Large-Scale Generative Language Model for Swedish của Ariel Ekgren, Amaru Cuba Gyllensten, Evangelia Gogoulou, Alice Heiman, Severine Verlinden, Joey Öhman, Fredrik Carlsson, Magnus Sahlgren.

Kể từ bài báo đầu tiên, các tác giả đã mở rộng công việc của mình và huấn luyện các mô hình mới trên các tập dữ liệu 1,2TB mới có tên là The Nordic Pile.

GPT-Sw3 là một bộ sưu tập các mô hình ngôn ngữ transformer chỉ có bộ giải mã (decoder-only) được huấn luyện trước, do AI Sweden phát triển cùng với RISE và WASP WARA for Media and Language. GPT-Sw3 được huấn luyện trên một tập dữ liệu chứa 320B token bằng tiếng Thụy Điển, tiếng Na Uy, tiếng Đan Mạch, tiếng Iceland, tiếng Anh và mã lập trình. Mô hình được huấn luyện trước bằng mục tiêu mô hình hóa ngôn ngữ nhân quả (causal language modeling - CLM) sử dụng cài đặt NeMo Megatron GPT.

Mô hình này được đóng góp bởi AI Sweden Models.

Ví dụ sử dụng

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

Tài nguyên

Cài đặt sử dụng GPT2Model kết hợp với GPTSw3Tokenizer của chúng tôi. Tham khảo tài liệu GPT2Model để xem tham chiếu API và các ví dụ.

Lưu ý rằng sentencepiece là bắt buộc để sử dụng tokenizer của chúng tôi và có thể được cài đặt bằng pip install transformers[sentencepiece] hoặc pip install sentencepiece

GPTSw3Tokenizer

lớp 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 )

Tham số

  • vocab_file (str) — SentencePiece file (thường có phần mở rộng .spm) chứa từ vựng cần thiết để khởi tạo một tokenizer.
  • do_lower_case (bool, tùy chọn, mặc định là False) — Có chuyển đổi chữ thường cho đầu vào khi phân tách token hay không.
  • remove_space (bool, tùy chọn, mặc định là False) — Có nên loại bỏ khoảng trắng thừa khi phân tách token (xóa các khoảng trắng dư thừa trước và sau chuỗi) hay không.
  • keep_accents (bool, tùy chọn, mặc định là False) — Có giữ dấu khi phân tách token hay không.
  • pad_token (str, tùy chọn) — Token được sử dụng để đệm, chẳng hạn khi xử lý các lô (batch) gồm các chuỗi có độ dài khác nhau. Nếu không được cung cấp, giá trị mặc định sẽ là ’’ hoặc ’’ tùy thuộc vào kích thước của mô hình.
  • unk_token (str, tùy chọn) — Token không xác định. Token không có trong từ vựng sẽ không thể chuyển đổi thành ID và sẽ được gán thành token này thay thế. Nếu không được cung cấp, giá trị mặc định sẽ là ’‘.
  • eos_token (str, tùy chọn) — Token kết thúc chuỗi được nhìn thấy trong quá trình tiền huấn luyện. Nếu không được cung cấp, giá trị mặc định sẽ là ’<|endoftext|>’
  • bos_token (str, tùy chọn) — Token bắt đầu chuỗi có thể được sử dụng cho các tác vụ downstream, không được nhìn thấy trong quá trình pretraining. Nếu không được cung cấp, giá trị mặc định sẽ là ’’ hoặc ’<|endoftext|>’, tùy thuộc vào kích thước của model.
  • sp_model_kwargs (dict, tuỳ chọn) — Sẽ được truyền vào SentencePieceProcessor.__init__() phương thức. bọc Python cho SentencePiece có thể được sử dụng, trong số nhiều mục đích khác, để thiết lập:
    • enable_sampling: Bật chuẩn hóa từ con (subword regularization).

    • nbest_size: Tham số lấy mẫu cho unigram. Không hợp lệ với BPE-Dropout.

      • nbest_size = {0,1}: Không thực hiện lấy mẫu.
      • nbest_size > 1: lấy mẫu từ các kết quả nbest_size.
      • nbest_size < 0: giả định rằng nbest_size là vô hạn và lấy mẫu từ tất cả các giả thuyết (lattice) bằng thuật toán forward-filtering-and-backward-sampling.
    • alpha: Tham số làm mịn cho việc lấy mẫu unigram và xác suất dropout của các thao tác merge cho BPE-dropout.

  • sp_model (SentencePieceProcessor) — Bộ xử lý SentencePiece được sử dụng cho mọi phép chuyển đổi (chuỗi, token và ID).
  • whitespaces (set) — Các khoảng trắng được thay thế trong bước chuẩn hóa khoảng trắng khi tiền xử lý.
  • non_printing_characters_re (Pattern) — Biểu thức chính tắc đã biên dịch để loại bỏ các ký tự không in được trong tiền xử lý.

Xây dựng một tokenizer GPTSw3. Dựa trên SentencePiece.

Tokenizer này kế thừa từ PreTrainedTokenizer, lớp chứa hầu hết các phương thức chính. Người dùng nên tham khảo siêu lớp này để biết thêm thông tin về các phương thức đó.

Cách sử dụng ví dụ:

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

Tham số

  • save_directory (str) — Thư mục để lưu trữ từ vựng.
  • filename_prefix (str, tùy chọn) — Một tiền tố tùy chọn để thêm vào tên của các tệp được lưu.

Trả về

tuple(str)

Đường dẫn đến các tệp đã lưu.

Lưu từ vựng sentencepiece (sao chép tệp gốc) vào một thư mục.

Update on GitHub