精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

無需寫代碼能力,手搓最簡單BabyGPT模型:前特斯拉AI總監新作

人工智能 新聞
GPT 原來這么簡單?

我們知道,OpenAI 的 GPT 系列通過大規模和預訓練的方式打開了人工智能的新時代,然而對于大多數研究者來說,語言大模型(LLM)因為體量和算力需求而顯得高不可攀。在技術向上發展的同時,人們也一直在探索「最簡」的 GPT 模式。

近日,特斯拉前 AI 總監,剛剛回歸 OpenAI 的 Andrej Karpathy 介紹了一種最簡 GPT 的玩法,或許能為更多人了解這種流行 AI 模型背后的技術帶來幫助。

圖片

是的,這是一個帶有兩個 token 0/1 和上下文長度為 3 的極簡 GPT,將其視為有限狀態馬爾可夫鏈。它在序列「111101111011110」上訓練了 50 次迭代,Transformer 的參數和架構修改了箭頭上的概率。

例如我們可以看到:

  • 在訓練數據中,狀態 101 確定性地轉換為 011,因此該轉換的概率變得更高 (79%)。但不接近于 100%,因為這里只做了 50 步優化。
  • 狀態 111 以 50% 的概率分別進入 111 和 110,模型幾乎已學會了(45%、55%)。
  • 在訓練期間從未遇到過像 000 這樣的狀態,但具有相對尖銳的轉換概率,例如 73% 轉到 001。這是 Transformer 歸納偏差的結果。你可能會想這是 50%,除了在實際部署中幾乎每個輸入序列都是唯一的,而不是逐字地出現在訓練數據中。

通過簡化,Karpathy 已讓 GPT 模型變得易于可視化,讓你可以直觀地了解整個系統。

你可以在這里嘗試它:https://colab.research.google.com/drive/1SiF0KZJp75rUeetKOWqpsA8clmHP6jMg?usp=sharing

實際上,即使是 GPT 的最初版本,模型的體量很相當可觀:在 2018 年,OpenAI 發布了第一代 GPT 模型,從論文《Improving Language Understanding by Generative Pre-Training》可以了解到,其采用了 12 層的 Transformer Decoder 結構,使用約 5GB 無監督文本數據進行訓練。

但如果將其概念簡化,GPT 是一種神經網絡,它采用一些離散 token 序列并預測序列中下一個 token 的概率。例如,如果只有兩個標記 0 和 1,那么一個很小的二進制 GPT 可以例如告訴我們:

[0,1,0] ---> GPT ---> [P (0) = 20%, P (1) = 80%]

在這里,GPT 采用位序列 [0,1,0],并根據當前的參數設置,預測下一個為 1 的可能性為 80%。重要的是,默認情況下 GPT 的上下文長度是有限的。如果上下文長度為 3,那么它們在輸入時最多只能使用 3 個 token。在上面的例子中,如果我們拋出一枚有偏差的硬幣并采樣 1 確實應該是下一個,那么我們將從原始狀態 [0,1,0] 轉換到新狀態 [1,0,1]。我們在右側添加了新位 (1),并通過丟棄最左邊的位 (0) 將序列截斷為上下文長度 3,然后可以一遍又一遍地重復這個過程以在狀態之間轉換。

很明顯,GPT 是一個有限狀態馬爾可夫鏈:有一組有限的狀態和它們之間的概率轉移箭頭。每個狀態都由 GPT 輸入處 token 的特定設置定義(例如 [0,1,0])。我們可以以一定的概率將其轉換到新狀態,如 [1,0,1]。讓我們詳細看看它是如何工作的:

# hyperparameters for our GPT
# vocab size is 2, so we only have two possible tokens: 0,1
vocab_size = 2
# context length is 3, so we take 3 bits to predict the next bit probability
context_length = 3

GPT 神經網絡的輸入是長度為 context_length 的 token 序列。這些 token 是離散的,因此狀態空間很簡單:

print ('state space (for this exercise) = ', vocab_size ** context_length)
# state space (for this exercise) = 8

