在上一個視頻中,您被介紹到了生成性AI項目的生命周期。
如您所見,在您開始啟動您的生成性AI應(yīng)用的有趣部分之前,有幾個步驟需要完成。一旦您確定了您的用例范圍,并確定了您需要LLM在您的應(yīng)用程序中的工作方式,您的下一步就是選擇一個要使用的模型。
您首先的選擇將是使用現(xiàn)有的模型還是從頭開始訓(xùn)練您自己的模型。在某些特定情況下,從頭開始訓(xùn)練您自己的模型可能是有利的,您將在本課程后面了解到這些情況。
但是,通常情況下,您將使用現(xiàn)有的基礎(chǔ)模型開始開發(fā)您的應(yīng)用程序。許多開源模型都可供像您這樣的AI社區(qū)成員在您的應(yīng)用程序中使用。一些主要框架的開發(fā)者,如用于構(gòu)建生成性AI應(yīng)用的Hugging Face和PyTorch,已經(jīng)策劃了您可以瀏覽這些模型的中心。
這些中心的一個非常有用的特點是包括模型卡片,描述了每個模型的最佳用例、如何進行訓(xùn)練以及已知的限制的重要細(xì)節(jié)。您將在本周結(jié)束時的閱讀材料中找到這些模型中心的一些鏈接。
您選擇的確切模型將取決于您需要執(zhí)行的任務(wù)的細(xì)節(jié)。Transformers模型架構(gòu)的變體適用于不同的語言任務(wù),這主要是因為模型訓(xùn)練方式的差異。為了幫助您更好地了解這些差異,并發(fā)展關(guān)于哪個模型用于特定任務(wù)的直覺,讓我們仔細(xì)看看大型語言模型是如何被訓(xùn)練的。有了這些知識,您將更容易瀏覽模型中心并找到最適合您用例的模型。
首先,讓我們從高層次看看LLMs的初始訓(xùn)練過程。這個階段通常被稱為預(yù)訓(xùn)練。
如您在第1課中所見,LLMs編碼了語言的深度統(tǒng)計表示。這種理解是在模型的預(yù)訓(xùn)練階段發(fā)展起來的,當(dāng)模型從大量的非結(jié)構(gòu)化文本數(shù)據(jù)中學(xué)習(xí)時。這可以是GB、TB,甚至是PB大小的非結(jié)構(gòu)化文本。這些數(shù)據(jù)來自許多來源,包括從互聯(lián)網(wǎng)上抓取的數(shù)據(jù)和為訓(xùn)練語言模型專門組裝的文本語料庫。
在這個自監(jiān)督學(xué)習(xí)步驟中,模型內(nèi)化了語言中存在的模式和結(jié)構(gòu)。這些模式然后使模型能夠完成其訓(xùn)練目標(biāo),這取決于模型的架構(gòu),正如您很快將看到的那樣。在預(yù)訓(xùn)練期間,模型權(quán)重得到更新,以最小化訓(xùn)練目標(biāo)的損失。編碼器為每個令牌生成一個嵌入或向量表示。預(yù)訓(xùn)練也需要大量的計算和使用GPUs。
請注意,當(dāng)您從公共網(wǎng)站如互聯(lián)網(wǎng)抓取訓(xùn)練數(shù)據(jù)時,您通常需要處理數(shù)據(jù)以提高質(zhì)量,解決偏見,并刪除其他有害內(nèi)容。由于這種數(shù)據(jù)質(zhì)量策劃,通常只有1-3%的令牌用于預(yù)訓(xùn)練。當(dāng)您估計需要收集多少數(shù)據(jù)時,如果您決定預(yù)訓(xùn)練您自己的模型,您應(yīng)該考慮這一點。
本周早些時候,您看到Transformers模型有三種變體;僅編碼器、編碼器-解碼器模型和僅解碼器。
每一個都是基于一個不同的目標(biāo)進行訓(xùn)練的,因此學(xué)會執(zhí)行不同的任務(wù)。
僅編碼器模型也被稱為自動編碼模型,它們使用遮罩語言建模進行預(yù)訓(xùn)練。
這里,輸入序列中的令牌被隨機遮罩,訓(xùn)練目標(biāo)是預(yù)測遮罩令牌以重構(gòu)原始句子。
這也被稱為去噪目標(biāo)。
自動編碼模型產(chǎn)生了輸入序列的雙向表示,這意味著模型對令牌的整個上下文有了解,而不僅僅是之前的單詞。僅編碼器模型非常適合從這種雙向上下文中受益的任務(wù)。
您可以使用它們執(zhí)行句子分類任務(wù),例如情感分析或令牌級任務(wù),如命名實體識別或單詞分類。自動編碼模型的一些眾所周知的示例是BERT和RoBERTa。
現(xiàn)在,讓我們看看僅解碼器或自回歸模型,它們使用因果語言建模進行預(yù)訓(xùn)練。這里,訓(xùn)練目標(biāo)是基于之前的令牌序列預(yù)測下一個令牌。
預(yù)測下一個令牌有時被研究人員稱為完整的語言建模?;诮獯a器的自回歸模型,遮罩輸入序列,只能看到直到問題令牌的輸入令牌。
模型不知道句子的結(jié)尾。然后,模型一個接一個地迭代輸入序列來預(yù)測下一個令牌。
與編碼器架構(gòu)相反,這意味著上下文是單向的。
通過學(xué)習(xí)從大量示例中預(yù)測下一個令牌,模型建立了語言的統(tǒng)計表示。這種類型的模型使用原始架構(gòu)的解碼器組件,而不使用編碼器。
僅解碼器模型通常用于文本生成,盡管較大的僅解碼器模型顯示出強大的Zero shot推理能力,并且通??梢院芎玫貓?zhí)行一系列任務(wù)。GPT和BLOOM是基于解碼器的自回歸模型的一些眾所周知的示例。
Transformers模型的最后一個變體是使用原始Transformers架構(gòu)的編碼器和解碼器部分的序列到序列模型。預(yù)訓(xùn)練目標(biāo)的確切細(xì)節(jié)因模型而異。一個受歡迎的序列到序列模型T5,使用Span corruption跨度腐敗預(yù)訓(xùn)練編碼器,這遮罩隨機輸入令牌序列。那些遮罩序列然后被替換為一個唯一的哨兵令牌,這里顯示為x。哨兵令牌是添加到詞匯表的特殊令牌,但不對應(yīng)于輸入文本的任何實際單詞。
解碼器然后被分配自回歸地重建遮罩令牌序列。輸出是哨兵令牌后面的預(yù)測令牌。
您可以使用序列到序列模型進行翻譯、摘要和問答。當(dāng)您有一體文本作為輸入和輸出時,它們通常是有用的。除了T5,您將在本課程的實驗室中使用,另一個眾所周知的編碼器-解碼器模型是BART,不是Bird。
總之,這是一個快速比較不同的模型架構(gòu)和預(yù)訓(xùn)練目標(biāo)的目標(biāo)。自動編碼模型使用遮罩語言建模進行預(yù)訓(xùn)練。它們對應(yīng)于原始Transformers架構(gòu)的編碼器部分,通常與句子分類或令牌分類一起使用。
自回歸模型使用因果語言建模進行預(yù)訓(xùn)練。這種類型的模型使用原始Transformers架構(gòu)的解碼器組件,并經(jīng)常用于文本生成。
序列到序列模型使用原始Transformers架構(gòu)的編碼器和解碼器部分。預(yù)訓(xùn)練目標(biāo)的確切細(xì)節(jié)因模型而異。T5模型使用span corruption跨度腐敗進行預(yù)訓(xùn)練。序列到序列模型通常用于翻譯、摘要和問答。
現(xiàn)在您已經(jīng)看到了這些不同的模型架構(gòu)是如何被訓(xùn)練的,以及它們適合的特定任務(wù),您可以選擇最適合您用例的模型類型。還有一件事要記住的是,任何架構(gòu)的較大模型通常更有能力很好地執(zhí)行它們的任務(wù)。研究人員發(fā)現(xiàn),模型越大,就越有可能在沒有額外的上下文學(xué)習(xí)或進一步訓(xùn)練的情況下按照您的需要工作。這種觀察到的模型能力隨大小增加的趨勢,近年來推動了更大模型的發(fā)展。
這種增長是由研究中的拐點驅(qū)動的,如高度可擴展的Transformers架構(gòu)的引入,用于訓(xùn)練的大量數(shù)據(jù)的訪問,以及更強大的計算資源的開發(fā)。
這種模型大小的穩(wěn)定增長實際上使一些研究人員推測LLMs存在一個新的摩爾定律。像他們一樣,您可能會問,我們是否可以只是繼續(xù)添加參數(shù)來增加性能并使模型更智能?這種模型增長可能會導(dǎo)致什么?
雖然這聽起來很棒,但事實證明,訓(xùn)練這些巨大的模型是困難和非常昂貴的,以至于不斷地訓(xùn)練更大和更大的模型可能是不可行的。讓我們在下一個視頻中仔細(xì)看看與訓(xùn)練大型模型相關(guān)的一些挑戰(zhàn)。文章來源:http://www.zghlxwxcb.cn/news/detail-671066.html
參考
https://www.coursera.org/learn/generative-ai-with-llms/lecture/2T3Au/pre-training-large-language-models文章來源地址http://www.zghlxwxcb.cn/news/detail-671066.html
到了這里,關(guān)于LLM預(yù)訓(xùn)練大型語言模型Pre-training large language models的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!