-
Notifications
You must be signed in to change notification settings - Fork 16
introduction
2022 年底 ChatGPT 的出現,讓大家突然發現原來 AI 技術已經到達這種層次
ChatGPT 的背後是 GPT3/GPT4 ,而 GPT 模型的核心則是 Google 2018 年於下列論文所提出的《注意力機制》(Attention)
該論文提出了一個稱為 Transformer 模型,基本上屬於《從序列到序列》(seq2seq) 的一種模型,其中包含了 Encoder / Decoder 兩部分。
早期的 seq2seq 都是用循環神經網路 (RNN/GRU/LSTM) 的模型去實作,但在 Transformer 模型裡,改用了 Attention 來實作。
後來,Google 採用 Transformer 的 Encoder 部份去發展出了 BERT/BARD 等模型,而 OpenAI 則採用了 Transformer 的 Decoder 部份去發展出了 GPT1/GPT2/GPT3/GPT4 等模型
若你想要透過本書學會 GPT 模型與技術,只需要下列知識背景:
- 看得懂 Python 程式碼
- 知道微積分中的鏈鎖規則
但是你不需要先準備好很多很深的數學知識才能開始 ...
因為深度學習背後的核心數學就是《偏微分+鏈鎖規則》,剩下其實大部分都是《直覺 + 嘗試》等經驗法則
我自己的學習過程,其實主要是看了 Kaparthy 的兩篇網誌
- 網誌 1 -- Hacker's guide to Neural Networks
- 網誌 2 -- The Unreasonable Effectiveness of Recurrent Neural Networks
再加上兩個 github 程式專案
- 專案 1 -- https://github.com/karpathy/micrograd
- 展示了《偏微分+鏈鎖規則》如何被用在《反傳遞演算法》上去快速計算梯度 (這個主題也稱為自動微分)
- 專案 2 -- https://github.com/karpathy/minGPT
- 展示了 GPT 的模型與運作方法
然後搭配下列兩篇論文
- 論文 1 -- Attention Is All You Need (PDF)
- 論文 2 -- Improving Language Understanding by Generative Pre-Training (PDF)
大致就能理解《從微分到 GPT》的原理與程式了
不過,我其實花了將近十年,才把這些程式背後的知識建立起來 ...
但在這本書中,我會將這些知識系統性的呈現出來,讓每個會 Python 與基本微積分的人,都能學會 ChatGPT 背後的那些技術!
閱讀本書,務必搭配程式碼一起學習,請先安裝 git 之後,先 clone 以下的專案
git clone https://github.com/cccbook/py2gpt
然後在每一章的講解中,對照著專案中各個資料夾,去執行對應的程式碼!