細節:準確來說,GPT 可以采用從 1 到 context_length 的任意數量的 token。因此如果上下文長度為 3,原則上我們可以在嘗試預測下一個 token 時輸入 1 個、2 個或 3 個 token。這里我們忽略這一點并假設上下文長度已「最大化」,只是為了簡化下面的一些代碼,但這一點值得牢記。

print ('actual state space (in reality) = ', sum (vocab_size ** i for i in range (1, context_length+1)))
# actual state space (in reality) = 14

我們現在要在 PyTorch 中定義一個 GPT。出于本筆記本的目的,你無需理解任何此代碼。

現在讓我們構建 GPT 吧:

config = GPTConfig (
block_size = context_length,
vocab_size = vocab_size,
n_layer = 4,
n_head = 4,
n_embd = 16,
bias = False,
)
gpt = GPT (config)

對于這個筆記本你不必擔心 n_layer、n_head、n_embd、bias,這些只是實現 GPT 的 Transformer 神經網絡的一些超參數。

GPT 的參數(12656 個)是隨機初始化的,它們參數化了狀態之間的轉移概率。如果你平滑地更改這些參數,就會平滑地影響狀態之間的轉換概率。

現在讓我們試一試隨機初始化的 GPT。讓我們獲取上下文長度為 3 的小型二進制 GPT 的所有可能輸入:

def all_possible (n, k):
# return all possible lists of k elements, each in range of [0,n)
if k == 0:
yield []
else:
for i in range (n):
for c in all_possible (n, k - 1):
yield [i] + c
list (all_possible (vocab_size, context_length))
[[0, 0, 0],
[0, 0, 1],
[0, 1, 0],
[0, 1, 1],
[1, 0, 0],
[1, 0, 1],
[1, 1, 0],
[1, 1, 1]]

這是 GPT 可能處于的 8 種可能狀態。讓我們對這些可能的標記序列中的每一個運行 GPT,并獲取序列中下一個標記的概率,并繪制為可視化程度比較高的圖形:

# we'll use graphviz for pretty plotting the current state of the GPT
from graphviz import Digraph

def plot_model ():
dot = Digraph (comment='Baby GPT', engine='circo')

for xi in all_possible (gpt.config.vocab_size, gpt.config.block_size):

# forward the GPT and get probabilities for next token
x = torch.tensor (xi, dtype=torch.long)[None, ...] # turn the list into a torch tensor and add a batch dimension
logits = gpt (x) # forward the gpt neural net
probs = nn.functional.softmax (logits, dim=-1) # get the probabilities
y = probs [0].tolist () # remove the batch dimension and unpack the tensor into simple list
print (f"input {xi} ---> {y}")

# also build up the transition graph for plotting later
current_node_signature = "".join (str (d) for d in xi)
dot.node (current_node_signature)
for t in range (gpt.config.vocab_size):
next_node = xi [1:] + [t] # crop the context and append the next character
next_node_signature = "".join (str (d) for d in next_node)
p = y [t]
label=f"{t}({p*100:.0f}%)"
dot.edge (current_node_signature, next_node_signature, label=label)

return dot

plot_model ()
input [0, 0, 0] ---> [0.4963349997997284, 0.5036649107933044] 
input [0, 0, 1] ---> [0.4515703618526459, 0.5484296679496765]
input [0, 1, 0] ---> [0.49648362398147583, 0.5035163760185242]
input [0, 1, 1] ---> [0.45181113481521606, 0.5481888651847839]
input [1, 0, 0] ---> [0.4961162209510803, 0.5038837194442749]
input [1, 0, 1] ---> [0.4517717957496643, 0.5482282042503357]
input [1, 1, 0] ---> [0.4962802827358246, 0.5037197470664978]
input [1, 1, 1] ---> [0.4520467519760132, 0.5479532480239868]

我們看到了 8 個狀態,以及連接它們的概率箭頭。因為有 2 個可能的標記,所以每個節點有 2 個可能的箭頭。請注意,在初始化時,這些概率中的大多數都是統一的(在本例中為 50%),這很好而且很理想,因為我們甚至根本沒有訓練模型。

下面開始訓練:

# let's train our baby GPT on this sequence
seq = list (map (int, "111101111011110"))
seq
[1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0]
# convert the sequence to a tensor holding all the individual examples in that sequence
X, Y = [], []
# iterate over the sequence and grab every consecutive 3 bits
# the correct label for what's next is the next bit at each position
for i in range (len (seq) - context_length):
X.append (seq [i:i+context_length])
Y.append (seq [i+context_length])
print (f"example {i+1:2d}: {X [-1]} --> {Y [-1]}")
X = torch.tensor (X, dtype=torch.long)
Y = torch.tensor (Y, dtype=torch.long)
print (X.shape, Y.shape)

我們可以看到在那個序列中有 12 個示例。現在讓我們訓練它:

# init a GPT and the optimizer
torch.manual_seed (1337)
gpt = GPT (config)
optimizer = torch.optim.AdamW (gpt.parameters (), lr=1e-3, weight_decay=1e-1)
# train the GPT for some number of iterations
for i in range (50):
logits = gpt (X)
loss = F.cross_entropy (logits, Y)
loss.backward ()
optimizer.step ()
optimizer.zero_grad ()
print (i, loss.item ())
print ("Training data sequence, as a reminder:", seq)
plot_model ()

我們沒有得到這些箭頭的準確 100% 或 50% 的概率,因為網絡沒有經過充分訓練,但如果繼續訓練,你會期望接近。

請注意一些其他有趣的事情:一些從未出現在訓練數據中的狀態(例如 000 或 100)對于接下來應該出現的 token 有很大的概率。如果在訓練期間從未遇到過這些狀態,它們的出站箭頭不應該是 50% 左右嗎?這看起來是個錯誤,但實際上是可取的,因為在部署期間的真實應用場景中,幾乎每個 GPT 的測試輸入都是訓練期間從未見過的輸入。我們依靠 GPT 的內部結構(及其「歸納偏差」)來適當地執行泛化。

