偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

大模型原理:一場通透的剖析之旅

開發(fā) 架構(gòu)
未來幾個月或幾年內(nèi)出現(xiàn)的更大規(guī)模的 LLM 會實現(xiàn)類似于真正智能的東西嗎?我覺得這在 GPT 架構(gòu)下不會發(fā)生,因為它有很多限制,但誰知道呢,也許通過未來的一些創(chuàng)新,我們會實現(xiàn)這一目標(biāo)。?

生成式 AI 太火爆了,可以說無處不在,頻頻刷爆我們的朋友圈。你可能已經(jīng)試用過 ChatGPT 了,甚至已經(jīng)把它當(dāng)作你的智能小助手。

但我知道很多人心里會有個疑問:這些 AI 模型的智能究竟是怎么來的?今天咱們就來聊聊這個話題。我會用大家都能懂的,而不是那些讓人頭大的高等數(shù)學(xué)術(shù)語來解釋生成式文本模型的工作原理,揭開它的神秘面紗,把它變成簡單的計算機(jī)算法。

LLM 的功能

首先,我要澄清人們對 LLM 工作原理的一個重大誤解。大多數(shù)人認(rèn)為這些模型可以回答問題或與你聊天,但實際上它們只能接收你提供的一些文本作為輸入,然后猜測下一個詞(更準(zhǔn)確地說,下一個 Token)是什么。

讓我們從 Token 開始了解 LLM 的奧秘。

Token

Token 是 LLM 理解的文本基本單位。雖然將 Token 看作單詞很方便,但對 LLM 來說,目標(biāo)是盡可能高效地編碼文本,所以在許多情況下,Token 代表的字符序列比整個單詞都要短或長。標(biāo)點(diǎn)符號和空格也被表示為 Token,可能是單獨(dú)或與其他字符組合表示。

LLM 使用的所有 Token 統(tǒng)稱為其詞匯,因為它可以用來表示任何可能的文本。字節(jié)對編碼(BPE)算法通常用于 LLM 生成 Token 詞匯。為了讓你對規(guī)模有個大致的了解,GPT-2 語言模型是開源的,可以詳細(xì)研究,其詞匯量為 50,257 個 Token。

LLM 詞匯中的每個 Token 都有一個唯一的標(biāo)識符,通常是一個數(shù)字。LLM 使用分詞器在常規(guī)文本字符串和等效的 Token 數(shù)列表之間進(jìn)行轉(zhuǎn)換。如果你熟悉 Python 并想嘗試 Token,可以安裝 OpenAI 的 tiktoken 包:

$ pip install tiktoken

然后在 Python 提示符中嘗試以下內(nèi)容:

>>> import tiktoken
>>> encoding = tiktoken.encoding_for_model("gpt-2")

>>> encoding.encode("The quick brown fox jumps over the lazy dog.")
[464, 2068, 7586, 21831, 18045, 625, 262, 16931, 3290, 13]

>>> encoding.decode([464, 2068, 7586, 21831, 18045, 625, 262, 16931, 3290, 13])
'The quick brown fox jumps over the lazy dog.'

>>> encoding.decode([464])
'The'
>>> encoding.decode([2068])
' quick'
>>> encoding.decode([13])
'.'

在這個實驗中,你可以看到對于 GPT-2 語言模型,Token 464 代表單詞 “The”,而 Token 2068 代表單詞 “quick”,包括一個前導(dǎo)空格。該模型使用 Token 13 表示句號。

由于 Token 是通過算法確定的,你可能會發(fā)現(xiàn)一些奇怪的現(xiàn)象,比如這三個變體的單詞 “the”,在 GPT-2 中都編碼為不同的 Token:

>>> encoding.encode('The')
[464]
>>> encoding.encode('the')
[1169]
>>> encoding.encode(' the')
[262]

BPE 算法并不總是將整個單詞映射到 Token。事實上,使用頻率較低的單詞不能成為獨(dú)立的 Token,必須使用多個 Token 進(jìn)行編碼。以下是一個使用兩個 Token 編碼的單詞示例:

>>> encoding.encode("Payment")
[19197, 434]

>>> encoding.decode([19197])
'Pay'
>>> encoding.decode([434])
'ment'

下一個 Token 預(yù)測

如上所述,給定一些文本,語言模型會預(yù)測下一個緊跟其后的 Token。如果用 Python 偽代碼展示可能會更清晰,下面是如何運(yùn)行這些模型以獲取下一個 Token 的預(yù)測:

