日本电影一区二区三区-日本调教网站-日本碟片在线播放-日本丰满大乳人妻无码-日本丰满大乳人妻无码苍井空-日本丰满大乳人妻无码水卜樱

資訊> 正文

AI技術干貨|從頭開始圖解大語言模型(上篇)

時間: 2023-07-29 13:10:29 來源: 金博士

在閱讀本文前,有幾個熱身的問題,您嘗試回答一下。


(相關資料圖)

1. 什么是大語言模型(LLM)?

2. 大語言模型開發與傳統機器學習開發有什么區別?

3. 什么是任務特定模型?

4. 什么是大語言模型的微調和參數有效調整?

5. 如何理解大語言模型的一體多用特性?

下面就讓我們開啟探討大語言模型奧秘之旅。

引言

深度學習的子領域中有兩個重要的概念:大型語言模型(LLMs)和生成式人工智能(Generative AI)。這兩者在許多方面都有交集,并且都屬于深度學習的研究范疇。如果您對生成式人工智能感興趣,建議您閱讀金博士的《生成式人工智能簡介》一文。

在過去的幾年中,生成式人工智能發展迅速,吸引了大量的關注。這種類型的人工智能能夠生成全新的內容,包括文本、圖像、音頻和合成數據。

本文我們探討一下什么是大型語言模型。這類模型預先通過大量的文本數據進行訓練,通常是從互聯網或其他公開可獲取的書籍中提取的。預訓練期間,模型學習并理解文本數據的模式和結構。之后,在微調階段,模型會根據特定的任務進行優化,這些任務可能包括機器翻譯、文本生成、情感分析等。

下面我們通過幾個通俗易懂的示例,逐步對大模型的工作機理展開進行講解,希望能夠讓更多的讀者掌握相關的背景知識。

根據使用頻率進行字詞的推薦

首先,讓我們以平時使用手機時的場景作為起點,相信大家一定會對手機輸入法的自動補全功能有所了解。不知你有沒有想過它到底是如何工作的呢?舉例來說,當輸入"我“之后,系統會提供一些后續詞語建議,比如”在“、”的“、”現在“等。為什么會推薦這幾個字或詞組呢?因為,這些組合是我們經常用到的,在日常生活中,使用頻率極高。

圖 1 手機輸入“我”之后的推薦

當我們繼續輸入或選擇“現在”之后,系統會進一步給出以“我現在...”開頭的字、詞和句子的組合建議。

圖 2 手機輸入“我現在”之后的推薦

我們可以從候選列表中,根據自己的需要進行選擇,比如:“我現在過來”等。

上述示例雖然簡單,卻揭示了大語言模型如何通過預測和建議下一個可能的詞匯來幫助我們更高效地進行輸入和生成內容的機理。

注:由于存在使用習慣不同以及使用時間長短等因素,每個人在自己手機上輸入相同字或詞組之后,系統給出的推薦選項可能會不同。

字詞使用頻率是動態變化的

在社會的發展和演進過程中,詞匯的使用頻率會隨著時間的推移而變化。在這個過程中,有些詞匯可能會逐漸被淘汰,而一些新的詞匯又會出現。舉個例子,英文單詞"tye"在19世紀初期的使用頻率相當高,然而在今天,你可能需要閱讀幾千萬字才能偶然遇到一次。再比如,中文的“先生”一詞,隨著社會的變化和語言的發展,這個詞在不同的時期,其使用的場景和頻率也會有很大差別。另外,在科技發展迅速的今天,許多科技相關的新詞匯被創造出來,并被廣泛使用,比如“互聯網”,“智能手機”,“人工智能”和“類腦計算”等等。

圖 3 在 1825 年先生一詞的使用頻率

圖 4 2012 年先生一詞的使用頻率

我們可能沒有注意到,當我們在使用搜索引擎進行查詢時,存在同樣的過程。搜索引擎會對每一個查詢進行評分,這個評分基于它的使用頻率,也就是看這個查詢被多少人使用過。

