Transformers documentation

CPM

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-12-01 dan disumbangkan ke Hugging Face Transformers pada 2021-04-10.

CPM

Ikhtisar

Model CPM diusulkan dalam CPM: A Large-scale Generative Chinese Pre-trained Language Model oleh Zhengyan Zhang, Xu Han, Hao Zhou, Pei Ke, Yuxian Gu, Deming Ye, Yujia Qin, Yusheng Su, Haozhe Ji, Jian Guan, Fanchao Qi, Xiaozhi Wang, Yanan Zheng, Guoyang Zeng, Huanqi Cao, Shengqi Chen, Daixuan Li, Zhenbo Sun, Zhiyuan Liu, Minlie Huang, Wentao Han, Jie Tang, Juanzi Li, Xiaoyan Zhu, Maosong Sun.

Abstrak dari makalah tersebut adalah sebagai berikut:

Model Bahasa Pra-terlatih (PLM) telah terbukti bermanfaat untuk berbagai tugas NLP turunan. Baru-baru ini, GPT-3, dengan 175 miliar parameter dan data pelatihan 570GB, menarik banyak perhatian karena kemampuannya dalam pembelajaran few-shot (bahkan zero-shot). Namun, menerapkan GPT-3 untuk menangani tugas NLP bahasa Mandarin masih menantang, karena korpus pelatihan GPT-3 sebagian besar berbahasa Inggris, dan parameternya tidak tersedia secara publik. Dalam laporan teknis ini, kami merilis Model Bahasa Pra-terlatih Mandarin (CPM) dengan pra-pelatihan generatif pada data pelatihan Mandarin berskala besar. Sejauh pengetahuan kami, CPM, dengan 2,6 miliar parameter dan data pelatihan Mandarin 100GB, adalah model bahasa pra-terlatih Mandarin terbesar, yang dapat memfasilitasi beberapa tugas NLP Mandarin turunan, seperti percakapan, pembuatan esai, tes cloze, dan pemahaman bahasa. Eksperimen ekstensif menunjukkan bahwa CPM mencapai kinerja yang kuat pada banyak tugas NLP dalam pengaturan pembelajaran few-shot (bahkan zero-shot).

Model ini disumbangkan oleh canwenxu. Implementasi aslinya dapat ditemukan di sini: https://github.com/TsinghuaAI/CPM-Generate

Arsitektur CPM sama dengan GPT-2, kecuali untuk metode tokenisasi. Lihat dokumentasi GPT-2 untuk informasi referensi API.

CpmTokenizer

kelas transformers.CpmTokenizer

< >

( vocab_filedo_lower_case = Falseremove_space = Truekeep_accents = Falsebos_token = '<s>'eos_token = '</s>'unk_token = '<unk>'sep_token = '<sep>'pad_token = '<pad>'cls_token = '<cls>'mask_token = '<mask>'additional_special_tokens = ['<eop>', '<eod>']sp_model_kwargs: dict[str, typing.Any] | None = None**kwargs )

Menjalankan pra-tokenisasi dengan alat segmentasi Jieba-RS. Digunakan dalam model CPM.

build_inputs_with_special_tokens

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID tempat token khusus akan ditambahkan.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.

Mengembalikan

list[int]

Daftar ID input dengan token khusus yang sesuai.

Bangun input model dari satu urutan atau sepasang urutan untuk tugas klasifikasi urutan dengan melakukan penggabungan (concatenation) dan penambahan token khusus. Urutan XLNet memiliki format berikut:

  • satu urutan: X <sep> <cls>
  • pasangan sekuens: A <sep> B <sep> <cls>

convert_tokens_to_string

< >

( tokens )

Mengonversi urutan token (string untuk sub-kata) dalam satu string.

create_token_type_ids_from_sequences

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.

Mengembalikan

list[int]

Daftar ID tipe token sesuai dengan urutan yang diberikan.

Buat mask dari dua urutan yang diteruskan untuk digunakan dalam tugas klasifikasi pasangan urutan. XLNet

mask pasangan sequence memiliki format berikut:

0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
| first sequence    | second sequence |

Jika token_ids_1 adalah None, metode ini hanya mengembalikan bagian pertama dari mask (0s).

get_special_tokens_mask

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.
  • already_has_special_tokens (bool, opsional, default False) — Apakah daftar token sudah diformat dengan token khusus untuk model.

Mengembalikan

list[int]

Daftar bilangan bulat dalam rentang [0, 1]: 1 untuk token khusus, 0 untuk token urutan.

Ambil id urutan dari daftar token yang tidak memiliki token khusus yang ditambahkan. Metode ini dipanggil saat menambahkan token khusus menggunakan metode prepare_for_model tokenizer.

CpmTokenizerFast

kelas transformers.CpmTokenizerFast

< >

( vocab_file = Nonetokenizer_file = Nonedo_lower_case = Falseremove_space = Truekeep_accents = Falsebos_token = '<s>'eos_token = '</s>'unk_token = '<unk>'sep_token = '<sep>'pad_token = '<pad>'cls_token = '<cls>'mask_token = '<mask>'additional_special_tokens = ['<eop>', '<eod>']**kwargs )

Menjalankan pra-tokenisasi dengan alat segmentasi Jieba-RS. Digunakan dalam model CPM.

build_inputs_with_special_tokens

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID tempat token khusus akan ditambahkan.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.

Mengembalikan

list[int]

Daftar ID input dengan token khusus yang sesuai.

Bangun input model dari satu urutan atau sepasang urutan untuk tugas klasifikasi urutan dengan melakukan penggabungan (concatenation) dan penambahan token khusus. Urutan XLNet memiliki format berikut:

  • satu urutan: X <sep> <cls>
  • pasangan sekuens: A <sep> B <sep> <cls>

create_token_type_ids_from_sequences

< >

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

Parameter

  • token_ids_0 (list[int]) — Daftar ID.
  • token_ids_1 (list[int], opsional) — Daftar ID kedua opsional untuk pasangan sekuens.

Mengembalikan

list[int]

Daftar ID tipe token sesuai dengan urutan yang diberikan.

Buat mask dari dua urutan yang diteruskan untuk digunakan dalam tugas klasifikasi pasangan urutan. XLNet

mask pasangan sequence memiliki format berikut:

0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1
| first sequence    | second sequence |

Jika token_ids_1 adalah None, metode ini hanya mengembalikan bagian pertama dari mask (0s).

Update on GitHub