最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

大型語言模型 (LLM) 初學者指南

2023-09-20 14:29 作者:Momodel平臺  | 我要投稿

踏上人工智能的演變之旅和自然語言處理(NLP) 領域取得的驚人進步。一眨眼的功夫,人工智能已經崛起,塑造了我們的世界。訓練大型語言模型的巨大影響徹底改變了 NLP,徹底改變了我們的技術交互。時間回到 2017 年,這是一個以“注意力就是你所需要的”為標志的關鍵時刻,開創(chuàng)性的“Transformer”架構誕生了。該架構現(xiàn)在構成了 NLP 的基石,是每個大型語言模型配方中不可替代的成分 - 包括著名的 ChatGPT。



想象一下輕松生成連貫、上下文豐富的文本 - 這就是 GPT-3 等模型的魔力。作為聊天機器人、翻譯和內容生成的強大力量,它們的輝煌源于架構以及預訓練和訓練的復雜舞蹈。我們即將發(fā)表的文章將深入研究這首交響曲,揭示利用大型語言模型執(zhí)行任務背后的藝術性,利用預訓練和訓練的動態(tài)二重奏來達到出色的效果。與我們一起揭開這些變革技術的神秘面紗!


學習目標

  • 了解構建 LLM 申請的不同方法。

  • 學習特征提取、層訓練和適配器方法等技術。

  • 使用 Huggingface 轉換器庫在下游任務上訓練 LLM。


入門

LLM 代表大型語言模型。LLM 是深度學習模型,旨在理解類人文本的含義并執(zhí)行各種任務,例如情感分析、語言建模(下一個詞預測)、文本生成、文本摘要等等。他們接受了大量文本數(shù)據的訓練。

我們每天都在使用基于這些LLM的應用程序,甚至沒有意識到這一點。Google 將 BERT(Transformers 雙向編碼器表示)用于各種應用,例如查詢完成、理解查詢上下文、輸出更相關和更準確的搜索結果、語言翻譯等。

這些模型建立在深度學習技術、深度神經網絡和自注意力等先進技術的基礎上。他們接受大量文本數(shù)據的訓練,以學習語言的模式、結構和語義。

由于這些模型是在廣泛的數(shù)據集上進行訓練的,因此需要大量的時間和資源來訓練它們,并且從頭開始訓練它們是沒有意義的。
我們可以通過一些技術直接使用這些模型來完成特定任務。那么讓我們詳細討論一下它們。



構建LLM申請的不同方法概述



我們在日常生活中經??吹搅钊伺d奮的LLM申請。您想知道如何構建 LLM 申請嗎?以下是構建 LLM 申請的 3 種方法:

  1. 利用 Scratch 訓練大語言模型 ?

  2. 訓練大型語言模型

  3. 提示


?1、利用 Scratch 訓練大語言模型

人們經常對這兩個術語感到困惑:訓練和微調LLM。這兩種技術的工作方式相似,即改變模型參數(shù),但訓練目標不同。

從頭開始培訓LLM也稱為預培訓。預訓練是一種在大量未標記文本上訓練大型語言模型的技術。但問題是,“我們如何在未標記的數(shù)據上訓練模型,然后期望模型準確地預測數(shù)據?”。這就是“自我監(jiān)督學習”的概念。在自監(jiān)督學習中,模型會掩蓋一個單詞,并嘗試借助前面的單詞來預測下一個單詞。例如,假設我們有一句話:“我是一名數(shù)據科學家”。

該模型可以根據這句話創(chuàng)建自己的標記數(shù)據,例如:


這被稱為下一個工作預測,由 MLM(掩碼語言模型)完成。BERT,一種屏蔽語言模型,使用這種技術來預測屏蔽詞。我們可以將傳銷視為“填空”概念,其中模型預測哪些單詞可以填入空白。
預測下一個單詞的方法有多種,但在本文中,我們只討論 BERT,即 MLM。BERT 可以查看前面和后面的單詞來理解句子的上下文并預測屏蔽詞。

因此,作為預訓練的高級概述,它只是模型學習預測文本中下一個單詞的技術。


2、訓練大型語言模型