同樣的,語言模型也會通過類似的方法預測你接下來可能要輸入的詞匯或者短語。這一切,都是大語言模型工作的一部分。目前很多AI工具都有當語句補全功能,比如,當我們要求 ChatGPT 對輸入“我在上海參加 2023 年世界人工智能大會...”時,工具會按照一定的規則,給出建議的多個句子,我們可以根據自己的需要,進行選用,這極大地方便了我們的日常工作。

圖 5 ChatGPT 句子補全功能示例

不過,語言建模絕不是給每個句子分配一個概率值這么簡單,固然,使用頻率是一種測量句子出現可能性的方法。但是,只依賴于頻率來預測就會遇到一個問題,那就是無法給未出現過的新句子打分。

以"金博士在月球上買了一公頃地修了一座禪院用于招待外星人"為例,這是一個合理且通順的句子,但可能在到目前為止的所有歷史文本中從未出現過。在這種情況下,如何為該句子分配一個概率值?也許,你會好奇:真的有那么多新的句子可以生成嗎?考慮到每天互聯網上的帖子數量之巨,我們是否已經窮盡了所有可能的詞匯組合呢?

我們可以進行一個簡單的計算:英語中有超過十萬個詞匯,一個典型的句子通常包含超過10個詞,那么總的組合數將達到10的50次方,這是一個非常大的數字,遠超我們的想象。

實際上,大部分的句子可能永遠不會被人所看到或使用。因此,要真正地建模語言,我們需要做的不僅僅是統計已經存在的句子。我們還需要通過某種方式來模擬語言的各種規則,包括語法、風格等等。這就需要我們的模型能夠理解和生成語言,而不僅僅是對歷史數據進行統計。這是大語言模型的一個重要任務,也是它的核心挑戰。

深入剖析文本生成的機理

下面是一段來自諾貝爾獎得主鮑勃·迪倫的歌曲《Tangled Up In Blue》中的一段歌詞,我們將以這段歌詞為例,討論大語言模型(LLM)生成內容的工作機理。

“Early one morning the sun was shining I was laying in bed wondering if she"d changed at all if her hair was still red”

假設我們嘗試構建一個可以寫出像鮑勃·迪倫那樣的語言模型,我們首先把這段文字看作是一個時間序列,每個單詞都依賴于前一個單詞。

注意到單詞“was”出現了三次。我們把這三個實例合并成一個,這樣我們的序列就變成了如下的一個圖。

圖 6 合并單詞was之后的圖示

歌詞中另一個重復的詞是`if`,我們也把這兩個合并一下。

圖 7 準備合并單詞if

單詞"was"和單詞“if”合并之后的圖如下所示。

圖 8 單詞was和 if 合并和的圖

把文本視為時間序列是理解語言模型如何工作的一個關鍵概念。在這個視角下,每個單詞都可以視為受到它前面單詞影響的結果。通過這種方式,模型可以學習詞序列的統計規律,預測接下來可能出現的詞。如果我們在這些邊上添加概率,它就成為了一個語言模型,你可以使用它來生成像鮑勃·迪倫那樣的文字。

圖 9 單詞was和 if合并后不同從句的概率分布圖

舉例來說,如果從單詞"early"開始,可以按照圖中紅點從左至右逐字地遵循正確的分支序列,我們將逐步還原鮑勃原始的歌詞,“Early one ...”。

圖 10 根據概率分布在線鮑勃迪倫的歌詞一

當紅點依次移動時,如果沒有分叉就把當前的單詞作為預測的單詞生成出來。 “Early one morning the ...”。

圖 11 根據概率分布在線鮑勃迪倫的歌詞二

當遇到多路徑的分叉口時,可以根據后續路徑可能出現的概率進行選著生成,這里我們選擇原歌詞的路徑,如此類推... 。“Early one morning the sun was shining I was laying in ...”。