predictions = get_token_predictions(['The',  ' quick',  ' brown',  ' fox'])

該函數(shù)接收一個由用戶提供的提示詞編碼而來的輸入 Token 列表。在這個例子中,我假設(shè)每個單詞都是一個獨(dú)立的 Token。為了簡化,我使用每個 Token 的文本表示,但正如你之前看到的,實際上每個 Token 會作為一個數(shù)字傳遞給模型。

這個函數(shù)的返回值是一個數(shù)據(jù)結(jié)構(gòu),它為詞匯表中的每個 Token 分配一個緊隨輸入文本之后的概率。如果基于 GPT-2,這個函數(shù)的返回值將是一個包含 50,257 個浮點(diǎn)數(shù)的列表,每個浮點(diǎn)數(shù)預(yù)測相應(yīng) Token 將會出現(xiàn)的概率。

在上述例子中,你可以想象,一個訓(xùn)練良好的語言模型會給 Token “jumps” 一個較高的概率來緊跟提示詞 “The quick brown fox” 后面。同樣假設(shè)模型訓(xùn)練得當(dāng),你也可以想象,隨機(jī)單詞如 “potato” 繼續(xù)這個短語的概率會非常低,接近于 0。

為了能夠生成合理的預(yù)測,語言模型必須經(jīng)過訓(xùn)練過程。在訓(xùn)練期間,它會被提供大量文本以進(jìn)行學(xué)習(xí)。訓(xùn)練結(jié)束時,模型能夠使用它在訓(xùn)練中見到的所有文本構(gòu)建的數(shù)據(jù)結(jié)構(gòu)來計算給定 Token 序列的下一個 Token 概率。

這與你的預(yù)期有何不同?我希望這現(xiàn)在看起來不再那么神奇了。

生成長文本序列

由于模型只能預(yù)測下一個 Token 是什么,因此生成完整句子的唯一方法是多次循環(huán)運(yùn)行模型。每次循環(huán)迭代都會生成一個新的 Token,從返回的概率中選擇該 Token。然后將該 Token 添加到下一次循環(huán)迭代的輸入中,直到生成足夠的文本為止。

讓我們看一個更完整的 Python 偽代碼,展示這種方法的工作原理:

def generate_text(prompt, num_tokens, hyperparameters):
    tokens = tokenize(prompt)
    for i in range(num_tokens):
        predictions = get_token_predictions(tokens)
        next_token = select_next_token(predictions, hyperparameters)
        tokens.append(next_token)
    return ''.join(tokens)

generate_text() 函數(shù)將用戶提示作為參數(shù)。這可能是一個問題。

tokenize() 輔助函數(shù)使用 tiktoken 或類似庫將提示轉(zhuǎn)換為等效的 Token 列表。在 for 循環(huán)中,get_token_predictions() 函數(shù)是調(diào)用 AI 模型以獲取下一個 Token 的概率,如前面的例子所示。

select_next_token() 函數(shù)的作用是獲取下一個 Token 的概率(或預(yù)測)并選擇最佳 Token 以繼續(xù)輸入序列。函數(shù)可以只選擇概率最高的 Token,這在機(jī)器學(xué)習(xí)中稱為 “貪心選擇(greedy selection)”。更好的是,它可以使用隨機(jī)數(shù)生成器來選擇一個符合模型返回概率的 Token,從而為生成的文本添加一些變化。這也會使模型在多次給出相同提示時產(chǎn)生不同的響應(yīng)。

為了使 Token 選擇過程更加靈活,LLM 返回的概率可以使用超參數(shù)進(jìn)行修改,這些超參數(shù)作為參數(shù)傳遞給文本生成函數(shù)。超參數(shù)允許你控制 Token 選擇過程的 “貪婪” 程度。

如果你使用過 LLM,你可能熟悉 temperature 超參數(shù)。temperature 越高,Token 概率越平坦,這增加了選擇不太可能的 Token 的機(jī)會,最終使生成的文本看起來更有創(chuàng)造性或更不尋常。你可能還使用了另外兩個超參數(shù),稱為 top_p 和 top_k,它們控制被考慮選擇的最高概率的 Token 數(shù)量。

