量化交易軟件:赫茲量化系統(tǒng)自 GPT 獲取的探索
在 2018 年 6 月,OpenAI 提出了 GPT 神經(jīng)網(wǎng)絡模型,該模型立即在多種語言類測試中展現(xiàn)出極佳結果。 GDP-2 于 2019 年出現(xiàn),而 GPT-3 則于 2020 年 5 月提出。 這些模型展示了神經(jīng)網(wǎng)絡生成相關文本的能力。 尚有其他實驗涉及生成音樂和圖像的能力。 這一模型的主要缺點與它們涉及的計算資源相關。 在配備 8 顆 GPU 的計算機上訓練第一個 GPT 花費了一個月的時間。 為了解決新問題,使用預先訓練的模型,可部分彌補這一缺陷。 但考慮到模型的規(guī)模,需要大量資源來維持模型的運行。
1. 理解 GPT 模型
從概念來講,GPT 模型是在之前研究的變換器基礎上構建的。 主要思路是基于大數(shù)據(jù)針對模型進行無監(jiān)督預訓練,然后再依據(jù)相對少量的標記數(shù)據(jù)進行微調。
分兩步訓練的原因在于模型規(guī)模。 像 GPT 這樣的現(xiàn)代深度機器學習模型涉及大量參數(shù),可多達數(shù)億個。 因此,這種神經(jīng)網(wǎng)絡的訓練需要大量的訓練樣本。 當采用監(jiān)督學習時,創(chuàng)建帶標記的訓練樣本集合是件勞動密集型工作。 與此同時,網(wǎng)站上有許多不同的數(shù)字化和無標記文本,這些文本非常適合模型的無監(jiān)督訓練。 然而,統(tǒng)計數(shù)據(jù)表明,無監(jiān)督學習相較監(jiān)督學習,其結果要差很多。 因此,在無監(jiān)督訓練之后,可依據(jù)相對少量的標記數(shù)據(jù)樣本針對模型進行微調。
無監(jiān)督學習可令 GPT 學習語言類模型,而針對特定任務,可依據(jù)標記數(shù)據(jù)進一步訓練,從而調整模型。 因此,為了執(zhí)行不同的語言類任務,可以復制并微調一個預訓練的模型。 該限制基于采用無監(jiān)督學習的原始語言集合。
實踐表明,這種方法對于廣泛的語言問題能產(chǎn)生良好的效果。 例如,GPT-3 模型能夠針對給定主題生成連貫流暢的文本。 不過,請注意,指定的模型包含 1750 億個參數(shù),按順序依據(jù) 570GB 的數(shù)據(jù)集合上進行了預訓練。
盡管 GPT 模型是為處理自然語言類而開發(fā)的,但它們在音樂和圖像生成任務中也表現(xiàn)出色。
理論上,GPT 模型可與任何數(shù)字化數(shù)據(jù)序列配合使用。 唯一的前置需求是無監(jiān)督的預學習需要足夠的數(shù)據(jù)和資源。
2. GPT 與之前研究的變換器之間的區(qū)別
我們來研究 GPT 模型與之前研究的變換器有何區(qū)別。 首先,GPT 模型未使用編碼器,因為它們僅使用解碼器。 當沒有編碼器時,模型不再擁有“編碼器 - 解碼器自關注”內層。 下圖展示了 GPT 變換器模塊。

與經(jīng)典的變換器相似,GPT 模型中的模塊在彼此之上構建。 每個模塊針對關注機制都有自己的權重矩陣,并具有完全連接的前饋層。 模塊的數(shù)量決定了模型的規(guī)模。 模塊堆??赡軙荦嫶?。 GPT-1 和最小的 GPT-2(小型 GPT-2)有 12 個模塊;GPT-2 特大型有 48 個,而 GPT-3 則有 96 個模塊。
與傳統(tǒng)語言類模型類似,GPT 僅能夠發(fā)現(xiàn)與序列中先前元素的關系,但無法窺視未來。 但它與變換器不同,GPT 不使用元素的掩碼 — 代之,它更改了計算過程。 GPT 會重置 Score 矩陣中后續(xù)元素的關注比率。
同時,GPT 可被歸類為自回歸模型。 每次迭代都會生成一個序列令牌。 生成的令牌會被添加到輸入序列中,并饋入模型進行下一次迭代。
與經(jīng)典變換器一樣,自關注機制內的每個令牌都會生成三個向量:一個 query,一個 key,和一個 value。 在自回歸模型當中,在每次新迭代里,輸入序列僅能由 1 個令牌更改,因此每個令牌無需重新計算向量。 因此,GPT 中的每一層只在序列有新元素時計算向量。 每個變換器模塊都保存其向量,以備后用。
這種方式令模型能夠在接收最終令牌之前逐詞生成文本。
當然,GPT 模型采用多目擊者關注機制。