圖 12 根據概率分布在線鮑勃迪倫的歌詞三

在實際應用中,大語言模型會提供一個模型參數供用戶進行配置,是單純地按照概率選在下個路徑中的內容,還是增加一定的隨機性,后續文章會有更多的介紹。

生成全新的詞句

下面,我們嘗試生成一個在歌曲中沒有出現過的全新的短語。我們將從"the"開始,然后沿著圖中的分支走。

圖 13 從中間開始根據概率分布生成新的類似鮑勃迪倫風格的歌詞一

這次我們選擇第三個分支,形成新的短語“the sun was still red”。

圖 14 從中間開始根據概率分布生成新的類似鮑勃迪倫風格的歌詞二

因為我們是根據鮑勃迪倫的歌詞模型生成的新短語,雖然是全新的短語,但聽起來就像是鮑勃·迪倫的作品。

但是,如果隨機地嘗試其它的路徑,則可能會產生奇怪的結果,其中大部分都是些無意義的內容。例如:“I was shing ...”, "I was still red"等短語。

圖 15 從中間開始根據概率分布生成新的類似鮑勃迪倫風格的歌詞三

我們將在下面討論如何改善上述簡單隨機方法產生垃圾或無用短語的情形。

簡單模型的問題

通過上述方法構建了一個簡單的語言模型,該模型也被稱為馬爾科夫模型。這種模型的基本思想是,給定當前的單詞,下一個單詞的概率只取決于當前的單詞。這種模型非常有效,因為它可以生成新的、在原始數據中未出現過的句子,而且這些句子在語法和風格上往往都是合理的。

然而,僅僅使用馬爾科夫模型來生成文本也存在一些問題。例如,這種模型無法很好地處理長距離的依賴關系。也就是說,如果一個句子中的某個詞依賴于很早之前的詞,那么這種依賴關系在馬爾科夫模型中無法得到很好的處理。另外,由于馬爾科夫模型僅僅關注單詞的頻率,而沒有考慮深層的語言結構,所以它生成的文本可能在語義上存在問題,甚至可能生成一些無意義的句子。

因此,盡管馬爾科夫模型可以在一定程度上模擬鮑勃·迪倫的寫作風格,但要生成真正具有深度和感情的文本,我們還需要更復雜的語言模型。這些模型需要能夠理解和生成語言的深層結構,包括語法、語義,甚至是隱含的情感和語境。對于這段鮑勃·迪倫的詩句來說,如果我們只是簡單地關注單詞的頻率和順序,就無法捕捉到它的旋律、情感和含義。這就需要我們的模型具有更高級的語言理解能力,這是語言模型的一個重要目標,也是它的核心挑戰。

改進方案

如何使我們的模型更加完善呢?首先,我們可以使用更多的文本來構建我們的模型。如果你使用整首歌來建立模型,結果可能會有所改善。但是,這些生成的句子還是有點奇怪。真正的問題在于,我們的模型過于簡化。它假設每個單詞僅取決于前一個單詞。我們可以把這種關系寫成條件概率的形式。

P(Xn | Xn-1)

這是當前單詞Xn在前一個單詞是 Xn-1時出現的概率。如果不僅僅考慮兩個單詞之間的關系,還考慮三個單詞連續出現的情形,那么,我們可能會得到更好的結果。下面先建立一個所有連續的三元組(trigrams)表格。

圖 16 歌詞三元組的例子

我們可以使用這些trigrams來定義在前兩個單詞同時出現的情況下的,當前單詞緊跟其后出現的概率。

P(Xn|Xn-1,Xn-2)

通過三元組概率生成文本,其結果比二元組要稍微好一些,但還是不夠好。問題在于,這些單詞之間可能存在相當長距離的依賴關系。例如,單詞 red不但與三個單詞之前的 hair有關,而且也與13個單詞之前的bed押韻。如果忽略了這些押韻的要求,生成的歌曲就沒有原來的味道了。