訓練是調整模型的參數(shù),使其適合執(zhí)行特定任務。模型經過預訓練后,會進行訓練,或者簡單地說,訓練它來執(zhí)行特定任務,例如情感分析、文本生成、查找文檔相似性等。我們不必在特定的環(huán)境上再次訓練模型。大文本;相反,我們使用經過訓練的模型來執(zhí)行我們想要執(zhí)行的任務。我們將在本文后面詳細討論如何訓練大型語言模型。


3、提示

提示是所有 3 種技術中最簡單的,但也有點棘手。它涉及為模型提供一個上下文(提示),模型根據該上下文執(zhí)行任務??梢詫⑵湟暈樵敿毥毯⒆訒械囊徽?,對解釋非常謹慎,然后要求他們解決與該章相關的問題。

就 LLM 而言,以 ChatGPT 為例;我們設置一個上下文并要求模型按照說明來解決給定的問題。

假設我希望 ChatGPT 只問我一些有關變形金剛的面試問題。為了獲得更好的體驗和準確的輸出,您需要設置適當?shù)纳舷挛牟⒔o出詳細的任務描述。

示例:我是一名擁有兩年經驗的數(shù)據科學家,目前正在某某公司準備面試。我喜歡解決問題,目前正在使用最先進的 NLP 模型。我了解最新的趨勢和技術。問我關于Transformer模型的非常棘手的問題,這個公司的面試官可以根據公司以前的經驗來問。問我十個問題并給出問題的答案。

您提示的越詳細和具體,結果就越好。最有趣的部分是您可以從模型本身生成提示,然后添加個人風格或所需的信息。



了解不同地訓練技術


傳統(tǒng)上訓練模型的方法有多種,不同的方法取決于您想要解決的具體問題。讓我們討論訓練模型的技術。

傳統(tǒng)上有 3 種方法可以對 LLM 進行訓練。


1、特征提取

人們使用這種技術從給定文本中提取特征,但是為什么我們要從給定文本中提取嵌入呢?答案很簡單。由于計算機無法理解文本,因此需要有一種文本的表示形式,以便我們可以用來執(zhí)行各種任務。一旦我們提取嵌入,它們就能夠執(zhí)行情感分析、識別文檔相似性等任務。在特征提取中,我們鎖定模型的主干層,這意味著我們不會更新這些層的參數(shù);僅更新分類器層的參數(shù)。分類器層涉及全連接層。



2、全模型訓練

顧名思義,我們在該技術中在自定義數(shù)據集上訓練每個模型層特定數(shù)量的時期。我們根據新的自定義數(shù)據集調整模型中所有層的參數(shù)。這可以提高模型對數(shù)據和我們想要執(zhí)行的特定任務的準確性??紤]到訓練大型語言模型中有數(shù)十億個參數(shù),計算成本很高,并且需要大量時間來訓練模型。


3、基于適配器的訓練



基于適配器的訓練是一個相對較新的概念,其中將額外的隨機初始化層或模塊添加到網絡中,然后針對特定任務進行訓練。在這種技術中,模型的參數(shù)不受干擾,或者我們可以說模型的參數(shù)沒有改變或調整。相反,適配器層參數(shù)是經過訓練的。該技術有助于以計算有效的方式調整模型。


實施:在下游任務上訓練 BERT

現(xiàn)在我們知道了訓練技術,讓我們使用 BERT 對 IMDB 電影評論進行情感分析。BERT 是一種大型語言模型,結合了轉換器層并且僅包含編碼器。谷歌開發(fā)了它,并已證明在各種任務上表現(xiàn)良好。BERT 有不同的大小和變體,例如 BERT-base-uncased、BERT Large、RoBERTa、LegalBERT 等等。




1、BERT 模型進行情感分析

我們使用BERT模型對IMDB電影評論進行情感分析。如需免費使用 GPU,建議使用 Google Colab。讓我們通過加載一些重要的庫來開始訓練。

由于 BERT(編碼器的雙向編碼器表示)基于 Transformer,因此第一步是在我們的環(huán)境中安裝 Transformer。

!pip 安裝變壓器

讓我們加載一些庫,這些庫將幫助我們加載 BERT 模型所需的數(shù)據、對加載的數(shù)據進行標記、加載我們將用于分類的模型、執(zhí)行訓練-測試-分割、加載 CSV 文件以及其他一些功能。

