🚀 Transfo-xl-wt103
Transfo-xl-wt103 是一個用於文本生成的模型,它基於 Transformer-XL 架構,能夠利用相對位置嵌入和記憶機制處理長文本上下文,在文本生成任務中表現出色。
🚀 快速開始
以下是使用該模型的示例代碼:
from transformers import TransfoXLTokenizer, TransfoXLModel
import torch
tokenizer = TransfoXLTokenizer.from_pretrained("transfo-xl-wt103")
model = TransfoXLModel.from_pretrained("transfo-xl-wt103")
inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
outputs = model(**inputs)
last_hidden_states = outputs.last_hidden_state
✨ 主要特性
- 長上下文處理:Transformer-XL 模型採用相對定位(正弦)嵌入和記憶機制,可重用先前計算的隱藏狀態,以處理更長的上下文。
- 自適應軟max:該模型使用自適應軟max輸入和輸出(綁定),有助於提高效率。
📚 詳細文檔
模型詳情
用途
直接用途
該模型可用於文本生成。作者在 相關論文 中還提到了關於詞彙使用的額外說明:
我們設想 Transformer-XL 在文本生成、無監督特徵學習、圖像和語音建模等領域有有趣的應用。
誤用和超出範圍的使用
該模型不應被用於故意為人們創造敵對或疏遠的環境。此外,該模型並非用於對人物或事件進行事實性或真實性的表達,因此使用該模型生成此類內容超出了其能力範圍。
風險、限制和偏差
⚠️ 重要提示
讀者應注意,本節包含令人不安、冒犯性的內容,可能會傳播歷史和當前的刻板印象。
大量研究已經探討了語言模型的偏差和公平性問題(例如,參見 Sheng 等人 (2021) 和 Bender 等人 (2021))。
訓練
訓練數據
作者在 相關論文 中提供了關於詞彙使用的額外說明:
最佳模型在 Wikitext-103 數據集上進行訓練。我們用從 Wikitext-103 測試集中隨機採樣的最多 512 個連續標記作為上下文來初始化我們的 Transformer-XL。然後,我們運行 Transformer-XL 來生成預定義數量的標記(在我們的例子中是 500 或 1000 個)。對於每個生成步驟,我們首先找到下一步分佈的前 40 個概率,並根據重新歸一化的分佈從前 40 個標記中採樣。為了便於閱讀,我們對上下文、生成的文本和參考文本進行去標記化處理。
作者在 相關論文 中描述了用於該模型的以下預訓練語料庫:
- WikiText-103(Merity 等人,2016)
訓練過程
預處理
作者在 相關論文 中提供了關於訓練過程的額外說明:
與 enwik8 類似但不同,text8 包含 1 億個經過處理的維基百科字符,這些字符是通過將文本轉換為小寫並去除除字母 a 到 z 和空格之外的任何字符而創建的。由於相似性,我們直接將 enwik8 上的最佳模型和相同的超參數應用於 text8,而無需進一步調整。
評估
結果
方法 |
enwiki8 |
text8 |
One Billion Word |
WT-103 |
PTB(未微調) |
Transformer-XL |
0.99 |
1.08 |
21.8 |
18.3 |
54.5 |
引用信息
@misc{https://doi.org/10.48550/arxiv.1901.02860,
doi = {10.48550/ARXIV.1901.02860},
url = {https://arxiv.org/abs/1901.02860},
author = {Dai, Zihang and Yang, Zhilin and Yang, Yiming and Carbonell, Jaime and Le, Quoc V. and Salakhutdinov, Ruslan},
keywords = {Machine Learning (cs.LG), Computation and Language (cs.CL), Machine Learning (stat.ML), FOS: Computer and information sciences, FOS: Computer and information sciences},
title = {Transformer-XL: Attentive Language Models Beyond a Fixed-Length Context},
publisher = {arXiv},
year = {2019},
copyright = {Creative Commons Attribution Non Commercial Share Alike 4.0 International}
}