一旦選定了一個 Token,循環(huán)就會迭代,模型會接收到一個包含新 Token 在末尾的輸入,并生成另一個緊隨其后的 Token。num_tokens 參數(shù)控制循環(huán)運(yùn)行的迭代次數(shù),換句話說,就是要控制生成多少文本。生成的文本可能(而且經(jīng)常)在句子中間斷開,因為 LLM 沒有句子或段落的概念,它只處理一個 Token。為了防止生成的文本在句子中間斷開,我們可以將 num_tokens 參數(shù)視為最大值而不是確切的 Token 數(shù),在這種情況下,我們可以在生成句號 Token 時停止循環(huán)。

如果你已經(jīng)理解了這些內(nèi)容,那么恭喜你,你現(xiàn)在已經(jīng)大致了解了 LLM 是如何工作的。在下一部分,我會更深入一些,但仍然盡量避免涉及支撐這一技術(shù)的數(shù)學(xué)原理,因為它相當(dāng)復(fù)雜。

模型訓(xùn)練

在不使用數(shù)學(xué)表達(dá)式的情況下討論如何訓(xùn)練模型實際上是很困難的。我將從一個非常簡單的訓(xùn)練方法開始展示。

鑒于任務(wù)是預(yù)測 Token 的后續(xù) Token,一種簡單的訓(xùn)練模型的方法是獲取訓(xùn)練數(shù)據(jù)集中所有連續(xù) Token,并用它們構(gòu)建一個概率表。

讓我們用一個簡短的詞匯表和數(shù)據(jù)集來做這個。假設(shè)模型的詞匯表包含以下五個詞元:

['I', 'you', 'like', 'apples', 'bananas']

為了使這個例子簡短而簡單,我不會將空格或標(biāo)點(diǎn)符號作為 Token。

我們使用一個由三句話組成的訓(xùn)練數(shù)據(jù)集:

  • I like apples
  • I like bananas
  • you like bananas

我們可以構(gòu)建一個 5x5 的表格,并在每個單元格中寫下表示單元格所在行的 Token 被單元格所在列的 Token 跟隨的次數(shù)。以下是根據(jù)數(shù)據(jù)集中的三句話構(gòu)建的表格:

-

I

you

like

apples

bananas

I



2



you



1



like




1

2

apples






bananas






希望這很清楚。數(shù)據(jù)集中有兩次出現(xiàn) “I like”,一次出現(xiàn) “you like”,一次出現(xiàn) “l(fā)ike apples” 和兩次出現(xiàn) “l(fā)ike bananas”。

現(xiàn)在我們知道每對 Token 在訓(xùn)練數(shù)據(jù)集中出現(xiàn)的次數(shù),我們可以計算每個 Token 跟隨另一個 Token 的概率。為此,我們將每行中的數(shù)字轉(zhuǎn)換為概率。例如,表格中間行的 Token “l(fā)ike” 后面跟一次 “apples” 和兩次 “bananas”。這意味著 “l(fā)ike” 后面 33。3% 的概率是 “apples”,剩下的 66。7% 的概率是 “bananas”。

以下是計算出的所有概率的完整表格??諉卧竦母怕蕿?0%。

-

I

you

like

apples

bananas

I



100%



you



100%



like




33.3%

66.7%

apples

25%

25%

25%


25%

bananas

25%

25%

25%

25%


對于 “I”、“you” 和 “l(fā)ike” 行來說,計算很簡單,但 “apples” 和 “bananas” 行卻出現(xiàn)了問題,因為它們沒有任何數(shù)據(jù)。由于數(shù)據(jù)集中沒有任何示例顯示這些 Token 后面跟隨其他 Token,這里我們的訓(xùn)練中存在一個 “漏洞”。

為了確保模型在缺乏訓(xùn)練的情況下仍能生成預(yù)測,我決定將 “apples” 和 “bananas” 后續(xù) Token 的概率平均分配到其他四個可能的 Token 上,這顯然可能會產(chǎn)生奇怪的結(jié)果,但至少模型在遇到這些 Token 時不會卡住。

訓(xùn)練數(shù)據(jù)中的漏洞問題實際上非常重要。在真正的 LLM 中,訓(xùn)練數(shù)據(jù)集非常龐大,因此你不會發(fā)現(xiàn)像我上面這個小例子中那樣明顯的訓(xùn)練漏洞。但由于訓(xùn)練數(shù)據(jù)覆蓋率低而導(dǎo)致的小的、更難檢測到的漏洞確實存在,并且相當(dāng)普遍。

在這些訓(xùn)練不足的區(qū)域中,LLM 對 Token 的預(yù)測質(zhì)量可能會很差,但通常是難以察覺的。這是 LLM 有時會產(chǎn)生幻覺的原因之一,這種情況發(fā)生在生成的文本讀起來很流暢但包含事實錯誤或不一致時。

