Transformers documentation

HerBERT

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 dipublikasikan di HF papers pada 2020-05-01 dan disumbangkan ke Hugging Face Transformers pada 2020-11-16.

HerBERT

Ikhtisar

Model HerBERT diusulkan dalam KLEJ: Comprehensive Benchmark for Polish Language Understanding oleh Piotr Rybak, Robert Mroczkowski, Janusz Tracz, dan Ireneusz Gawlik. Ini adalah Language Model berbasis BERT yang dilatih pada Korpus Bahasa Polandia menggunakan hanya tujuan MLM dengan masking dinamis seluruh kata.

Abstrak dari makalah tersebut adalah sebagai berikut:

Beberapa tahun terakhir, serangkaian model berbasis Transformer membuka jalan bagi peningkatan besar dalam tugas pemahaman bahasa alami umum (NLU). Laju penelitian yang cepat ini tidak akan mungkin terjadi tanpa benchmark NLU umum, yang memungkinkan perbandingan yang adil antara metode yang diusulkan. Namun, benchmark semacam itu hanya tersedia untuk segelintir bahasa. Untuk mengatasi masalah ini, kami memperkenalkan benchmark multi-tugas yang komprehensif untuk pemahaman bahasa Polandia, disertai dengan papan peringkat daring. Benchmark ini terdiri dari serangkaian tugas yang beragam, diadaptasi dari dataset yang ada untuk pengenalan entitas bernama, penjawab pertanyaan, entailment teks, dan lainnya. Kami juga memperkenalkan tugas analisis sentimen baru untuk domain e-commerce, yang dinamakan Allegro Reviews (AR). Untuk memastikan skema evaluasi yang umum dan mempromosikan model yang dapat digeneralisasi ke berbagai tugas NLU, benchmark ini mencakup dataset dari berbagai domain dan aplikasi. Selain itu, kami merilis HerBERT, model berbasis Transformer yang dilatih secara khusus untuk bahasa Polandia, yang memiliki kinerja rata-rata terbaik dan memperoleh hasil terbaik untuk tiga dari sembilan tugas. Terakhir, kami menyediakan evaluasi yang luas, termasuk beberapa baseline standar dan model berbasis Transformer multibahasa yang baru-baru ini diusulkan.

Model ini disumbangkan oleh rmroczkowski. Kode aslinya dapat ditemukan di sini.

Contoh penggunaan

from transformers import HerbertTokenizer, RobertaModel


tokenizer = HerbertTokenizer.from_pretrained("allegro/herbert-klej-cased-tokenizer-v1")
model = RobertaModel.from_pretrained("allegro/herbert-klej-cased-v1", device_map="auto")

encoded_input = tokenizer.encode("Kto ma lepszą sztukę, ma lepszy rząd – to jasne.", return_tensors="pt").to(model.device)
outputs = model(encoded_input)

# HerBERT can also be loaded using AutoTokenizer and AutoModel:
from transformers import AutoModel, AutoTokenizer


tokenizer = AutoTokenizer.from_pretrained("allegro/herbert-klej-cased-tokenizer-v1")
model = AutoModel.from_pretrained("allegro/herbert-klej-cased-v1", device_map="auto")

Implementasi Herbert sama dengan BERT kecuali untuk metode tokenisasi. Lihat dokumentasi BERT untuk referensi API dan contoh.

HerbertTokenizer

kelas transformers.HerbertTokenizer

< >

( vocab: str | dict[str, int] | None = Nonemerges: str | list[str] | None = Nonecls_token: str = '<s>'unk_token: str = '<unk>'pad_token: str = '<pad>'mask_token: str = '<mask>'sep_token: str = '</s>'vocab_file: str | None = Nonemerges_file: str | None = None**kwargs )

Parameter

  • vocab_file (str) — Path ke file kosakata.
  • merges_file (str) — Path ke file merges.
  • cls_token (str, opsional, default "<s>") — Token klasifikator.
  • unk_token (str, opsional, defaultnya "<unk>") — Token yang tidak dikenal.
  • pad_token (str, opsional, defaultnya "<pad>") — Token padding.
  • mask_token (str, opsional, default "<mask>") — Token mask.
  • sep_token (str, opsional, defaultnya "</s>") — Token pemisah.
  • vocab (str, dict atau list, opsional) — Kamus kosakata kustom.
  • merges (str atau list[str], opsional) — Daftar merges kustom.

Konstruksi tokenizer BPE untuk HerBERT (didukung oleh pustaka tokenizers dari HuggingFace).

Kekhasan:

  • menggunakan pre-tokenizer BERT: BertPreTokenizer memisahkan token berdasarkan spasi, dan juga berdasarkan tanda baca. Setiap kemunculan karakter tanda baca akan diperlakukan secara terpisah.

Tokenizer ini mewarisi dari TokenizersBackend yang berisi sebagian besar metode. Pengguna harus merujuk ke kelas induk untuk informasi lebih lanjut mengenai metode.

Update on GitHub