語言模型初探

閱讀時間約 8 分鐘


語言模型定義可以參考: https://zh.wikipedia.org/wiki/%E8%AA%9E%E8%A8%80%E6%A8%A1%E5%9E%8B


簡單的說法語言模型就自然語言中的詞語機率分佈模型,語言模型可以確定哪個詞語出現的可能性更大,或者通過若干上文語境詞來預測下一個最可能出現的詞語。

中文白話說的例子,用nGram來看,如果透過結巴或中研院等工具"斷詞"後的結果,可以想像兩句話(個別獨立的兩句話,從"我"開始,看後面接龍的機率: 我今天(明天)中午(晚上)想吃燒酒雞(我 今天 中午 想 吃 燒酒雞)或(我 明天 晚上 想 吃 燒酒雞) 出現的機率<=假設上面這兩句作為例子的斷詞完的結果,那麼如果用Unigram來看(單詞-單詞間的關係),他會是:

{
"我": 0.25,
"今天": 0.20,
"明天": 0.15,
"中午": 0.10,
"晚上": 0.15,
"想": 0.05,
"吃": 0.03,
"燒酒雞": 0.07,
}

個別的單詞與單詞間的關係長相會是像上面的描述,而如果"不要"斷詞的話,因為中文不像英文天然的有空格當作字與字的分隔,所以你可以想像他可能會是:

{
"我": 0.35,
"今": 0.05,
"明": 0.04,
"天": 0.10,
"中": 0.06,
"午": 0.05,
"晚": 0.05,
"上": 0.05,
"想": 0.05,
"吃": 0.05,
"燒": 0.05,
"酒": 0.04,
"雞": 0.06,
}

或是(假設故意用標點符號冒充像英文的空格):

{
"我今天中午想吃燒酒雞": 0.5,
"我明天晚上想吃燒酒雞": 0.5,
"還是你有別的想法": 0.25,
"我們討論看看再決定好不好": 0.25,
}

透過這樣的說明,大家應該可以有個粗淺的認識。


然後在接龍之後有個重要的東西是字詞向量獨立語意模式Word Embedding,他很在意獨立語意個別的關係,將個別的字詞投影到空間上,形成一個詞與詞可以進行運算的維度空間模式。(跟接龍有一點點不大一樣),詳情可以參考這邊:https://zh.wikipedia.org/zh-tw/%E8%AF%8D%E5%B5%8C%E5%85%A5


比較有影響的實作參考:

Word2vec是自然語言處理(NLP)中的一項技術,用於取得單字的向量表示。這些向量根據周圍的單字捕獲有關單字意義的資訊。 word2vec 演算法透過對大型語料庫中的文字進行建模來估計這些表示。經過訓練,這樣的模型可以偵測同義詞或為部分句子建議附加單字。 Word2vec 由Tomáš Mikolov和 Google 的同事開發,於 2013 年發布。

Word2vec 將單字表示為高維數字向量,用於捕捉單字之間的關係。特別是,出現在相似上下文中的單字被映射到透過餘弦相似度測量的附近的向量。這顯示了單字之間的語義相似程度,例如walkran的向量很接近,but然而以及BerlinGerman 的向量也很接近。


FastText 是一個開源、免費、輕量級的函式庫,可讓使用者學習文字表示和文字分類器。它適用於標準的通用硬體。隨後可以縮小模型的尺寸,甚至可以適應行動裝置。

英文向量:

https://fasttext.cc/docs/en/english-vectors.html

多國語言向量:

https://fasttext.cc/docs/en/crawl-vectors.html


GloVe 是一種用於獲取單字向量表示的無監督學習演算法。訓練是對來自語料庫的聚合的全局詞-詞共現統計數據進行的,所得的表示展示了詞向量空間的有趣的線性子結構。

中文資源參考:

GitHub - YingZhuY/GloVe_Chinese_word_embedding: 根据维基中文语料库预训练 GloVe 中文词向量;Pre-train GloVe word-embedding From Chinese Wiki corpus

英文資源參考:

GloVe: Global Vectors for Word Representation (stanford.edu)


接著我們就來看看近年影像最大的Transformers,他發展出來的重要應用參考點:

raw-image


Transformer 架構於2017 年 6 月推出。隨後推出了幾個有影響力的模型,包括:

  • 2018年6月GPT,第一個預先訓練的Transformer模型,用於對各種NLP任務進行微調,並獲得了state-of-the-art的結果
  • 2018 年 10 月BERT,另一個大型預訓練模型,旨在產生更好的句子摘要(下一章將詳細介紹!)
  • 2019 年 2 月GPT-2,GPT 的改進(和更大)版本,由於道德問題沒有立即公開發布
  • 2019 年 10 月DistilBERT,BERT 的精煉版,速度提高了 60%,記憶體減少了 40%,但仍保留了 BERT 97% 的效能
  • 2019 年 10 月BARTT5,兩個大型預訓練模型,使用與原始 Transformer 模型相同的架構(第一個這樣做的)
  • 2020 年 5 月GPT-3,GPT-2 的更大版本,能夠在各種任務上表現良好,無需微調(稱為零樣本學習

這個清單遠非全面,只是為了強調一些不同類型的 Transformer 模型。概括地說,它們可以分為三類:

  • 類似 GPT(也稱為自回歸Transformer 模型)
  • 類別 BERT(也稱為自動編碼Transformer 模型)
  • 類似 BART/T5(也稱為序列到序列Transformer 模型)

上述的所有 Transformer 模型(GPT、BERT、BART、T5 等)都已被訓練為語言模型。這意味著他們已經以自我監督的方式接受了大量原始文本的培訓。自監督學習是一種根據模型的輸入自動計算目標的訓練。這意味著不需要人類來標記數據!


一般常見的任務回到我們主題語言模型,這稱為因果語言建模,因為輸出取決於過去和現在的輸入,而不是未來的輸入。

raw-image



另一個例子是MASK(遮罩)語言建模,其中模型預測句子中的遮罩詞。

raw-image




而我們實際上訓練這些模型時,需要龐大的資源,非一般人能及。所以我們會需要

做的經常是finetune模型來達到我們要的目的。微調是在模型預訓練進行的訓練。要執行微調,您首先需要取得預先訓練的語言模型,然後使用特定於您的任務的資料集執行額外的訓練。微調模型的時間、數據、財務和環境成本較低。迭代不同的微調方案也更快、更容易,因為訓練比完整的預訓練限制更少。這個過程還將比從頭開始訓練獲得更好的結果(除非您有大量數據),這就是為什麼您應該始終嘗試利用預訓練模型(盡可能接近您的任務)並進行微調它。


Transformer模型主要由兩個區塊組成。

raw-image
  • 編碼器(左):編碼器接收輸入並建構其表示(其特徵)。這意味著模型經過優化以從輸入中獲取理解。
  • 解碼器(右):解碼器使用編碼器的表示(特徵)以及其他輸入來產生目標序列。這意味著該模型針對生成輸出進行了最佳化。


因為要解決的問題不同,通常可以分類為:

  • 僅編碼器模型:適用於需要理解輸入的任務,例如句子分類和命名實體識別。
  • 僅解碼器模型:適用於文字產生等生成任務。
  • 編碼器-解碼器模型序列到序列模型:適用於需要輸入的生成任務,例如翻譯或摘要。







4會員
73內容數
記錄生活與技術的小細節
留言0
查看全部
發表第一個留言支持創作者!
iBonnie_愛邦尼 的其他內容
檢查torch版本 import torch torch.__version__ 檢查cuda可用性/版本 import torch torch.version.cuda #版本 torch.cuda.is_available() #有無 torch.cuda.device_count
建議安裝minianaconda或是anaconda後建立一個虛擬環境(如果你熟悉docker也很建議用docker來進行作業) 底下套件也都不是絕對必要,只是建議裝一裝。 pip install pandas pip install numpy pip install scikit-learn
本文將介紹如何安裝CUDA和cuDNN,並提供注意事項。隨著安裝步驟和提示,確保您能成功安裝這些必要的套件。
該文章介紹了浮點數精度的概念,包括雙精度、單精度、半精度、8位精度、4位精度、量化精度、多精度和混合精度。同時還介紹了nVidia A100開始的TF32精度和BF16格式,並提供了相關的數據對比。文章強調了TF32和BF16的潛在應用價值及特點。
搜尋.......支援的driver: apt search nvidia-drive 最新支援到545,我們來裝545好了(通常我會選擇前一版,我也建議選前一版,像是python12 我們就選python11) sudo apt install nvidia-driver-545 sudo
ggml 是一個通用的機器學習框架,它可以應用於多種模型。它主要使用純 C 語言,並且輕量且適用於 Apple 裝置。ggml 支援許多模型,包括文字和圖片語音相關的模型,如 GPT-2、Llama、CLIP、Whisper 和 Stable Diffusion。 llama.cpp 則是基於 g
檢查torch版本 import torch torch.__version__ 檢查cuda可用性/版本 import torch torch.version.cuda #版本 torch.cuda.is_available() #有無 torch.cuda.device_count
建議安裝minianaconda或是anaconda後建立一個虛擬環境(如果你熟悉docker也很建議用docker來進行作業) 底下套件也都不是絕對必要,只是建議裝一裝。 pip install pandas pip install numpy pip install scikit-learn
本文將介紹如何安裝CUDA和cuDNN,並提供注意事項。隨著安裝步驟和提示,確保您能成功安裝這些必要的套件。
該文章介紹了浮點數精度的概念,包括雙精度、單精度、半精度、8位精度、4位精度、量化精度、多精度和混合精度。同時還介紹了nVidia A100開始的TF32精度和BF16格式,並提供了相關的數據對比。文章強調了TF32和BF16的潛在應用價值及特點。
搜尋.......支援的driver: apt search nvidia-drive 最新支援到545,我們來裝545好了(通常我會選擇前一版,我也建議選前一版,像是python12 我們就選python11) sudo apt install nvidia-driver-545 sudo
ggml 是一個通用的機器學習框架,它可以應用於多種模型。它主要使用純 C 語言,並且輕量且適用於 Apple 裝置。ggml 支援許多模型,包括文字和圖片語音相關的模型,如 GPT-2、Llama、CLIP、Whisper 和 Stable Diffusion。 llama.cpp 則是基於 g
你可能也想看
Google News 追蹤
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
大型語言模型(Large Language Model,LLM)是一項人工智慧技術,其目的在於理解和生成人類語言,可將其想像成一種高階的「文字預測機器」,然而,它們並非真正理解語言。除了在上篇介紹的技巧可以協助我們在使用 LLM 時給予指示之外,今天我們會介紹使用 LLM 的框架。
Thumbnail
大型語言模型 (LLM) 在最近幾年取得了重大進展,並引起了人們對生成式AI將如何影響工作方式的廣泛重視。雖然 LLM 具有強大的文本生成、翻譯和理解能力,但它們對工作的影響仍然是一個複雜且充滿爭議的話題。 本文摘要自MIT 史隆管理評論,分析LLM 對工作帶來的影響。
Thumbnail
大型語言模型(Large Language Model,LLM)是一項人工智慧技術,其目的在於理解和生成人類語言,可將其想像成一種高階的「文字預測機器」。 Prompt Pattern 是給予LLM的指示,並確保生成的輸出擁有特定的品質(和數量)。
Thumbnail
大語言模型(LLMs)對於任何對人工智能和自然語言處理感興趣的人來說都是一個令人興奮的領域。 這類模型,如GPT-4, 透過其龐大的數據集和複雜的參數設置, 提供了前所未有的語言理解和生成能力。 那麼,究竟是什麼讓這些模型「大」得如此不同呢?
Thumbnail
如果你曾經嘗試學習多種語言, 你會發現每種語言都有其獨特之處。 在我26至28歲期間, 我系統地學習了語言學知識, 以此來輔助我學習俄語、法語、德語、義大利語和西班牙語。 這個過程中, 我發現了大語言模型(LLMs)在語言學習上的巨大潛力。
Thumbnail
為了避免GPT模型對人類社會造成危害,要有一個指標來評量個語言模型的資訊透明度。當有關於模型的公開訊息越多,無論是訓練資料的取得來源與資料搜集方法,還是模型細節的接露,與產生結果的限制用途與目標客群等等,都是這篇論文關心且要衡量的指標,藉由評分防止發行人工智慧的大科技公司可能造成的社會危害
Thumbnail
知識的詛咒,或稱為"專家的詛咒"(Curse of Knowledge),是指一旦人們理解或掌握了某種知識,就很難回到那種不理解或不知道的狀態,使得難以理解那些還未掌握相同知識的人的視角。這種現象在教育和溝通中尤其明顯,經常讓專家難以有效地傳達他們的知識給初學者。 當我在和孩子溝通時,也常發生…
Thumbnail
雖然ChatGPT這種基於大型語言模型(LLM)的助手, 在大部分的場景都能滿足我們的需求, 但也並非完美, 在使用時仍需注意一些隱患。 以下是LLM的一些缺陷及需要注意的點。 弱弱的數學造成明顯錯誤 過份樂觀帶來錯誤資訊 相信常常使用ChatGPT的朋友應該都有發現到, 不論我們怎麼提問, Cha
Thumbnail
[進行中未完成] 1.簡介 本文旨在讓沒有計算機科學背景的人對ChatGPT和類似的人工智能系統 (如GPT-3、GPT-4、Bing Chat、Bard等)有一些了解。 ChatGPT是一種聊天機器人,是建立在大型語言模型之上的對話型人工智能。專業術語可能會讓人感到陌生,但此文將一一解釋這些概念。
Thumbnail
藉由Michal Kosinski教授所撰寫的研究論文中針對大型語言模型(LLMs)中出現人類獨有的心智理論現象,延續討論上篇文章中我所提出「人工智慧與人之間的差異?意識?」一問;並思考我們與AI的距離:當「我思故我在」不僅僅用在人類身上時,我們還有什麼是身為人獨有的特質?
Thumbnail
接下來第二部分我們持續討論美國總統大選如何佈局, 以及選前一週到年底的操作策略建議 分析兩位候選人政策利多/ 利空的板塊和股票
Thumbnail
🤔為什麼團長的能力是死亡筆記本? 🤔為什麼像是死亡筆記本呢? 🤨作者巧思-讓妮翁死亡合理的幾個伏筆
Thumbnail
大型語言模型(Large Language Model,LLM)是一項人工智慧技術,其目的在於理解和生成人類語言,可將其想像成一種高階的「文字預測機器」,然而,它們並非真正理解語言。除了在上篇介紹的技巧可以協助我們在使用 LLM 時給予指示之外,今天我們會介紹使用 LLM 的框架。
Thumbnail
大型語言模型 (LLM) 在最近幾年取得了重大進展,並引起了人們對生成式AI將如何影響工作方式的廣泛重視。雖然 LLM 具有強大的文本生成、翻譯和理解能力,但它們對工作的影響仍然是一個複雜且充滿爭議的話題。 本文摘要自MIT 史隆管理評論,分析LLM 對工作帶來的影響。
Thumbnail
大型語言模型(Large Language Model,LLM)是一項人工智慧技術,其目的在於理解和生成人類語言,可將其想像成一種高階的「文字預測機器」。 Prompt Pattern 是給予LLM的指示,並確保生成的輸出擁有特定的品質(和數量)。
Thumbnail
大語言模型(LLMs)對於任何對人工智能和自然語言處理感興趣的人來說都是一個令人興奮的領域。 這類模型,如GPT-4, 透過其龐大的數據集和複雜的參數設置, 提供了前所未有的語言理解和生成能力。 那麼,究竟是什麼讓這些模型「大」得如此不同呢?
Thumbnail
如果你曾經嘗試學習多種語言, 你會發現每種語言都有其獨特之處。 在我26至28歲期間, 我系統地學習了語言學知識, 以此來輔助我學習俄語、法語、德語、義大利語和西班牙語。 這個過程中, 我發現了大語言模型(LLMs)在語言學習上的巨大潛力。
Thumbnail
為了避免GPT模型對人類社會造成危害,要有一個指標來評量個語言模型的資訊透明度。當有關於模型的公開訊息越多,無論是訓練資料的取得來源與資料搜集方法,還是模型細節的接露,與產生結果的限制用途與目標客群等等,都是這篇論文關心且要衡量的指標,藉由評分防止發行人工智慧的大科技公司可能造成的社會危害
Thumbnail
知識的詛咒,或稱為"專家的詛咒"(Curse of Knowledge),是指一旦人們理解或掌握了某種知識,就很難回到那種不理解或不知道的狀態,使得難以理解那些還未掌握相同知識的人的視角。這種現象在教育和溝通中尤其明顯,經常讓專家難以有效地傳達他們的知識給初學者。 當我在和孩子溝通時,也常發生…
Thumbnail
雖然ChatGPT這種基於大型語言模型(LLM)的助手, 在大部分的場景都能滿足我們的需求, 但也並非完美, 在使用時仍需注意一些隱患。 以下是LLM的一些缺陷及需要注意的點。 弱弱的數學造成明顯錯誤 過份樂觀帶來錯誤資訊 相信常常使用ChatGPT的朋友應該都有發現到, 不論我們怎麼提問, Cha
Thumbnail
[進行中未完成] 1.簡介 本文旨在讓沒有計算機科學背景的人對ChatGPT和類似的人工智能系統 (如GPT-3、GPT-4、Bing Chat、Bard等)有一些了解。 ChatGPT是一種聊天機器人,是建立在大型語言模型之上的對話型人工智能。專業術語可能會讓人感到陌生,但此文將一一解釋這些概念。
Thumbnail
藉由Michal Kosinski教授所撰寫的研究論文中針對大型語言模型(LLMs)中出現人類獨有的心智理論現象,延續討論上篇文章中我所提出「人工智慧與人之間的差異?意識?」一問;並思考我們與AI的距離:當「我思故我在」不僅僅用在人類身上時,我們還有什麼是身為人獨有的特質?