大小比較:

  • GPT-2 有 50257 個 token 和 2048 個 token 的上下文長度。所以 `log2 (50,257) * 2048 = 每個狀態 31,984 位 = 3,998 kB。這足以實現量變。
  • GPT-3 的上下文長度為 4096,因此需要 8kB 的內存;大約相當于 Atari 800。
  • GPT-4 最多 32K 個 token,所以大約 64kB,即 Commodore64。
  • I/O 設備:一旦開始包含連接到外部世界的輸入設備,所有有限狀態機分析就會崩潰。在 GPT 領域,這將是任何一種外部工具的使用,例如必應搜索能夠運行檢索查詢以獲取外部信息并將其合并為輸入。

Andrej Karpathy 是 OpenAI 的創始成員和研究科學家。但在 OpenAI 成立一年多后,Karpathy 便接受了馬斯克的邀請,加入了特斯拉。在特斯拉工作的五年里,他一手促成了 Autopilot 的開發。這項技術對于特斯拉的完全自動駕駛系統 FSD 至關重要,也是馬斯克針對 Model S、Cybertruck 等車型的賣點之一。

今年 2 月,在 ChatGPT 火熱的背景下,Karpathy 回歸 OpenAI,立志構建現實世界的 JARVIS 系統。

圖片

最近一段時間,Karpathy 給大家貢獻了很多學習材料,包括詳解反向傳播的課程 、重寫的 minGPT 庫、從零開始構建 GPT 模型的完整教程等。

責任編輯:張燕妮 來源: 機器之心
相關推薦

2022-08-21 21:15:28

模型AI

2022-11-01 13:42:54

雷達智能

2024-04-09 12:23:27

C語言AI

2021-12-09 10:26:35

AI 數據人工智能

2023-01-16 14:33:31

GitHubAI

2024-07-09 09:36:17

2023-07-05 15:18:42

AI自動駕駛

2022-03-16 18:38:06

AI特斯拉神經網絡

2023-11-24 13:00:32

2024-01-29 13:56:55

AI數據

2025-04-09 03:00:00

簽字板代碼canvas

2025-02-17 14:43:51

2023-02-27 09:29:05

GPT模型

2025-01-13 02:00:00

模型訓練數據

2023-02-02 13:22:40

AICIFAR數據集

2025-05-26 09:06:00

2021-04-14 14:41:39

AI 數據人工智能

2024-01-29 07:05:00

自動駕駛技術

2025-04-29 16:12:28

AI模型訓練

2025-04-25 09:20:00

數據模型AI
點贊
收藏

51CTO技術棧公眾號

在线视频中文字幕一区二区| 久久亚洲春色中文字幕久久久| 久久亚洲综合国产精品99麻豆精品福利 | 欧美激情欧美激情| 泷泽萝拉在线播放| 日本午夜免费一区二区| 亚洲国产日韩av| 日韩免费av电影| 北条麻妃一二三区| 日韩电影在线免费| 久久久免费电影| 欧美性生给视频| 日韩欧美ww| 欧美精品色一区二区三区| 国产精品沙发午睡系列| www国产在线观看| 国产亚洲美州欧州综合国| 91日韩久久| 中文在线免费看视频| 亚洲视屏一区| 粗暴蹂躏中文一区二区三区| av黄色在线免费观看| www.国产精品一区| 欧美一区二区三区免费在线看| 成人在线观看黄| www.youjizz.com在线| 国产精品不卡一区二区三区| 久久综合一区| 成人久久久精品国产乱码一区二区| 日产国产高清一区二区三区 | 成人观看免费视频| 欧美精品一二| 亚洲欧美国产视频| 黄色a一级视频| 国产精品极品国产中出| 日韩欧美国产高清| 久久久久久久久久久久久久久国产| 日韩一区二区三区免费| 狠狠躁天天躁日日躁欧美| 国产成人艳妇aa视频在线| 成人国产免费电影| 中文字幕视频一区| 在线视频一区观看| 自拍视频在线网| 国产午夜精品一区二区| 欧美日韩在线不卡一区| 四虎影视精品成人| 99精品国产一区二区三区不卡 | 日韩成人动漫在线观看| 精品国产成人在线影院 | 中文字幕在线播放不卡| 日本不卡一二三区黄网| 国产精品吴梦梦| 一本一道精品欧美中文字幕| 秋霞国产午夜精品免费视频| 国产精品久久久久免费a∨大胸 | 日韩免费电影网站| 手机在线播放av| 免费精品一区二区三区在线观看| 日韩三级在线观看| 手机免费看av片| 日本一区福利在线| 亚洲人成电影在线| 三年中国中文观看免费播放| 成人精品影院| 久久视频免费观看| 久久久久久久久97| 中文精品在线| 国产成人精品在线观看| 亚洲国产无线乱码在线观看| 麻豆成人久久精品二区三区红| 国产美女直播视频一区| 99在线小视频| eeuss鲁片一区二区三区在线观看| 久久99精品久久久水蜜桃| 男女视频在线观看| 国产精品传媒视频| 国产精品videossex国产高清| 久久久男人天堂| 在线观看www91| 97超碰人人爽| 红杏成人性视频免费看| 国产一区二区三区在线| 亚洲最大的黄色网址| 在线成人h网| 人人澡人人澡人人看欧美| 亚洲视频在线免费播放| 高清国产一区二区| 欧美一区二区三区四区夜夜大片| 午夜在线视频| 亚洲成人av中文| 99视频在线视频| 成人线上播放| 色琪琪综合男人的天堂aⅴ视频| 久久久国产精华液| 日日夜夜一区二区| 豆国产97在线| av在线电影院| 精品动漫一区二区| 亚欧激情乱码久久久久久久久| 91成人精品在线| 上原亚衣av一区二区三区| 日本少妇性高潮| 久久99热狠狠色一区二区| 精品国产一区二区三区麻豆免费观看完整版| 日韩在线免费看| 亚洲黄色免费网站| 亚洲无吗一区二区三区| 欧美日韩另类图片| 不卡av日日日| 最近中文字幕av| 99视频国产精品| 男人日女人的bb| 亚洲电影有码| 日韩精品中文字幕有码专区| 国产成人久久久久| 琪琪一区二区三区| 久久一区二区三区欧美亚洲| 四虎影视成人| 91精品啪在线观看国产60岁| 日本二区在线观看| 在线亚洲欧美| 国产精品99久久久久久久| 日本中文字幕在线视频| 在线国产电影不卡| 国产伦精品一区二区三区妓女 | 色喇叭免费久久综合| 欧美一级片一区| 日韩中文字幕免费观看| 一区二区三区四区不卡视频| 在线看的黄色网址| 精品一区不卡| 国产精品高潮呻吟视频 | 精品久久久999| 日本视频www色| 久久久亚洲精品石原莉奈| 青青草国产精品视频| 2023国产精华国产精品| 久久艹在线视频| av老司机久久| 亚洲免费在线看| 九一精品在线观看| 成人无号精品一区二区三区| 情事1991在线| 国产精品麻豆一区二区三区| 色88888久久久久久影院按摩| 人妻少妇精品视频一区二区三区| 雨宫琴音一区二区在线| 国产精品久久7| aa国产成人| 日韩大陆欧美高清视频区| 国产系列精品av| av高清久久久| 免费毛片小视频| 蜜乳av综合| 国产精品美女在线| 一区二区三区视频在线观看视频| 欧美日韩高清在线播放| 天堂网avav| 国产传媒一区在线| 免费网站在线观看视频| 欧美电影免费网站| 555www成人网| 国产剧情在线观看| 欧美日韩成人综合| 欧产日产国产v| av在线播放不卡| 日日碰狠狠躁久久躁婷婷| 日韩欧美一区二区三区免费看| 国产一区香蕉久久| 青草在线视频| 日韩成人激情在线| 中文字幕欧美人妻精品| 亚洲欧美视频在线观看视频| 26uuu国产| 久久精品毛片| 性生活免费观看视频| 精品国产一区二区三区不卡蜜臂| 欧美在线视频网| 老司机av在线免费看| 日韩无一区二区| 日日摸天天添天天添破| 亚洲欧洲日产国码二区| 精品一区二区三区四区五区六区| 久久中文精品| 日韩亚洲欧美一区二区| 美女亚洲一区| 99久久精品久久久久久ai换脸| 免费成人在线电影| 久久精品视频一| 欧美日韩国产综合视频| 91精品国产美女浴室洗澡无遮挡| 日本一二三区不卡| 中文字幕在线不卡一区二区三区| 久久久久久婷婷| 九九精品视频在线看| 亚洲熟妇av日韩熟妇在线| 四季av在线一区二区三区| 激情视频一区二区| 高清在线一区二区| 日本在线观看天堂男亚洲 | 国产成人精品一区二区在线小狼| 国产美女一区| 特大黑人娇小亚洲女mp4| 亚洲图区在线| av激情久久| 亚洲精品第一| 国产精品对白刺激| 2019中文字幕在线电影免费 | 日本免费高清一区| 极品国产人妖chinesets亚洲人妖| 国产日本欧美一区| 欧美黄色网页| 97超碰蝌蚪网人人做人人爽| av免费在线观看网址| 中文国产成人精品久久一| 欧日韩在线视频| 欧美一卡2卡3卡4卡| 最新黄色网址在线观看| 欧美日韩在线视频一区| 久久国产在线观看| 最新国产精品久久精品| www亚洲色图| wwwwxxxxx欧美| 星空大象在线观看免费播放| 国产馆精品极品| av中文字幕网址| 另类小说综合欧美亚洲| 日韩亚洲在线视频| 麻豆9191精品国产| 午夜肉伦伦影院| 夜夜嗨av一区二区三区网站四季av| 经典三级在线视频| 亚洲色图网站| 国产免费色视频| 性欧美69xoxoxoxo| 中文字幕综合在线观看| 999国产精品永久免费视频app| 秋霞毛片久久久久久久久| 久久综合亚洲| 日韩欧美精品一区二区三区经典| 国产欧美日韩一区二区三区四区| 鲁丝一区二区三区免费| 免费黄色成人| 日韩三级电影| 日韩欧美自拍| 四虎永久免费网站| 你懂的国产精品| 久久福利一区二区| 亚洲三级色网| 黄www在线观看| 久久精品女人天堂| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 日韩av中文字幕一区二区三区| 国产自偷自偷免费一区| 青青草伊人久久| 久久久久久久久久久久久久久国产 | 国内自拍欧美激情| 密臀av在线播放| 日本欧美一二三区| 欧美91在线|欧美| 91夜夜未满十八勿入爽爽影院| 欧洲精品99毛片免费高清观看| 91美女高潮出水| 久久精品色综合| 欧美高清性xxxxhd | 无码av天堂一区二区三区| 国产欧美二区| 污版视频在线观看| 国产精品18久久久久久久久久久久| 中文字幕一区二区三区人妻在线视频| 成人黄色网址在线观看| 精品欧美一区二区久久久| 国产精品麻豆久久久| 国产成年人在线观看| 亚欧洲精品在线视频免费观看| 各处沟厕大尺度偷拍女厕嘘嘘| 夫妻性生活毛片| 精品久久ai| 亚洲精品免费网站| 久本草在线中文字幕亚洲| 欧美乱偷一区二区三区在线| 色综合天天爱| 免费无码毛片一区二三区| 久久伊人亚洲| 在线播放国产视频| 久久综合狠狠综合久久激情| 秋霞欧美一区二区三区视频免费| 亚洲最大的成人av| 免费一级a毛片| 日韩欧美一级二级三级 | 亚洲国产成人av在线| av成人手机在线| 久久久久免费视频| 国产69精品久久久久按摩| 国产一区二区久久久| 久久久影院免费| 国产黄视频在线| 国产精品亚洲一区二区三区妖精| 中文字幕一区二区三区人妻| 一区二区理论电影在线观看| 国产亚洲久一区二区| 亚洲国产成人精品久久| 精品176二区| 国产精品白嫩初高中害羞小美女 | 日本黄色播放器| 性欧美长视频| 在线精品视频播放| 最新国产の精品合集bt伙计| 免费视频久久久| 亚洲国产成人精品女人久久久| 黄色大片在线播放| 国产精品成久久久久三级| 免费看久久久| 黄色成人在线免费观看| 久久97超碰色| 国产精品av久久久久久无| 疯狂欧美牲乱大交777| www黄色在线观看| 久久精品国产精品| av在线不卡精品| 青青草原亚洲| 天堂一区二区在线免费观看| 中文乱码人妻一区二区三区视频| 亚洲激情图片qvod| av综合在线观看| 久久亚洲欧美日韩精品专区| 久久69成人| 亚洲欧洲三级| 麻豆精品一区二区av白丝在线 | 亚洲精品福利视频网站| 一卡二卡三卡在线| 色妞一区二区三区| 激情小说亚洲| 亚洲精品美女久久7777777| 日韩二区在线观看| 手机看片福利视频| 欧美怡红院视频| 成人免费在线观看| 国产精品久久久久久一区二区| 国内精品视频在线观看| 成人一区二区三| 国产欧美日韩麻豆91| 高潮无码精品色欲av午夜福利| 亚洲香蕉av在线一区二区三区| 成人片免费看| 日本精品一区二区三区高清 久久| 鲁大师成人一区二区三区| 国产综合精品在线| 欧美天天综合网| 国产黄色小视频在线| 亚洲tv在线观看| 欧美日韩日本国产亚洲在线 | 欧美高清在线一区二区| 中文字幕在线观看精品| 日韩三级成人av网| 日韩成人在线看| 黄色一级在线视频| www成人在线观看| 在线视频1卡二卡三卡| 欧美成人激情在线| 国产精品巨作av| 人妻熟女一二三区夜夜爱| 欧美国产精品一区| 国产xxxx孕妇| 欧美亚洲日本黄色| 日韩国产一区二区| 性xxxxxxxxx| 欧美日韩一区二区免费在线观看| 成人欧美一区| 波多野结衣久草一区| 亚洲一区二区网站| 羞羞在线观看视频| 精品国产乱码久久久久久久久 | 91久久在线视频| 韩国在线视频一区| 国产全是老熟女太爽了| 欧美日韩中字一区| 天堂8中文在线| 日韩精品久久一区| 国产一区二区不卡| www成人在线| 久久久av网站| 亚洲v天堂v手机在线| 91视频福利网| 欧美小视频在线| 最新av在线播放| 蜜桃网站成人| 国产精品99精品久久免费| 中文在线第一页| 久久亚洲国产精品| 你微笑时很美电视剧整集高清不卡| 九九精品久久久| 第一福利永久视频精品| 91在线中文| 日本午夜精品电影| 成人精品一区二区三区中文字幕| 久久精品视频2| 国语对白做受69| 天天天综合网|