使用上面的概率表,你現(xiàn)在可以想象 get_token_predictions()函數(shù)的實現(xiàn)方式。在 Python 偽代碼中它可能是這樣的:

def get_token_predictions(input_tokens):
    last_token = input_tokens[-1]
    return probabilities_table[last_token]

比想象的更簡單,對吧?這個函數(shù)接受一個由用戶提示詞生成的序列。它取序列中的最后一個 Token,并返回該 Token 在概率表中對應(yīng)的那一行。

例如,如果你用 ['you', 'like'] 作為輸入 Token 調(diào)用這個函數(shù),那么該函數(shù)會返回 “l(fā)ike” 的那一行,“l(fā)ike” 會給予 “apples” 33.3% 的概率來繼續(xù)句子,而 “bananas” 則是另外的 66.7%。根據(jù)這些概率,上面展示的 select_next_token() 函數(shù)每三次應(yīng)該會選擇一次 “apples”。

當(dāng) “apples” 被選為 “you like” 的延續(xù)時,句子 “you like apples” 就會形成。這是一個在訓(xùn)練數(shù)據(jù)集中不存在,但完全合理的原創(chuàng)句子。希望你開始了解這些模型如何通過重用模式和拼接它們在訓(xùn)練中學(xué)到的不同部分來生成看似原創(chuàng)的想法或概念。

上下文窗口

我在上一節(jié)中訓(xùn)練小模型的方法稱為馬爾可夫鏈。

這種技術(shù)的一個問題是,只使用一個 Token(輸入的最后一個)來進(jìn)行預(yù)測。任何出現(xiàn)在最后一個 Token 之前的文本在選擇如何繼續(xù)時都沒有影響,所以我們可以說這種解決方案的上下文窗口等于一個 Token,這個窗口非常小。由于上下文窗口如此小,模型會不斷 “忘記” 思路,從一個詞跳到另一個詞,缺乏一致性。

可以通過構(gòu)建一個更大的概率矩陣來改進(jìn)模型的預(yù)測。為了使用兩個 Token 的上下文窗口,需要增加額外的表行,這些行代表所有可能的兩個 Token 序列。在示例中使用的五個 Token 中,每一對 Token 將在概率表中新增 25 行,加上已經(jīng)存在的 5 個單 Token 行。模型將不得不再次訓(xùn)練,這次不僅看 Token 對,還要看 Token 組的三元組。在每次 get_token_predictions() 函數(shù)的循環(huán)迭代中,當(dāng)可用時,將使用輸入的最后兩個 Token 來查找較大概率表中的對應(yīng)行。

但是,2 個 Token 的上下文窗口仍然不夠。為了生成一致且至少有基本意義的文本,需要更大的上下文窗口。沒有足夠大的上下文,新生成的 Token 不可能與之前 Token 中表達(dá)的概念或想法相關(guān)聯(lián)。那么我們該怎么辦呢?將上下文窗口增加到 3 個 Token 將為概率表增加 125 行,并且質(zhì)量仍然很差。我們需要將上下文窗口擴(kuò)大到多大呢?

OpenAI 開源的 GPT-2 模型使用了一個 1024 個 Token 的上下文窗口。為了使用馬爾可夫鏈實現(xiàn)這么大的上下文窗口,每行概率表都必須代表一個長度在 1 到 1024 個 Token 長的序列。使用上面示例中的 5 個 Token 詞匯表,有 5 的 1024 次方種可能的序列長度為 1024 Token。需要多少表行來表示這些?我在 Python 會話中做了計算(向右滾動以查看完整數(shù)字):

>>>  pow(5,  1024)
55626846462680034577255817933310101605480399511558295763833185422180110870347954896357078975312775514101683493275895275128810854038836502721400309634442970528269449838300058261990253686064590901798039126173562593355209381270166265416453973718012279499214790991212515897719252957621869994522193843748736289511290126272884996414561770466127838448395124802899527144151299810833802858809753719892490239782222290074816037776586657834841586939662825734294051183140794537141608771803070715941051121170285190347786926570042246331102750604036185540464179153763503857127117918822547579033069472418242684328083352174724579376695971173152319349449321466491373527284227385153411689217559966957882267024615430273115634918212890625