為了更快的計算,我們必須將設備從CPU更改為GPU

下一步是加載數(shù)據集并查看數(shù)據集中的前 5 條記錄。

我們將把數(shù)據集分成訓練集和驗證集。您還可以將數(shù)據拆分為訓練集、驗證集和測試集,但為了簡單起見,我只是將數(shù)據集拆分為訓練集和驗證集。

2、導入并加載 BERT 模型

讓我們導入并加載 BERT 模型和分詞器。

我們將使用分詞器將文本轉換為最大長度為 250 的標記,并在需要時進行填充和截斷。

分詞器返回一個字典,其中包含三個鍵值對,其中包含 input_ids,它們是與特定單詞相關的標記;token_type_ids,它是區(qū)分輸入的不同段或部分的整數(shù)列表。Attention_mask 指示要關注哪個標記。將這些值轉換為張量。

加載 TensorDataset 和 DataLoaders 以進一步預處理數(shù)據并使其適合模型。

我們的任務是使用分類器凍結 BERT 的參數(shù),然后在自定義數(shù)據集上訓練這些層。那么,讓我們凍結模型的參數(shù)。
for param in BERT.parameters():
param.requires_grad = False
現(xiàn)在,我們必須為我們添加的層定義前向和后向傳遞。BERT 模型將充當特征提取器,而我們必須明確定義分類的前向和后向傳遞。

讓我們將模型移至 GPU

3、定義優(yōu)化器

到目前為止,我們已經預處理了數(shù)據集并定義了我們的模型。現(xiàn)在是訓練模型的時候了。我們必須編寫代碼來訓練和評估模型。
火車功能:

4、評估函數(shù)

我們現(xiàn)在將使用這些函數(shù)來訓練模型:

現(xiàn)在你就得到了它。您可以使用經過訓練的模型來推斷您選擇的任何數(shù)據或文本。


結論

本文探討了訓練大型語言模型 (LLM) 的世界及其對自然語言處理 (NLP) 的重大影響。討論預訓練過程,其中LLM使用自我監(jiān)督學習對大量未標記文本進行訓練。我們還深入研究了訓練,其中涉及針對特定任務和提示調整預先訓練的模型,其中為模型提供上下文以生成相關輸出。此外,我們還研究了不同的訓練技術,例如特征提取、完整模型訓練和基于適配器的訓練。大型語言模型已經徹底改變了 NLP,并繼續(xù)推動各種應用程序的進步。


常見問題

Q1:像 BERT 這樣的大型語言模型 (LLM) 如何在沒有明確標簽的情況下理解文本的含義?

A:LLM采用自我監(jiān)督學習技術,例如掩碼語言模型,根據周圍單詞的上下文預測下一個單詞,從而有效地從未標記的文本創(chuàng)建標記數(shù)據。


Q2:訓練大型語言模型的目的是什么?

A:訓練允許LLM通過調整其參數(shù)來適應特定任務,使它們適合情感分析、文本生成或文檔相似性任務。它建立在模型的預先訓練的知識之上。


Q3:LLM 中的提示有何意義?

A:提示涉及向LLM提供背景或說明以生成相關輸出。用戶可以通過設置特定的提示來引導模型根據給定的上下文回答問題、生成文本或執(zhí)行特定任務。

文章來源https://www.analyticsvidhya.com/blog/2023/08/finetuning-large-language-models-llms/

大型語言模型 (LLM) 初學者指南的評論 (共 條)

分享到微博請遵守國家法律
大连市| 彰化市| 新营市| 玛沁县| 米泉市| 冷水江市| 焦作市| 延庆县| 肥城市| 台东市| 福安市| 柳河县| 玉田县| 库尔勒市| 屏南县| 确山县| 寿宁县| 东乌| 门源| 正镶白旗| 江都市| 阜城县| 神农架林区| 璧山县| 稷山县| 云阳县| 红桥区| 东方市| 乌苏市| 民乐县| 巩义市| 得荣县| 绍兴县| 灵山县| 搜索| 古田县| 遂昌县| 油尖旺区| 梓潼县| 乡城县| 遵化市|