🚀 CANINE-s(使用子詞損失預訓練的CANINE模型)
CANINE-s是一個基於掩碼語言建模(MLM)目標,在104種語言上進行預訓練的模型。它在論文CANINE: Pre-training an Efficient Tokenization-Free Encoder for Language Representation中被提出,並首次在此倉庫中發佈。CANINE的特別之處在於,它不需要像BERT和RoBERTa等模型那樣的顯式分詞器(如WordPiece或SentencePiece),而是直接在字符級別進行操作:每個字符都會被轉換為其Unicode碼點。這意味著輸入處理非常簡單,通常可以通過以下方式完成:
input_ids = [ord(char) for char in text]
其中,ord()
是Python內置函數,用於將字符轉換為其Unicode碼點。
聲明:發佈CANINE的團隊並未為此模型編寫模型卡片,此模型卡片由Hugging Face團隊編寫。
✨ 主要特性
- 無需顯式分詞器:直接在字符級別操作,避免了傳統分詞器的使用。
- 多語言支持:在104種語言的大規模語料上進行預訓練。
- 自監督學習:通過掩碼語言建模(MLM)和下一句預測(NSP)兩個目標進行預訓練。
📦 安裝指南
文檔未提及安裝步驟,可參考Hugging Face的相關文檔進行安裝。
💻 使用示例
基礎用法
from transformers import CanineTokenizer, CanineModel
model = CanineModel.from_pretrained('google/canine-s')
tokenizer = CanineTokenizer.from_pretrained('google/canine-s')
inputs = ["Life is like a box of chocolates.", "You never know what you gonna get."]
encoding = tokenizer(inputs, padding="longest", truncation=True, return_tensors="pt")
outputs = model(**encoding)
pooled_output = outputs.pooler_output
sequence_output = outputs.last_hidden_state
高級用法
文檔未提及高級用法示例,可根據具體需求對模型進行微調。
📚 詳細文檔
模型描述
CANINE是一個以自監督方式在大規模多語言語料上進行預訓練的Transformer模型,與BERT類似。這意味著它僅在原始文本上進行預訓練,無需人工標註(因此可以使用大量公開可用的數據),並通過自動過程從這些文本中生成輸入和標籤。更確切地說,它通過兩個目標進行預訓練:
- 掩碼語言建模(MLM):隨機掩碼部分輸入,模型需要預測被掩碼的部分。此模型(CANINE-s)使用子詞損失進行訓練,即模型需要在以字符為輸入的情況下預測子詞標記的標識。通過讀取字符並預測子詞標記,像BERT等其他模型中嚴格的分詞邊界約束在CANINE中變成了一種軟歸納偏置。
- 下一句預測(NSP):在預訓練期間,模型將兩個句子拼接作為輸入。有時這兩個句子在原始文本中是相鄰的,有時則不是。模型需要預測這兩個句子是否相鄰。
通過這種方式,模型學習到多種語言的內部表示,可用於提取對下游任務有用的特徵。例如,如果您有一個帶標籤的句子數據集,可以使用CANINE模型生成的特徵作為輸入來訓練一個標準分類器。
預期用途和侷限性
您可以使用原始模型進行掩碼語言建模或下一句預測,但它主要用於在下游任務上進行微調。請查看模型中心,尋找針對您感興趣的任務進行微調的版本。
請注意,此模型主要旨在針對使用整個句子(可能被掩碼)進行決策的任務進行微調,例如序列分類、標記分類或問答任務。對於文本生成等任務,您應該考慮使用GPT2等模型。
訓練數據
CANINE模型在mBERT的多語言維基百科數據上進行預訓練,該數據包含104種語言。
引用信息
@article{DBLP:journals/corr/abs-2103-06874,
author = {Jonathan H. Clark and
Dan Garrette and
Iulia Turc and
John Wieting},
title = {{CANINE:} Pre-training an Efficient Tokenization-Free Encoder for
Language Representation},
journal = {CoRR},
volume = {abs/2103.06874},
year = {2021},
url = {https://arxiv.org/abs/2103.06874},
archivePrefix = {arXiv},
eprint = {2103.06874},
timestamp = {Tue, 16 Mar 2021 11:26:59 +0100},
biburl = {https://dblp.org/rec/journals/corr/abs-2103-06874.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
📄 許可證
本模型使用Apache 2.0許可證。
屬性 |
詳情 |
模型類型 |
基於Transformer架構的多語言預訓練模型 |
訓練數據 |
包含104種語言的多語言維基百科數據 |