這行數(shù)太多了!而這只是表的一部分,因為我們還需要長度為 1023 的序列,1022 的序列,等等,一直到 1,因為我們想確保在輸入中沒有足夠 Token 時也能處理較短的序列。馬爾可夫鏈?zhǔn)怯腥さ模鼈兇_實存在一個很大的可擴(kuò)展性問題。

而且一個 1024 Token 的上下文窗口已經(jīng)不再那么大了。隨著 GPT-3,上下文窗口增加到 2048 個 Token,然后在 GPT-3.5 中增加到 4096。GPT-4 開始時為 8192 個 Token,后來增加到 32K,然后又增加到 128K(沒錯,128,000 個 Tokens!)?,F(xiàn)在開始出現(xiàn)上下文窗口為 1M 或更大的模型,這允許在做 Token 預(yù)測時有更好的一致性和回憶能力。

總之,馬爾可夫鏈?zhǔn)刮覀円哉_的方式思考文本生成問題,但它們有很大的問題,阻止我們考慮其作為可行的解決方案。

從馬爾可夫鏈到神經(jīng)網(wǎng)絡(luò)

顯然,我們不能再考慮使用概率表的方案,因為合理上下文窗口的概率表會需要龐大的 RAM。我們可以做的是用一個函數(shù)來替代概率表,該函數(shù)返回 Token 概率的近似值,這些概率是通過算法生成的,而不是存儲在一個龐大的表格中。事實上,這正是神經(jīng)網(wǎng)絡(luò)擅長的事情。

神經(jīng)網(wǎng)絡(luò)是一種特殊的函數(shù),它接受一些輸入,對這些輸入進(jìn)行計算,然后返回一個輸出。對于語言模型來說,輸入是表示提示詞的 Token,輸出是下一個 Token 的預(yù)測概率列表。

神經(jīng)網(wǎng)絡(luò)之所以被稱為 “特殊” 的函數(shù),是因為它們除了函數(shù)邏輯外,還受一組外部定義的參數(shù)控制。最初,網(wǎng)絡(luò)的參數(shù)是未知的,因此函數(shù)產(chǎn)生的輸出完全沒有用。神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程在于找到能使函數(shù)在訓(xùn)練數(shù)據(jù)集上表現(xiàn)最佳的參數(shù),假設(shè)如果函數(shù)在訓(xùn)練數(shù)據(jù)上表現(xiàn)良好,那么在其他數(shù)據(jù)上也會表現(xiàn)良好。

在訓(xùn)練過程中,參數(shù)會使用一種稱為反向傳播的算法進(jìn)行小幅度的迭代調(diào)整,這個算法涉及大量數(shù)學(xué)運(yùn)算,所以本文不會詳細(xì)討論。每次調(diào)整后,神經(jīng)網(wǎng)絡(luò)的預(yù)測結(jié)果會略有改善。參數(shù)更新后,網(wǎng)絡(luò)會再次根據(jù)訓(xùn)練數(shù)據(jù)集進(jìn)行評估,評估結(jié)果用于指導(dǎo)下一輪調(diào)整。這個過程會持續(xù)進(jìn)行,直到函數(shù)在訓(xùn)練數(shù)據(jù)集上表現(xiàn)出良好的下一個 Token 預(yù)測為止。

為了讓你了解神經(jīng)網(wǎng)絡(luò)工作的規(guī)模,可以考慮 GPT-2 模型有大約 15 億個參數(shù),而 GPT-3 將參數(shù)數(shù)量增加到 1750 億。據(jù)說 GPT-4 有大約 1.76 萬億個參數(shù)。以現(xiàn)有硬件條件訓(xùn)練這種規(guī)模的神經(jīng)網(wǎng)絡(luò)需要很長時間,通常是數(shù)周或數(shù)月。

有意思的是,由于參數(shù)眾多,都是在沒有人為干預(yù)的情況下通過漫長的迭代過程計算出來的,因此很難理解模型的工作原理。一個訓(xùn)練有素的 LLM 就像一個黑匣子,非常難以調(diào)試,因為模型的大部分 “思考” 都隱藏在參數(shù)中。即使是訓(xùn)練該模型的人也難以解釋其內(nèi)部工作原理。

層、Transformer 和注意力機(jī)制

你可能會好奇,在神經(jīng)網(wǎng)絡(luò)函數(shù)內(nèi)部發(fā)生了哪些神秘的計算,在參數(shù)調(diào)優(yōu)的幫助下,可以將一列輸入 Token 轉(zhuǎn)換為合理的下一個 Token 的概率。