圖 17 超過三元組關聯的例子

當然我們還是可以通過采用更長的條件概率函數來進行下一個單詞的預測,比如采用如下的條件概率函數,即當前單詞出現的概率和其前面 13 個單詞都一起出現的情形有關系。下圖給出了這種組合的可能情形,由圖可以看出,這種組合的可能性太多了,為此我們需要尋求更好的解決方案。

圖 18 基于前面 13 個單詞的條件概率及其組合的可能性

為了解決上述問題,我們需要構建一個更復雜的模型,這個模型能夠考慮更長距離的依賴關系。這就需要使用更高級的模型,比如遞歸神經網絡(RNN)或者變換器(Transformer)模型。這些模型可以記住之前的信息,從而處理長距離的依賴關系。

例如,遞歸神經網絡(RNN)通過將前一個時間步的隱藏狀態作為輸入來處理長距離的依賴關系。這意味著,模型在生成下一個單詞時,會考慮到所有之前的單詞,而不僅僅是前一個或前兩個單詞。

而變換器(Transformer)模型則通過自注意力機制來處理長距離的依賴關系。自注意力機制允許模型在生成下一個單詞時,注意到所有之前的單詞,并根據這些單詞的重要性賦予它們不同的權重。

通過使用這些更復雜的模型,我們可以更好地模擬像鮑勃·迪倫那樣的語言風格,處理長距離的依賴關系,甚至模擬詩歌的押韻和節奏。

下面我們將從神經網絡的角度繼續探討上述文本生成的例子。

神經網絡方法

函數近似的方法

如前所述,為了精確對語言建模,需要引入更長或更復雜的條件概率函數。由于這些函數的復雜程度極高,我們無法對其進行精確模擬,不過,我們可以嘗試對其進行近似。對某個函數的近似方法有許多,比如大家熟知的傅立葉級數,它通過正弦和余弦來近似一個函數,或者是泰勒級數,它由多項式的和組成。這兩者都被認為是通用近似器,因為它們幾乎能近似任何函數。

神經網絡則是另一種通用的近似器,它的優勢在于,不需要對要近似的函數有詳細的了解,只需要知道輸入和輸出的對應數據即可。

圖 19 三種函數近似的方法

我們來使用神經網絡嘗試一個函數近似的例子。這個函數的表達式為f(x) = sin(x) - x^2/2

圖 20 函數 sin(x)-x^2/10

我們的目標是嘗試用一個包含五個節點和八個權重的神經網絡對其進行近似。

圖 21 用神經網絡來近似一個正弦函數

首先,我們選取圖形上的一個x位置,并將這個值通過神經網絡進行傳遞。在第一層中,神經網絡將x復制多份,并將每個復制品乘以一個獨立的權重。

圖 22 對正弦函數近似圖一

接下來,每個加權副本會通過一個名為sigmoid的S型曲線激活函數進行處理,然后乘以新的權重并加起來。這個結果,我們稱之為y,是對函數f(x)的近似值。

圖 23 對正弦函數近似圖二

我們可以把y的值繪制出來,觀察其與我們試圖擬合的函數的差距。

圖 24 對正弦函數近似圖三

這個差距我們稱之為誤差。在開始時,可以看到誤差相當大。這主要是由于我們隨機生成的權重。為了減小這個誤差,我們不僅僅處理一個數據點,而是向網絡發送許多不同的x值,生成一系列的y 值,在下圖中以紅線表示。

圖 25 對正弦函數近似圖四

然后,我們定義一個誤差函數,該函數的目標是累計所有這些紅線和藍線之間的差異。這些誤差將被用來更新權重,這個過程我們稱之為神經網絡的訓練。

圖 26 對正弦函數近似圖五

經過數千次乃至幾萬次的的重復更新后,我們將得到一條能夠非常好地擬合原函數的曲線。

