語言模型 (Language Model, LM) 是一個廣泛的術語,指的是用於預測文本序列中下一個詞語(或字符)概率的計算模型。隨著深度學習的發展,出現了許多不同架構和訓練方法的語言模型。以下是一些常見的語言模型及其分類:
基於傳統方法的語言模型:
- n-gram 模型: 這是一種早期的統計語言模型,它基於序列中前 n-1 個詞語來預測下一個詞語的概率。例如,一個 trigram 模型會基於前兩個詞語來預測第三個詞語。雖然簡單,但對於捕捉局部上下文信息仍然有效。
- 前饋神經網路語言模型 (Feedforward Neural Network Language Model): 這類模型使用前饋神經網路來學習詞語的嵌入表示,並根據前幾個詞語的嵌入來預測下一個詞語。
- 遞迴神經網路語言模型 (Recurrent Neural Network Language Model, RNN LM): 這類模型使用 RNN(包括 LSTM 和 GRU)來處理序列數據,能夠捕捉更長距離的依賴關係。
- 標準 RNN LM: 使用基本的 RNN 架構。 LSTM LM: 使用長短期記憶網路 (LSTM) 來解決梯度消失問題,更好地捕捉長期依賴。 GRU LM: 使用門控循環單元 (GRU),結構比 LSTM 更簡潔,也能有效捕捉長期依賴。
- Transformer 語言模型: 這類模型基於 Transformer 架構,完全依賴注意力機制來建模詞語之間的關係,具有並行計算能力和捕捉長距離依賴的優勢。
- 自回歸 (Autoregressive) 模型 (Decoder-only): 這類模型(如 GPT 系列)只使用 Transformer 的解碼器部分,訓練目標是預測序列中的下一個詞語。它們非常擅長文本生成。 自編碼 (Autoencoding) 模型 (Encoder-only): 這類模型(如 BERT)只使用 Transformer 的編碼器部分,訓練目標是理解文本的上下文表示,例如通過掩碼語言模型 (MLM) 等任務。它們更擅長文本理解任務。 編碼器-解碼器 (Encoder-Decoder) 模型: 這類模型(如 T5、BART)同時使用 Transformer 的編碼器和解碼器,適用於序列到序列的任務,例如機器翻譯、文本摘要等。
一些著名的語言模型實例:
- GPT 系列 (Generative Pre-trained Transformer): 由 OpenAI 開發,以強大的文本生成能力著稱,包括 GPT-1、GPT-2、GPT-3、GPT-3.5 (如 ChatGPT 的基礎) 和 GPT-4 等。它們是自回歸模型。
- BERT (Bidirectional Encoder Representations from Transformers): 由 Google 開發,以其雙向上下文表示能力在多個 NLP 理解任務上取得了突破。它是自編碼模型。
- RoBERTa (A Robustly Optimized BERT Pretraining Approach): 一種改進的 BERT 訓練方法,通常在許多任務上優於原始 BERT。
- ALBERT (A Lite BERT for Self-supervised Learning of Language Representations): BERT 的輕量級版本,旨在減少模型大小和提高訓練速度。
- T5 (Text-to-Text Transfer Transformer): 由 Google 開發,將所有 NLP 任務都視為文本到文本的生成問題,使用了編碼器-解碼器架構。
- BART (Bidirectional and Auto-Regressive Transformer): 由 Facebook 開發,結合了 BERT 的雙向編碼器和 GPT 的自回歸解碼器,適用於多種生成和理解任務。
- Llama 系列 (Large Language Model Meta AI): 由 Meta AI 開發和開源的大型語言模型系列。
- PaLM (Pathways Language Model): 由 Google 開發的大型語言模型。
- 有很多針對特定任務或領域優化的語言模型。
總結來說,語言模型的種類繁多,從基於簡單統計方法的 n-gram 模型,到基於複雜神經網路架構(如 RNN 和 Transformer)的現代大型語言模型。不同類型的語言模型在架構、訓練方法和擅長的任務方面有所不同,研究人員和開發者會根據具體的需求選擇合適的模型。