一個神經(jīng)網(wǎng)絡(luò)被配置為執(zhí)行一系列操作,每個操作稱為一個 “層”。第一層接收輸入,并進(jìn)行某種轉(zhuǎn)換。轉(zhuǎn)換后的輸入進(jìn)入下一層,再次被轉(zhuǎn)換。如此反復(fù),直到數(shù)據(jù)到達(dá)最后一層,并進(jìn)行最后一次轉(zhuǎn)換,生成輸出或預(yù)測結(jié)果。

機(jī)器學(xué)習(xí)專家設(shè)計出不同類型的層,對輸入數(shù)據(jù)進(jìn)行數(shù)學(xué)轉(zhuǎn)換,并找出如何組織和組合層以達(dá)到預(yù)期的結(jié)果。有些層是通用的,而有些層則專為處理特定類型的輸入數(shù)據(jù)而設(shè)計,如圖像或在 LLM 中的 Token 化文本。

當(dāng)前在 LLM 中用于文本生成最流行的神經(jīng)網(wǎng)絡(luò)架構(gòu)稱為 Transformer。使用這種設(shè)計的 LLM 被稱為 GPT,即生成式預(yù)訓(xùn)練 Transformer。

Transformer 模型的顯著特點(diǎn)是其執(zhí)行的一種稱為注意力機(jī)制的層計算,這使得它們能夠在上下文窗口中的 Token 之間推導(dǎo)出關(guān)系和模式,并將這些關(guān)系和模式反映在下一個 Token 的概率中。

注意力機(jī)制最初用于語言翻譯器,作為一種找到輸入序列中最重要的 Token 以提取其含義的方法。這種機(jī)制使得現(xiàn)代翻譯器能夠在基本層面上 “理解” 一個句子,通過關(guān)注(或?qū)?“注意力” 引向)重要的詞或 Token。

LLM 是否具有智能?

到現(xiàn)在,你可能已經(jīng)開始對 LLM 在生成文本的方式上是否表現(xiàn)出某種形式的智能形成一種看法。

我個人并不認(rèn)為 LLM 具備推理能力或提出原創(chuàng)思想的能力,但這并不意味著它們毫無用處。由于它們在上下文窗口中的 Token 上進(jìn)行的巧妙計算,LLM 能夠發(fā)現(xiàn)用戶提示中存在的模式,并將這些模式與訓(xùn)練期間學(xué)到的類似模式相匹配。它們生成的文本主要由訓(xùn)練數(shù)據(jù)的片段組成,但它們將詞(實際上是 Token)拼接在一起的方式非常復(fù)雜,在許多情況下,產(chǎn)生的結(jié)果感覺是原創(chuàng)且有用的。

鑒于 LLM 容易產(chǎn)生幻覺現(xiàn)象,我不會信任任何由 LLM 生成,未經(jīng)人工驗證就直接傳遞給終端用戶的工作流。

未來幾個月或幾年內(nèi)出現(xiàn)的更大規(guī)模的 LLM 會實現(xiàn)類似于真正智能的東西嗎?我覺得這在 GPT 架構(gòu)下不會發(fā)生,因為它有很多限制,但誰知道呢,也許通過未來的一些創(chuàng)新,我們會實現(xiàn)這一目標(biāo)。

責(zé)任編輯:武曉燕 來源: 架構(gòu)精進(jìn)之路
相關(guān)推薦

2024-04-12 14:04:17

機(jī)器學(xué)習(xí)DNN

2013-09-26 13:21:05

數(shù)學(xué)算法

2020-04-10 09:37:47

HBase2.x集群CPU

2015-09-22 13:08:42

戴爾云計算

2017-03-20 19:40:29

AndroidSwipeRefres下拉刷新

2017-03-21 14:34:47

存儲服務(wù)器數(shù)據(jù)

2013-01-24 11:03:30

2011-03-08 11:42:56

2015-05-26 15:17:44

OpenStack

2016-10-26 08:36:16

2022-11-06 15:56:50

2021-07-06 12:27:36

混合云多云云計算

2021-08-01 22:42:57

區(qū)塊鏈互聯(lián)網(wǎng)技術(shù)

2023-03-08 17:53:15

機(jī)器人AI

2010-05-05 09:14:07

2010-05-14 00:19:43

2012-12-04 17:44:13

2020-06-19 11:43:09

戴爾

2022-07-27 16:05:57

元宇宙AISummit

2014-07-21 15:32:03

Wi-Fi
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號