🚀 YOSO
YOSO 是用於序列長度為 4096 的掩碼語言建模(MLM)的模型,能夠高效處理長序列的語言建模任務,為自然語言處理領域提供了新的解決方案。
🚀 快速開始
你可以按照以下示例代碼使用 YOSO 模型進行掩碼填充任務:
>>> from transformers import pipeline
>>> unmasker = pipeline('fill-mask', model='uw-madison/yoso-4096')
>>> unmasker("Paris is the [MASK] of France.")
[{'score': 0.024274500086903572,
'token': 812,
'token_str': ' capital',
'sequence': 'Paris is the capital of France.'},
{'score': 0.022863076999783516,
'token': 3497,
'token_str': ' Republic',
'sequence': 'Paris is the Republic of France.'},
{'score': 0.01383623294532299,
'token': 1515,
'token_str': ' French',
'sequence': 'Paris is the French of France.'},
{'score': 0.013550693169236183,
'token': 2201,
'token_str': ' Paris',
'sequence': 'Paris is the Paris of France.'},
{'score': 0.011591030284762383,
'token': 270,
'token_str': ' President',
'sequence': 'Paris is the President of France.'}]
✨ 主要特性
YOSO 模型由 Zhanpeng Zeng、Yunyang Xiong、Sathya N. Ravi、Shailesh Acharya、Glenn Fung 和 Vikas Singh 等人在論文 You Only Sample (Almost) Once: Linear Cost Self-Attention Via Bernoulli Sampling 中提出。該模型具有以下重要特性:
- 高效的注意力機制:基於局部敏感哈希(LSH)的伯努利採樣注意力機制,將模型的二次複雜度降低為線性,有效解決了長序列訓練成本高的問題。
- 性能表現出色:在 GLUE 基準測試(標準序列長度 512)中表現良好;在 Long Range Arena(LRA)基準測試中,處理長序列時能取得與軟最大化自注意力相當的結果,同時具有顯著的速度提升和內存節省,並且常常優於其他高效自注意力方法。
論文摘要
基於 Transformer 的模型在自然語言處理(NLP)中被廣泛使用。Transformer 模型的核心是自注意力機制,它捕獲輸入序列中 token 對之間的交互,並且其複雜度與序列長度呈二次關係。在更長的序列上訓練此類模型成本高昂。在本文中,我們表明基於局部敏感哈希(LSH)的伯努利採樣注意力機制可以將此類模型的二次複雜度降低為線性。我們將自注意力視為與伯努利隨機變量相關的單個 token 的總和,原則上可以通過單個哈希一次性採樣(儘管在實踐中,這個數量可能是一個小常數),從而繞過了二次成本。這導致了一種有效的採樣方案來估計自注意力,該方案依賴於對 LSH 的特定修改(以便在 GPU 架構上部署)。我們在 GLUE 基準測試(標準序列長度 512)上評估了我們的算法,相對於標準預訓練的 Transformer,我們看到了良好的性能。在 Long Range Arena(LRA)基準測試中,為了評估在長序列上的性能,我們的方法取得了與軟最大化自注意力一致的結果,但具有顯著的速度提升和內存節省,並且常常優於其他高效自注意力方法。我們的代碼可在該 URL 獲得。