圖 27 經過多次訓練后神經網絡可以擬合正弦函數的 gif 圖示

上述函數近似過程,另外一種理解方法是,我們可以將誤差函數看作是一種地形圖,目標就是尋找最低點或者說是最低的盆地。如果我們能直接看到整個函數的圖形,那么尋找最低點相對比較直接。但在實際情況中,我們往往無法直接看到整個函數,就像是在霧中尋找方向一樣困難。

圖 28 將誤差優化視作從地形圖下降

在這種情況下,我們通常會根據在當前位置的觀察來決定下一步的移動。也就是說,我們會在當前的位置計算函數的梯度,這個梯度會指向函數值下降最快的方向。然后我們按照這個方向進行移動,這個過程就叫做梯度下降。

圖 29 按照梯度下降進行誤差優化的示意圖

在優化神經網絡的過程中,梯度下降是一種常見的方法。我們需要的是誤差函數的梯度,這是一個向量,每個元素對應一個神經網絡權重的偏導數。計算這些偏導數的過程對于神經網絡來說并不復雜,我們可以在網絡中反向傳播過程中一次性計算完所有的偏導數,這個過程被稱為反向傳播。

反向傳播在神經網絡中有著至關重要的作用,它使得神經網絡能夠學習到從輸入到輸出的映射關系。經過大量的訓練數據和反復的迭代,神經網絡的權重將逐步優化,使得網絡的輸出與真實的目標值越來越接近。這也是神經網絡能夠在眾多任務,如圖像識別、自然語言處理等領域表現出色的重要原因。

責任編輯:李楠

分享到:版權聲明:凡注明來源“流媒體網”的文章,版權均屬流媒體網所有,轉載需注明出處。非本站出處的文章為轉載,觀點供業內參考,不代表本站觀點。文中圖片均來源于網絡收集整理,僅供學習交流,版權歸原作者所有。如涉及侵權,請及時聯系我們刪除!

關鍵詞:

責任編輯:QL0009

為你推薦

關于我們| 聯系我們| 投稿合作| 法律聲明| 廣告投放

版權所有 © 2020 跑酷財經網

所載文章、數據僅供參考,使用前務請仔細閱讀網站聲明。本站不作任何非法律允許范圍內服務!

聯系我們:315 541 185@qq.com

主站蜘蛛池模板: 久久久久久99精品 | 亚洲色久桃花在线 | 亚洲天堂三区 | 久久久久久人妻一区精品 | 国产剧情在线精品视频不卡 | 亚洲成v人片在线观看福利 亚洲成v人片在线观看天 | 国产另类图片综合区小说 | 国产日韩精品一区二区三区在线 | 色婷婷香蕉在线一区二区蜜月视频 | av片在线无码免费看 | 日本AAAA特级毛片 | 天美传媒在线观看 | 久久激情五月 | 久久精品视频免费 | 二区啪视频 | 伊人综合在线 | 国产综合成人观看在线 | 日韩一区二区三区北条麻妃 | 国产热久久精 | 日韩视频在线观看 | 麻豆产精品一二三产区区 | 国产精品成人A片在线果冻 国产精品成人a区在线观看 | 久久久久无码国产精品不卡 | 色悠久久久久综合欧美 | 91免费网址 | 制服肉丝袜亚洲中文字幕 | 亚洲最大无码AV网站观看 | 99久久免费国产精品成人一区二区 | 亚洲欧美日韩一区二区三区在线 | 欧美 日本 亚欧在线观看 | 亚洲 欧美 日本 国产 高清 | 欧美成人中文字幕在线看 | 日日躁夜夜躁狠狠久久AV | 视频一区二区三区欧美日韩 | 一区二区三区在线视频观看 | av片在线免费观看 | 国产精品亚洲专区无码导航 | 日本A片中文字幕精华液 | 99久无码中文字幕 | 国产成人无码情景v | 欧美激情A片无码大尺度 |