吳恩達大模型教程筆記-三-

绝不原创的飞龙發表於2024-10-01

吳恩達大模型教程筆記(三)

【ChatGPT提示詞工程師】 DeepLearning.AI - P6:第6集 轉換 - 吳恩達大模型 - BV1Wf421q7cd

大型語言模型非常擅長將其輸入轉換為不同的格式,例如用一種語言輸入一段文字,把它轉換成另一種語言。

或者幫助拼寫和語法糾正,所以作為輸入,一段可能不完全符合語法的文字,幫你整理一下,甚至轉換格式,例如輸入html和輸出json,所以有一堆應用程式,我曾經寫得有點痛苦。

用一堆正規表示式,現在肯定會實現得簡單得多,使用大型語言模型和一些提示。

是啊,是啊,這些天我寫的幾乎所有東西都用chagbt校對。

所以我現在很興奮地在筆記本上給你們看更多的例子。

所以首先我們要進口Openai,並使用我們在整個影片中使用的相同的獲取完成幫助功能,我們要做的第一件事是翻譯任務,因此,大型語言模型是在來自許多來源的大量文字上訓練的,其中很多是網際網路,這有點,當然啦。

在許多不同的語言中,所以這給模型注入了翻譯的能力,這些模型在不同的熟練程度上知道數百種語言,因此,我們將透過一些例子來說明如何使用這種功能,所以讓我們從一些簡單的開始,所以在第一個例子中。

提示是將以下英文文字翻譯成西班牙文嗨,我想訂一臺攪拌機,回應是尤拉·米·古斯塔里亞或德努納·酒·誇多拉,我對你們所有人都很抱歉,講西班牙語的人,不幸的是,我從來沒有學過西班牙語,你肯定能看出來,好吧嗯。

讓我們試試另一個例子,所以在這個例子中。

提示是告訴我這是什麼語言,然後這是用法語寫的,哥倫比亞庫勒蘭珀,所以讓我們執行這個。

模特已經確定這是法國的,嗯,該模型還可以一次進行多個平移。

所以在這個例子中,假設翻譯下面的法語和西班牙語文字,你知道嗎,我們再加一個英國海盜,課文是。

我想訂一個籃球,所以這裡我們有法語,西班牙和英國海盜。

因此,在某些語言中,翻譯可以根據說話者與聽者的關係而改變,你也可以向語言模型解釋這一點。

所以它將能夠相應地翻譯。

所以在這個例子中我們說,將下列案文的正式和非正式形式譯成西班牙文,你想訂個枕頭嗎,注意這裡我們使用了不同的分隔符,然後這些後面的蜱蟲,只要是一種明確的分離,這並不重要,所以這裡我們有正式的和非正式的。

當你和一個有點,可能比你年長,或者你在一個專業的情況下,那是你用正式語氣的時候,非正式就是和一群朋友講話,我其實不會說西班牙語,但我爸爸有,他說這是正確的,所以在下一個例子中,我們要假裝。

我們負責一家跨國電子商務公司,因此,使用者資訊將以所有不同的語言釋出,因此,使用者將用各種各樣的語言告訴我們關於it的問題,所以我們需要一個通用翻譯器。

因此,首先,我們將以各種不同的語言貼上使用者訊息列表。

現在我們將迴圈,這些使用者訊息中的每一條,因此,對於使用者訊息中的問題,然後我將複製稍長的程式碼塊,所以我們要做的第一件事就是讓模型告訴我們,問題在,所以這是提示,然後我們會列印出原始資訊,語言與問題。

然後我們會讓模特把它翻譯成英語和韓語。

所以讓我們執行這個,所以最初的法語資訊。

所以我們有各種各樣的語言,然後模特把它們翻譯成英語。

然後是韓語,你可以在這裡看到,所以模特說這是法國的,這是因為這個提示符的響應將是,這是法語,您可以嘗試將此提示符編輯為類似“告訴我什麼語言”的內容,這是用一個詞回答只有一個詞。

或者不要用一個句子,那種事,如果你想用一個詞。

或者您可以以JSON格式要求它,或者類似的東西,這可能會鼓勵它。

嗯,不用一整句話,太神奇了。

你剛剛建立了一個通用翻譯器,也可以隨時暫停影片。

在這裡新增任何你想嘗試的其他語言。

也許你自己說的語言,看看模型做得如何,接下來我們要研究的是音調轉換,寫作可以根據預期受眾的型別而有所不同,你知道的,就像我給同事或教授寫電子郵件一樣,顯然會和我給弟弟發簡訊的方式大不相同。

所以聊天gbt實際上也可以幫助產生不同的音調,所以讓我們看一些例子,所以在第一個例子中,提示是將以下內容從俚語翻譯成商務信函。

老兄,我是喬,看看立燈的規格,所以讓我們執行這個。

如你所見,我們有一封更正式的商務信函,其中有關於立燈規格的建議。

接下來我們要做的是在不同的格式之間進行轉換,Chart gbt非常擅長在不同格式之間進行翻譯,如json到html um,你知道的,XML,各種各樣的事情,降價,因此,在提示符中。

我們將描述輸入和輸出格式,所以這裡有一個例子,所以我們有了這個json,它包含了一個餐館員工的列表,上面有他們的名字和電子郵件,然後在提示符中,我們將要求模型將其從json轉換為html。

因此,提示符是將下面的python字典從json轉換為html表,帶有列標題和標題。

然後我們從模型中得到響應並列印出來。

所以這裡我們有一些,嗯,顯示所有員工姓名和電子郵件的html。

現在讓我們看看我們是否真的可以檢視這個html,所以我們將使用這個python庫顯示html中的顯示函式。

在這裡,您可以看到這是一個格式正確的html表。

我們要做的下一個轉換任務是拼寫檢查和語法檢查,這是一種非常流行的聊天用途,GBT我強烈建議這樣做,我一直都這麼做,當你用非母語工作時,它尤其有用,下面是一些常見的語法和拼寫問題的例子。

以及語言模型如何幫助解決這些問題。

所以我要貼上一個句子列表,有一些語法或拼寫錯誤。

然後我們將迴圈這些句子中的每一個,然後呢,請模特校對一下這些,釋放和糾正,然後我們將使用一些分隔符,然後我們會得到回應,並像往常一樣列印出來。

所以這個模型能夠糾正所有這些語法錯誤,我們可以使用我們之前討論過的一些技術,所以我們可以改進提示符。

我們可以說,校對並更正以下文字。

並重寫,重寫整個,並重寫更正,版本,如果您沒有發現任何錯誤,只說沒有發現錯誤,我們試試這個,所以這樣我們就能。

啊,這裡還在用引號,但你可以想象你能找到一種方法。

透過一點點迭代快速開發。

找到一個每次都能更可靠地工作的提示符,現在我們再舉一個例子,在你把你的文章釋出到公共論壇之前檢查一下總是很有用的,所以我們將透過一個檢查評論的例子,這裡有一篇關於毛絨熊貓的評論。

所以我們要請模特校對並糾正評論。

太好了,所以我們有了這個更正版本。

然後呢,我們可以做的一件很酷的事情是,找出我們最初的評論和模型輸出之間的差異。

所以我們要用這個。

嗯紅線Python包做到這一點。

我們將得到我們評論的原文和模型輸出之間的差異。

然後顯示這個。

所以在這裡你可以看到原始評論和模型輸出之間的差異。

已經被糾正的事情,因此,我們使用的提示是校對和更正這篇評論。

但你也可以做出更戲劇性的改變。

語氣的變化,而那種事情,所以讓我們再試一次,所以在這個提示中,我們將要求模特校對並糾正同樣的評論。

但也要使它更引人注目,並確保它遵循apa風格,以高階讀者為目標。

我們還將要求以降價格式輸出,所以我們在這裡使用了原始評論中的相同文字。

所以讓我們執行這個。

這裡我們有一個擴充套件的apa風格的軟熊貓評論。

這就是接下來的變身影片,我們有擴充套件,我們取一個較短的提示符,生成一個較長的提示符。

【ChatGPT提示詞工程師】 DeepLearning.AI - P7:第7集 擴充套件 - 吳恩達大模型 - BV1Wf421q7cd

擴充套件是將短文變長的任務,如一組指令或話題列表。

讓大型語言模型生成更長的文字。

如電子郵件或關於某主題的論文,這有一些很好的用途,如使用大型語言模型作為頭腦風暴夥伴,但我也想承認,這有一些問題用例,如有人用它生成大量垃圾郵件,所以當你使用大型語言模型的這些能力時,請負責任地使用。

以幫助影片內的人。

我們將舉一個例子,如何使用語言模型。

生成個性化郵件,郵件自稱來自AI機器人。

如你所說,這很重要。

我們還將使用另一個,模型的輸入引數:溫度。

允許你改變探索和多樣性,那麼讓我們開始吧。

在我們開始之前,我們將要設定常規配置。

設定Open AI Python包,然後定義輔助函式。

獲取完成,現在我們將編寫一個定製的客戶電子郵件回覆。

因此,給定客戶評論和情感,我們將生成一個定製的響應,現在我們將使用語言模型生成一個定製的電子郵件給客戶。

基於客戶評論和評論的情感,我們已經提取了情感,使用我們在環影片中看到的提示,這是攪拌機的客戶評論。

現在我們將根據情感定製回覆。

所以這裡是指令,你,你是一個客戶服務AI助手,你的任務是傳送一封電子郵件回覆給一位貴賓客戶,給定由三個反引號分隔的客戶電子郵件,生成回覆感謝客戶對他們的評論,若情感正面或中性,感謝其評論。

若情感負面,道歉並建議聯絡客服,確保使用評論中的具體細節,以簡潔專業語氣書寫並簽名,作為AI客服,當使用語言模型生成文字,將展示給使用者時,這種透明性非常重要。

讓使用者知道他們看到的文字由AI生成,然後輸入客戶評價和情感,注意這部分並不重要。

實際上可以用這個提示提取情感,然後跟進寫郵件,僅作示例。

嗯,已從評價提取情感,這是對客戶的回應。

涉及客戶評價中提到的細節。

按指示。

建議聯絡客服,因這只是AI客服。

將使用語言模型的溫度引數,以改變模型響應的多樣性,可把溫度視為探索程度,或模型的隨機性,對於這個短語,我最喜歡的食物最可能是披薩,接下來可能是壽司和玉米卷,在溫度為0時,模型總會選擇最可能下一個詞。

即披薩,在更高溫度下會選不太可能詞,甚至在更高溫度下可能選玉米卷,只有5%機率被選,想象模型繼續響應,我最喜歡的食物是披薩,繼續生成更多詞,此響應將偏離,第一個響應,即我最喜歡的食物是玉米卷。

隨著模型繼續,這兩個響應將越來越不同,當構建需要可預測響應的應用時,推薦在所有影片中使用溫度0,我們一直在用溫度0,若要構建可靠和可預測系統,應選擇這個,若要更創意地使用模型,可能需要更高溫度。

所以用同樣的提示,嘗試生成郵件,但使用更高溫度,在我們的get completion函式中,已指定模型和溫度。

現在讓我們使用相同的提示。

嘗試生成郵件,但使用更高溫度。

在我們的get completion函式中,已指定模型,和溫度。

但我們已設為預設,現在嘗試改變溫度,我們使用提示,然後,嘗試溫度0。7。

所以每次執行相同提示。

你應該期待,嗯,相同完成。

而溫度0。7,每次輸出都不同,所以這裡我們有。

嗯,我們的郵件,如你所見,與之前收到的不同。

再執行一次,顯示每次都會得到不同郵件。

這裡又有另一封不同郵件。

所以我建議你,嗯,自己玩玩溫度。

現在可以暫停影片,嘗試不同溫度。

看看輸出如何變化。

總結一下,嗯,在高溫下,模型輸出更隨機,幾乎可以認為高溫下,助手更容易分心。

但可能更有創意,在下一個影片中,我們將討論更多聊天完成,端點格式。

【ChatGPT提示詞工程師】 DeepLearning.AI - P8:第8集 聊天機器人 - 吳恩達大模型 - BV1Wf421q7cd

關於大型語言模型的一個令人興奮的事情是,您可以使用它來構建一個自定義聊天機器人,只需適度的努力,聊天GPT Web介面是一種讓你擁有國家介面的方式。

基於大型語言模型的作文。

但有一件很酷的事情是,您還可以使用大型語言模型構建自定義聊天機器人。

也許扮演一個人工智慧客服代理或餐館的人工智慧點菜員的角色。

在這個影片中,你將學習如何為自己做到這一點,我將更詳細地描述開啟ai聊天完成格式的元件。

然後你要自己造一個聊天機器人,所以讓我們進入它,因此,首先我們將像往常一樣設定openai python包,所以像聊天CBT這樣的聊天模型實際上被訓練成接受一系列訊息作為輸入。

並返回模型生成的訊息作為輸出,因此,儘管聊天格式是為了讓像這樣的多輪對話變得容易而設計的,我們已經看過之前的影片了,它對沒有任何對話的單學期任務也同樣有用,接下來我們要定義兩個助手函式。

所以這是我們在所有影片中一直使用的,它是得到完成函式。

但如果你仔細看,我們給出提示,但在函式內部,我們實際上要做的是把這個提示放入看起來,嗯看起來像是某種使用者資訊,這是因為聊天CBT UM模型作為聊天模型,這意味著它被訓練成接受一系列訊息作為輸入。

然後返回um模型生成的訊息輸出,所以使用者訊息是一種輸入。

然後輔助訊息是輸出。

所以在這個影片中,我們實際上將使用一個不同的幫助函式,而不是把一個提示作為輸入,得到一個完成。

我們將傳遞一系列資訊。

這些資訊可以來自各種不同的角色。

所以我來描述一下,下面是一個訊息列表的示例,所以第一條資訊是一個系統資訊,它給出了一個全面的指令,在這條資訊之後,我們有,在使用者和助手之間切換,這種情況會繼續下去。

如果你曾經使用過聊天CBT的Web介面,那麼你--你的訊息是使用者訊息,然後聊天GPT的訊息是助手訊息,因此,系統訊息有助於設定助手的行為和角色,它對談話起到了很高的指導作用。

所以你可以把它想象成在助手耳邊竊竊私語,在使用者不知道系統訊息的情況下引導它響應。

所以作為使用者,如果你曾經使用過聊天GBT,您可能不知道聊天gbt的系統訊息中有什麼,這就是我的意圖,系統訊息的好處,它為開發人員提供了一種框架對話的方法,在沒有提出請求的情況下,談話的一部分。

所以你可以引導助手在它耳邊低語,並在不使使用者意識到的情況下引導其響應。

所以現在讓我們試著在對話中使用這些資訊。

因此,我們將使用新的helper函式從訊息中獲得補全。

我們還使用了更高的溫度,所以系統資訊說你是一個說話像莎士比亞的助手,所以這是我們向助手描述它應該如何表現。

然後第一條使用者資訊告訴我一個笑話。

接下來是雞為什麼要過馬路,然後最終的使用者訊息是。

我不知道,所以如果我們執行這個,到達另一邊的反應,我們再試一次,才能到達彼岸,首先,莎拉夫人是一個古老的經典,從來沒有失敗過,所以有莎士比亞式的回應。

讓我們再試一件事。

因為我想說得更清楚,嗯這是助理留言,所以在這裡,讓我們去列印,嗯,整個訊息響應。

所以為了讓這一點更清楚,嗯,此響應是輔助訊息,所以作為助理的角色,然後內容就是資訊本身。

這就是在這個helper函式中發生的事情,我們只是在傳遞資訊的內容。

現在讓我們再舉一個例子,所以我們的資訊是,系統訊息為,你是個友好的聊天機器人,第一條使用者訊息是嗨,我叫伊莎,我們想,獲取第一條使用者訊息,因此,讓我們對第一個助手訊息執行此操作。

所以第一條資訊是你好,伊薩,很高興見到你。

今天我能幫你什麼忙嗎。

現在讓我們試試另一個例子,所以我們的資訊是,嗯,系統訊息。

你是個友好的聊天機器人,和第一條使用者訊息,是呀,你能提醒我,什麼,我叫什麼名字,讓我們得到回應,如你所見,模特其實不知道我的名字。

因此,與語言模型的每個對話都是獨立的互動,這意味著您必須提供所有相關的訊息,以便模型在當前對話中從中提取。

如果你想讓模型從,或引用未引用,記住對話的前面部分,您必須在模型的輸入中提供早期的交換,所以我們將此稱為上下文,所以讓我們試試這個。

所以現在我們已經給出了模型需要的上下文。

嗯,在之前的留言裡是我的名字,我們會問同樣的問題。

所以我們會問我叫什麼名字,模型能夠響應,因為它有它需要的所有上下文,嗯,在我們輸入給它的這種訊息列表中。

所以現在你要建立你自己的聊天機器人,這個聊天機器人將被稱為Autobot,我們將自動收集使用者提示和助手響應,為了建造這個汽車人,它將在一家披薩餐館接受點菜,首先我們要定義這個helper函式。

它所做的是,它會收集我們的使用者資訊,這樣我們就不用用手打了,就像我們上面所做的那樣。

這將從下面構建的使用者介面中收集提示,然後將其追加到名為上下文的列表中,然後它每次都會呼叫具有該上下文的模型,然後模型響應也被新增到上下文中,因此,模型訊息的型別被新增到上下文中。

使用者訊息被新增到上下文中,所以它只是長得越來越長。

這邊請,模型有確定下一步做什麼所需的資訊,所以現在,我們將設定並執行這種使用者介面來顯示汽車人。

所以背景是這樣的,它包含包含選單的系統訊息,並注意每次我們呼叫語言模型時,我們將使用相同的上下文,上下文隨著時間的推移而積累。

然後讓我們執行這個。

好的,好的,我去打個招呼,我想訂一個披薩,助理說很好,您想點什麼比薩餅?我們有義大利辣香腸乳酪和茄子披薩。

嗯哼,多少錢?

好極了,好啦,我們有價格,我想我感覺到一箇中號茄子,披薩。

所以你可以想象,我們可以繼續這個對話。

讓我們看看我們在系統訊息中新增了什麼,所以你是在為披薩店收集訂單的自動化服務,你先招呼客人,然後收集訂單,然後再問是取貨還是送貨,你等著領取整個訂單,然後總結一下,最後檢查一次,如果客戶想新增其他內容。

如果是快遞的話,你可以問一個地址,最後你收了錢,確保澄清所有選項,從選單中唯一標識項的附加項和大小。

你是個汙點,你以簡短的方式回應,非常健談,選單包括友好的風格,然後這裡是選單。

所以讓我們回到我們的談話。

嗯,讓我們看看助手是否遵循了指示。

好的很好,助手問我們是否需要我們在系統訊息中指定的澆頭。

所以我想我們不需要額外的澆頭。

當然有東西,我們還要點什麼嗎?

嗯,我們去喝點水,其實呢。

薯條。

小的或大的。

這很棒,因為我們有點,嗯,請系統訊息中的助手澄清額外的和方面。

所以你明白了,請隨意自己玩這個。

嗯,你可以暫停影片,把這個記在你左邊的筆記本上。

所以現在我們可以要求模型建立一個JSON摘要,我們可以根據對話傳送到訂單系統,所以我們現在新增另一條系統訊息,它是一個指令,我們是說建立一個JSON總結以前的食物訂單,逐項列出每件商品的價格。

田地應該是一個披薩,包括側面,兩份配料清單,三份飲料清單,和四個邊的列表,最後是總價。

你也可以在這裡使用使用者訊息。

這不一定是系統訊息,讓我們執行這個,注意在這個例子中,我們使用了一個較低的溫度。

因為對於這些型別的任務,我們希望輸出是相當可預測的,對於會話代理來說,你可能想用更高的溫度,然而,在這種情況下,我可能會使用較低的溫度以及。

因為對於一個客戶助理來說。

您可能還希望輸出更可預測一點。

所以這裡我們有我們訂單的摘要,所以我們可以把這個提交給訂單系統。

如果我們想,所以我們有了它,你已經建立了自己的訂單聊天機器人,你可以自己定製,並玩弄系統訊息來改變聊天機器人的行為。

【ChatGPT提示詞工程師】 DeepLearning.AI - P9:第9集 總結 - 吳恩達大模型 - BV1Wf421q7cd

祝賀完成本短課程,總結。

在這短課程中,你學習了兩種關鍵提示原則,寫清晰具體指令。

在適當情況下,給模型思考時間,你還學習了迭代提示開發。

以及有一個過程找到提示是正確的,對於你的應用是關鍵。

我們還瀏覽了大型語言模型的一些有用功能。

特別是總結,推理,轉換和擴充套件。

你也看到了如何構建自定義聊天機器人,那很多,你在短短一課中學到的,我希望你喜歡瀏覽這些材料,我們希望你能想出一些你可以自己構建的應用想法,請嘗試並讓我們知道,你想到的,沒有應用太小。

你知道從一個小專案開始很好,也許有一點實用性,或者甚至根本沒用,只是有趣,是的,我發現玩這些模型實際上很有趣,所以去玩吧,是的,我同意這是一個很好的週末活動,基於經驗,嗯,你知道。

請使用你第一個專案的學習來構建更好的第二個專案,也許甚至更好的第三個專案等等,這就是我自己使用這些模型成長的方式,或者如果你有一個更大的專案想法,已經,就去做吧,嗯,作為一個提醒。

這些大型語言模型是非常強大的技術,所以不用說,我們要求你負責任地使用它們,並且請只構建那些將產生積極影響的東西,完全同意,我認為在這個時代,構建人工智慧系統的人可以對他人產生巨大影響,因此。

我們所有人都負責任地使用這些工具比以往任何時候都更重要,嗯,我認為構建大型語言模型基於的應用是一個令人興奮和不斷增長的領域,現在你已經完成了這門課程,我認為你現在擁有豐富的知識來構建。

今天很少有人知道如何構建的東西,希望你也幫助我們宣傳,鼓勵他人參加這門課程,最後,希望你學得開心,感謝你完成這門課程。

【大模型微調】 DeepLearning.AI - P1:1-介紹 - 吳恩達大模型 - BV1mT421a78i

歡迎微調,周莎倫教授的大型語言模型,很高興來到這裡,當我和不同的團體一起參觀時,我經常聽到人們問,如何在自己的資料或任務中使用這些大型語言模型。

而您可能已經知道如何提示大型語言模型。

本課程討論了另一個重要的工具,專門對它們進行微調,如何服用,假設一個開源LM,並在您自己的資料上進一步訓練它,在寫提示符時,可以很好地讓LM按照指示執行任務,比如提取關鍵詞或將文字分為積極或消極的情緒。

如果你微調,然後你可以讓lm更加始終如一地做你想做的事情,我發現它促使NLM以某種風格說話,比如更樂於助人或更有禮貌,還是簡潔與冗長,在一定程度上,這也可能具有挑戰性,微調。

原來也是一個很好的方法來調整一個lm的語氣,人們現在意識到聊天的驚人功能,GBT和其他流行的LLMS回答關於廣泛主題的問題,但是個人和公司希望擁有與他們自己相同的介面,私人和專有資料。

其中一個方法是用你的資料訓練一個LLM,當然,訓練一個基礎LM需要大量的資料,可能是數千億甚至超過萬億字的資料,和海量的GPU計算資源。

但透過微調,您可以利用現有的lm並根據自己的資料進一步訓練它。

所以在本課程中,你將學習什麼是微調,當它可能對您的應用程式有幫助時,微調如何適應訓練,它與即時工程或檢索有何不同,單獨增強型,以及這些技術如何與微調一起使用,你將深入到一個特定的微調變體。

GPT三進入聊天,GBT稱為指令微調,它教導一個LLM遵循指示,最後,你將經歷微調你自己的LLM的步驟,準備資料,訓練模型,並在程式碼中評估這一切。

本課程是為熟悉Python的人設計的,但是要理解所有的程式碼,有助於進一步掌握深度學習的基礎知識,比如訓練的過程是什麼,神經網路就像。

說什麼呢,列車測試分裂,這門課做了很多艱苦的工作,我們要感謝拉米尼團隊和魏妮娜,尤其是在設計方面,以及深度學習,艾方,湯米·尼爾森和傑夫·洛德維大約一個小時後。

透過這個短暫的課程,你對如何建立自己的LM有了更深的理解,透過微調和現有的LM對您自己的資料。

【大模型微調】 DeepLearning.AI - P2:2-為什麼要微調 - 吳恩達大模型 - BV1mT421a78i

在這節課中,你將學習為什麼你應該微調,微調到底是什麼,將其與即時工程進行比較,去實驗室,你可以比較一個微調模型和一個非微調模型,酷,我們開始吧好的,所以你為什麼要在我們跳入。

為什麼,讓我們來談談微調到底是什麼。

所以微調是把這些通用模型,比如GPT 3,把它們專門化到聊天CBD之類的東西上。

使其良好聊天的特定聊天用例,或者使用gpt 4把它變成一個專門的github。

副駕駛用例自動完成程式碼,初級保健醫生就像你的通用模型,你每年都去你的CPP做一次全面檢查,但一個微調或專門的模型就像心臟病專家或皮膚科醫生。

有特殊專長的醫生,實際上可以更深入地治療你的心臟問題或皮膚問題。

那麼微調實際上對您的模型有什麼作用。

它使你有可能給它更多的資料。

比符合提示符的東西,這樣你的模型就可以從資料中學習。

而不僅僅是獲得它,從這個學習過程中,它能夠從PCP升級到更專業的東西。

就像皮膚科醫生,所以你可以在這個圖中看到,你可能會有一些症狀輸入到模型中,像皮膚刺激。

紅腫,瘙癢,而基礎模型,哪款是通用的,可能會說這可能是痤瘡,根據皮膚病學資料微調的模型。

但是,可能會有同樣的症狀,並能給你一個更清楚的。

更具體的診斷,除了學習新資訊,微調還可以幫助引導模型獲得更一致的輸出,或更一致的行為。

例如,當你問它的時候,你可以在這裡看到基礎模型,你的名字是什麼?它可能會回答你姓什麼,因為它看到了太多關於不同問題的調查資料。

所以它甚至不知道它應該回答這個問題,但是一個微調的模型,相比之下,當你問的時候,你能清楚地回答你的名字嗎?

我叫莎倫,這個機器人可能是在我身上訓練的,除了引導模型獲得更一致的輸出或行為之外。

微調可以幫助模型減少幻覺,這是一個常見的問題,模型編造東西。

也許它會說我的名字是鮑勃,當這是在我的資料上訓練的時候。

我的名字絕對不是鮑勃,微調使您能夠根據特定的用例定製模型。

在微調過程中,我們稍後會更詳細地討論,它實際上與模型早期的訓練食譜非常相似。

所以現在把它和你可能更熟悉的東西進行比較。

快速工程,這是您在大型語言模型中已經做了一段時間的事情,但也許在過去的十年裡,谷歌,它只是在編輯查詢時放置一個查詢,更改您看到的結果,所以有很多好處來提示,一個是你真的不需要任何資料就可以開始。

你可以開始和模特聊天,有一個較小的前期成本,所以你真的不需要考慮成本。

因為每次你呼叫模型,沒那麼貴,你並不真的需要技術知識來開始,你只需要知道如何發簡訊。

很酷的是,現在有一些方法可以使用,比如檢索,增強型發電,或抹布將更多資料連線到它,有選擇地選擇現在進入提示符的資料型別,當然如果你有更多的資料,那麼它可能不適合提示符,所以你不能用那麼多資料,通常。

當你試圖適應大量的資料時,不幸的是,它會忘記很多資料,幻覺有問題,當模特編造東西的時候,很難糾正那些不正確的資訊。

它已經學會了,當使用檢索時,增強生成可以很好地連線您的資料。

它也會經常錯過正確的資料,得到不正確的資料並導致模型輸出錯誤的東西,微調是一種相反的提示,所以你實際上可以容納幾乎無限量的資料,這很好,因為模型可以在資料上學習新的資訊,結果。

你可以糾正它以前可能學到的不正確的資訊,甚至放入它以前沒有了解到的最近的資訊,事後花費較少,如果你做得很好,調諧較小的模型,如果你想用很長時間來測試這個模型,這一點尤其重要,所以有很多吞吐量。

或者你希望它能處理更大的負載,而且檢索增強生成也可以在這裡使用。

我想有時人們認為這是一件單獨的事情,但實際上你可以用它來處理這兩種情況,所以你也可以把它和更多的資料連線起來。

即使它知道了所有這些資訊,有缺點,但是,你需要更多的資料,資料必須有更高的質量才能開始。

還有一個前期計算成本,所以不一定是免費的,這不僅僅是幾塊錢剛開始,當然,現在有免費的工具可以開始,但實現這一目標所涉及的計算機遠不止是提示。

通常你需要一些技術知識來把資料放在正確的地方,尤其是你知道,圍繞著這個資料片段。

你知道現在有越來越多的工具,那就容易多了。

但你仍然需要對這些資料有所瞭解,而你沒有,你不必只是一個會發簡訊的人。

必要的,所以最後這意味著。

你知道這對通用用例很好,它非常適合不同的附帶專案和原型。

剛開始就很棒,真的真的很快,同時,微調對於更多的企業或領域特定用例來說是很好的。

並用於生產用途。

我們還將討論如何,在下一節中,它對隱私很有用,這就是微調自己LLM的好處。

所以如果你有自己的LLM,你微調了,你得到的一個好處是效能,所以這可以阻止LLM編造東西,尤其是在你的地盤上,它在這個領域可以有更多的專業知識,它可以更加一致,所以有時這些模型會產生,你知道嗎。

今天有件很棒的事,但明天你就成功了,而且不再一致了,它不再給你那麼大的產量了,因此,這是一種實際上使它更加一致和可靠的方法,你也可以讓它更好地調節,如果你和氣BT玩過很多,你可能見過Chachi BG。

說,對不起,我無法回應,你可以讓它說同樣的事情或不同的事情,這與您的公司或用例有關,以幫助與之聊天的人。

一次又一次地保持正軌,所以現在我想談談隱私,當你微調你自己的生命。

這可能發生在您的VPC中,或者前提,嗯,這可以防止資料洩漏。

以及可能發生的資料洩露,第三方解決方案。

所以這是保護資料安全的一種方法,你已經收集了一段時間了,那可能是最後幾天,也可能是最近幾十年,另一個你可能想要微調自己的LLM的原因是成本,一個是成本透明度,也許你有很多人使用你的模型。

您實際上希望降低每個請求的成本,然後微調一個較小的LLM實際上可以幫助你做到這一點。

總的來說,你對成本和其他幾個因素有更大的控制。

這包括正常執行時間和延遲,您可以大大減少某些應用程式(如自動完成)的延遲,您可能需要低於200毫秒的延遲,這樣做自動完成的人就感覺不到了,您可能不希望自動完成發生在30秒內。

目前執行GPT 4有時就是這種情況,最後是適度的,我們在這裡已經討論過了。

但基本上,如果你想讓模特對某些事情說對不起。

或者說我對某些事情不知道,甚至有一個自定義的響應,這是一種為模型提供護欄的方法,最酷的是,你真的可以在筆記本上看到一個例子。

所以在所有這些不同的實驗室裡,你將使用許多不同的技術來微調。

所以有三個Python庫,一種是由meta開發的pytorch。

這是您將看到的最低階別的介面,然後是一個很棒的圖書館,把臉抱在圓周率火炬上,許多偉大的工作已經完成。

而且水平要高得多,您可以非常容易地匯入資料集和訓練模型,最後你會看到美洲駝圖書館,我和我的團隊一直在開發,我們稱它為美洲駝圖書館,為所有偉大的美洲駝服務。

這是一個更高階別的介面,在那裡你可以用三行程式碼訓練模型好的。

所以讓我們跳到筆記本上,並看到一些微調模型在行動。

好啦,所以我們要比較一個微調模型和一個非微調模型。

首先,我們再次從美洲駝庫匯入。

這是美洲駝的,基本模型轉輪,這門課所做的就是。

它幫助我們執行開源模型,所以這些都是託管在Gpus上執行的開源模型。

有效地執行它們,你可以在這裡執行的第一個模型是美洲駝模型。

現在很流行,而且這個沒有微調。

所以我們要例項化它,基於此,它的擁抱臉名字,我們會說,告訴我如何訓練我的狗坐下來,所以這只是,你知道的,這裡真的真的很簡單,進入非微調模型,我們要把輸出輸出出來,讓我們列印出來。

輸出並檢視,好啦,所以我們問它,告訴我怎麼訓練我的狗坐,它說期間,然後告訴我怎麼訓練我的狗說。

告訴我怎麼教我的狗來,告訴我怎麼讓我的狗痊癒,如此明顯。

這與,你的名字是什麼?你姓什麼?回答,這個模型沒有被告知或訓練來實際響應該命令。

也許有點災難,但讓我們繼續尋找,所以說,也許我們可以問它,你覺得火星怎麼樣。

所以現在你知道了,至少它回答了這個問題。

但這不是很好的反應,我認為這是一個偉大的星球,我認為這是一個好星球,我想這將是一個偉大的星球。

所以它一直很有哲理,甚至可能存在。

如果你繼續讀下去,像谷歌搜尋查詢這樣的東西怎麼樣。

就像泰勒·斯威夫特最好的朋友,讓我們看看它到底說了什麼好吧,嗯,呃,泰勒最好的朋友,但是嗯,上面說這是泰勒·斯威夫特的超級粉絲,嗯,讓我們繼續探索,也許是一些可以看到的對話。

如果它能在像Chachi BT這樣的對話中轉彎,這是亞馬遜送貨訂單的代理,好啦,所以至少它在這裡做了不同的客戶代理,但它並沒有從中得到什麼,這不是任何型別的可用的東西,比如假轉彎或者幫助做一個汽車代理。

所以你已經看夠了,讓我們把它和美洲駝二號進行比較。

已經被微調成真正的聊天,所以我將例項化微調模型,注意這個名字,一切都不一樣,是在這裡聊天嗎,然後我要讓這個微調模型做同樣的事情,所以告訴我怎麼訓練我的狗坐著,我要把它列印出來。

好啦,很有意思,所以你可以立即看出,所以告訴我如何訓練我的醫生說,它還在嘗試自動完成,所以告訴我如何訓練我的狗聽命令坐著,但實際上它幾乎是一步一步地,做什麼的指南,訓練我的狗冷靜,這樣好多了。

而真正擺脫這種額外的自動完成的方法,實際上是通知模型你需要指示,所以我把這些指示標籤放在這裡,這也是用來對付美洲駝的,當你微調自己的模型時,你可以使用不同的東西,但這有助於告訴模型,嘿嘿。

這些是我的指示,這些是界限,我受夠了停止這個指令,停止,繼續給我指示。

所以在這裡你可以看到它不會自動完成,聽命行事,為了公平起見,我們可以用這個,非微調模型實際上說得很好,它只是重複同樣的事情或非常相似的事情,所以嗯,不太對,酷,我們繼續往下走。

那麼你覺得火星這個模型怎麼樣。

哎呦,這是一個迷人的星球,幾個世紀以來人類的想象力,好啦,酷,所以這裡輸出的東西要好得多,泰勒·斯威夫特最好的朋友呢,讓我們看看這個怎麼樣,好啦,這個很可愛,它有幾個候選人,呃。

泰勒·斯威夫特最好的朋友,其實是,讓我們來看看亞馬遜送貨代理的這些轉變,好啦,上面寫著,原來如此,你能給我你的訂單號嗎,這樣好多了,它很有趣,因為在這裡它也總結了正在發生的事情。

你知道這可能是你想要的,也可能不是,這將是你可以微調的東西。

現在我很好奇,聊天GPT會說什麼,告訴我怎麼訓練我的狗坐著。

好啦,所以它給了,你也知道不同的步驟,好極了,好啦,請隨意使用Chachi或任何其他模型來檢視,他們還能做什麼並比較結果,但很明顯,我認為那些經過微調的,包括查奇BT和這隻美洲駝LLM。

他們顯然比現在沒有微調的那個好,在下一節課中,我們要看看微調在整個訓練過程中的作用,所以你會看到如何到達這裡的第一步。

【大模型微調】 DeepLearning.AI - P3:3-微調在訓練過程中的位置 - 吳恩達大模型 - BV1mT421a78i

在這節課中,您將瞭解微調真正適合培訓過程的地方,它是在一個叫做預訓練的步驟之後出現的,這將涉及到一點細節,然後你就可以學習所有不同的任務,你得把微調應用到,我們繼續好嗎,讓我們先看看微調適合哪裡。

讓我們來看看預訓練,這是微調發生之前的第一步,它實際上在一開始就需要一個模型,那完全是隨機的,它對世界一無所知,所以它所有的重量,如果你熟悉權重是完全隨機的,它根本不能構成英語單詞,它還沒有語言技能。

它的學習目標是下一個令牌預測,或者真的,你知道的,在簡化的意義上,只是這裡的下一個詞預測,所以你看到這個詞一次,所以我們希望它現在,預測這個詞,但你會看到LLM只是產生SD感嘆號,感嘆號離這個詞很遠。

原來在那裡,但它正在接收和讀取一個巨大的資料語料庫,經常從整個網路上刮下來,我們通常稱之為無標籤,因為這不是我們共同構建的。

我們剛從網上刮下來的,我會說它經歷了很多很多的清潔過程,所以要得到這個資料集還有很多手工工作要做,對模型預訓練有效,因為模型本質上是用下一個令牌預測來監督自己,它所要做的就是預測下一個詞。

沒有真正的標籤,否則,在這裡訓練後,您可以看到,模型現在能夠預測單詞on或令牌,或在,嗯,這是習得的語言,它從網上學到了很多知識,所以這個過程實際上是以這種方式工作的,這太棒了,而且很神奇。

因為它只是試圖預測下一個令牌,它現在正在讀取整個網際網路的資料來這樣做。

好啦,也許整個網際網路上都有星號,從整個網際網路上刮取的資料和資料,這背後的實際理解和知識往往不是很公開,人,我真的不知道資料集是什麼樣子的,對於許多大公司的閉源模型來說,但是路德有一個驚人的開源努力。

人工智慧將建立一個名為樁的資料集,你將在這個實驗室裡探索,它是一套兩個,從整個網際網路上刮取的兩個不同的資料集,在這張圖中你可以看到,你知道有八十七年,這是林肯的葛底斯堡演說,還有林肯的胡蘿蔔蛋糕食譜。

當然還有從Pubmed上刮下來的,有關於不同醫學文字的資訊,最後,這裡還有來自GitHub的程式碼,所以這是一組非常聰明的資料集,它們被精心策劃在一起,為這些模型注入知識,現在呢。

這個預培訓步驟是相當昂貴的,耗時實際上是昂貴的,因為模型太費時間了,檢查所有這些資料,從完全隨機到理解其中的一些文字,你知道的,整理胡蘿蔔蛋糕食譜,同時也編寫程式碼。

好啦,所以這些預先訓練的基於模型很棒,實際上有很多都是開源的,但你知道它是在網上的這些資料集上訓練的,它可能有地理作業,你可能會在左邊看到,它問印度的首都是什麼,肯亞的首都是什麼。

法國的首都到底是什麼,你知道在沒有看到答案的情況下,所以當你輸入墨西哥的首都,LM可能會說匈牙利的首都是什麼,正如你所看到的,它並不真正有用。

從聊天機器人介面的意義上,那麼如何將其傳送到聊天機器人介面,嗯,微調是讓你到達那裡的方法之一,它應該是你工具箱裡的一個工具,所以預訓練是讓你得到基本模型的第一步,當您在,實際上沒有那麼多資料,嗯。

您可以使用微調來獲得微調的模型,實際上即使是一個微調的模型,之後可以繼續新增微調步驟,所以微調真的是之後的一步,您可以使用相同型別的資料,實際上,您可以從不同的來源刮取資料,並將其整理在一起。

你很快就會看到的,所以這可以是這句話,未引用未標記資料,但您也可以自己管理資料,使它更結構化,以便模型瞭解,我認為微調和預訓練的區別在於,所需的資料要少得多,你是建立在這個基礎模型上的。

已經學會了這麼多知識和基本的語言技能,你真的把它提升到了一個新的水平,你不需要那麼多資料,所以這真的是你工具箱裡的一個工具,如果你來自其他機器學習領域,你知道這是對區分任務的微調,也許你在處理影像。

你一直在微調圖片,你會發現這裡對微調的定義有點鬆散,對於生成性任務來說,它沒有很好的定義,因為我們實際上是在更新整個模型的權重,不僅僅是一部分,對於微調來說,其他型別的模型。

所以我們在這裡的訓練目標和預訓練是一樣的,用於微調,下一個令牌生產,我們所做的就是改變資料,所以它在某種程度上更有條理,模型在輸出和模仿這種結構時可以更加一致。

還有更先進的方法來減少你想更新這個模型的程度,我們稍後再討論這個。

那麼微調到底為你做了什麼,所以你現在就知道是什麼了,但是有哪些不同的任務呢,所以你實際上可以很好地處理它,我喜歡思考的一個大類別是行為改變,你在改變模型的行為,你說得很對,你知道在這個聊天介面裡。

我們現在在聊天,我們不是在調查,因此,這導致模型能夠更一致地做出反應,這意味著模型可以更好地聚焦,也許這對適度更好,例如,它通常也只是在梳理它的能力,所以在這裡它更擅長交談。

所以它現在可以談論各種各樣的事情,與之前相比,我們必須做大量的快速工程,為了梳理出這些資訊,微調還能幫助模型獲得新知識,所以這可能是圍繞著特定的主題,而這些主題不在這個基礎上,預訓練模型。

這可能意味著糾正舊的不正確資訊,所以也許你知道,您希望模型實際注入的更多最新資訊,當然,更常見的是,你用這些模型同時做,所以你經常改變行為,你想讓它獲得新的知識,所以把它降低一個等級。

所以微調的任務,只是給llms發簡訊而已,我喜歡把它分為兩個不同的類別,所以你可以考慮一下,一個作為提取文字,所以你把文字放進去,你得到的簡訊更少,所以很多工作都在閱讀,這可能是提取關鍵字。

您可能正在路由的主題,你知道的,根據你看到的所有資料,你路由聊天,例如,這裡有一些API或其他不同的代理,就像不同的代理能力,這與膨脹形成鮮明對比,所以這就是你把文字放進去的地方,你會得到更多的簡訊。

所以我喜歡把它看作是寫作,所以這可能是聊天,寫電子郵件,編寫程式碼,真正理解你的任務,這兩個不同任務之間的區別,或者您有多個任務需要微調,是我發現的最明顯的成功標誌,所以如果你想成功。

我對模型的微調越來越清楚你想做什麼任務,清晰真的意味著知道什麼是,你知道一個好的,你知道好的輸出是什麼樣子的。

輸出是什麼樣子的,但更好的產出是什麼樣子的,因此,當您知道某些東西在編寫程式碼方面做得更好時,或者在路由方面做得更好。

這項任務確實能幫助你微調這個模型,使它做得很好,好啦,所以如果這是你第一次微調,我推薦幾個不同的步驟,因此,首先透過提示設計一個大型LLM來確定一個任務,那可能是查奇BT,例如。

所以你只是在玩chgbt,像平時一樣,你找到一些,你知道它正在做的任務,好啦,是啊,是啊,所以不是很好,但也不可怕,所以你知道在可能的範圍內,但它不是,它不是最好的,你希望它為你的任務做得更好。

所以選一個任務選一個然後選第四個,嗯,獲取該任務的一些輸入和輸出,所以你發了一些簡訊,你發了一些簡訊,輸入輸入文字輸出文字,為了完成這項任務,我喜歡用的一個黃金數字是一千,因為我發現這是一個很好的起點。

你需要大量的資料。

並確保這些輸入和輸出比OK更好。

LLM的結果,在你不能一直產生這些輸入輸出之前,所以要確保你有這些資料對,你也會在實驗室裡探索這個,整個管道,從那個開始,然後你要做的就是,然後,您可以對這些資料微調一個小LLM。

只是為了感受一下效能的提升,所以只有當你第一次,這是我推薦的,所以現在讓我們跳進實驗室,在那裡你可以探索用於預訓練的資料集,微調與微調,所以你很清楚這些輸入輸出對是什麼樣子的。

好啦,因此,我們將從匯入幾個不同的庫開始,所以我們要執行它,我們要使用的第一個庫是資料集,圖書館從擁抱臉,他們有一個很棒的功能,叫做負載資料集,在那裡,你可以從他們的集線器上提取一個資料集。

並能夠執行它。

所以在這裡我要提取訓練前的資料集,叫做堆,你只是看到了更多,而在這裡,我抓住了分裂,即訓練與測試,我實際上在抓流媒體,等於真,因為這個資料集很大,如果不弄壞這個筆記本,我們就不能下載它。

所以我要一次一個地播放,這樣我們就可以探索裡面不同的資料,所以只要把它裝起來。

現在我要看看前五個,所以這只是使用迭代工具。

很好好的,所以你可以在預先訓練的資料集中看到,這裡有很多資料看起來像是刮的,所以你知道這篇文章說它已經完成並提交了,你可以在Android上玩TCS的生存,這是一個例子,讓我們看看能不能找到另一個。

這裡還有一個,所以這只是被刮掉的程式碼,被刮除的XML程式碼,這是另一個資料點,這裡,您將看到文章內容,你會看到這個主題,你知道的,亞馬遜宣佈在AWS上提供新服務,然後這裡是關於你知道的,大滿貫釣魚包機。

所以這是一個家族企業,所以這就是,你知道,只是不同資料集的大雜燴,基本上是從網際網路上刮下來的,我想把它和微調資料集進行對比,你將在不同的實驗室使用,我們要搶一家公司,問答對資料集。

你知道從常見問題解答中刮下來的,並整理了內部工程檔案,它叫拉米尼醫生,是關於公司的,拉米尼,嗯,所以我們將閱讀JSON檔案,去看看裡面有什麼,好啦,所以這是更結構化的資料,對吧,所以這裡有問答對。

這是關於這家公司的非常具體的。

所以使用這個資料集的最簡單方法是連線。

其實這些問題和答案一起,把它送進模型裡,這就是我要做的,我要把它變成一個迪克,然後我要看看把其中一個連線在一起是什麼樣子的。

把問題串聯起來。

在這裡給出答案,當然,你可以用任何可能的方式準備你的資料。

我只想說出幾種不同的常見方法,對你的資料進行格式化和結構化,問答配對,但也有指令和響應對。

輸入輸出對,只是在這裡很普通,你也可以擁有它,反正我們是連在一起的,這只是你在上面看到的文字,好啦,所以把它連線起來,你知道這很簡單,但有時這就足以看到結果,有時不是,嗯,因此。

您仍然會發現模型可能需要更多的結構來幫助它。

這與快速工程非常相似,其實呢,所以更進一步,您還可以使用以下指令處理資料,在這種情況下,問答提示模板,這裡有一個常見的模板註釋。

在問題之前有一磅一磅,一種標記,這樣就可以很容易地用作結構。

告訴模特期待接下來會發生什麼,它在看到問題後期待一個問題,它還可以幫助您釋出處理模型的輸出。

即使經過微調,所以我們有那個,因此,讓我們來看看這個提示符模板的執行情況。

看看這與串聯的問答有什麼不同。

所以在這裡你可以看到,提示模板就是這樣,問題和答案在那裡乾淨利落地完成了。

通常,將輸入和輸出分開是有幫助的,所以我要把答案去掉把它們分開,因為這所房子只是很容易地使用資料集進行評估,因為你知道,當您將資料集拆分為訓練和測試時,所以現在我要做的是把所有這些。

你知道的,將所有此模板應用於整個資料集。

所以只要在上面執行一個for迴圈,只是及時補水,所以這只是,你知道的,用f字串或格式將該問題和答案新增到其中。

這裡有蟒蛇的東西好吧,所以讓我們來看看這篇文章之間的區別。

唯一一件事,和問答形式。

酷,所以只有文字,你在這裡輸入的都是串聯的,這是一個問題的答案,更有條理,你可以用任何一個,但當然,我確實建議對它進行結構化,以幫助評估。

基本上就是這樣,儲存這些資料的最常見方式通常是在json行檔案中。

所以JSON L檔案,Json l,基本上就是,您知道每一行都是一個json物件。

就這樣了,所以只是把它寫在那裡歸檔,你也可以在擁抱臉上上傳這個資料集,如下所示。

因為你以後也可以用這個。

接下來你可以像這樣把它從雲中拉出來,你將深入研究一種特殊的微調變體,稱為指令。

【大模型微調】 DeepLearning.AI - P4:4-指令微調 - 吳恩達大模型 - BV1mT421a78i

在這節課中,你將學習指令微調,使gpt 3變成聊天的微調變體,GPT並賦予它聊天的能力,好啦,讓我們開始給我們所有的模特聊天的能力,好啦,所以讓我們深入研究什麼是指令微調,指令微調是微調的一種。

你可以做的所有其他任務,就像推理,路由,副駕駛,就是寫程式碼,聊天,不同的代理,但特別是微調指令,你也可能聽到過指令曲調或以下指令,LLMS教模型遵循指令,表現得更像聊天機器人。

這是一個更好的使用者介面來與模型互動,就像我們在查奇BT看到的那樣,這就是把gpt 3變成聊天gbt的方法,這極大地增加了像我這樣的少數研究人員對人工智慧的採用,對千千萬萬的人,所以對於下面指令的資料集。

您可以使用許多已經存在的現成的,線上或特定於您的公司,這可能是常見問題解答,客戶支援對話或鬆弛訊息,所以它真的是這個對話資料集,或者只是指令響應資料集,當然啦,如果你沒有資料,沒問題。

您還可以將資料轉換為更多的問答格式,或遵循格式的指令,透過使用提示模板,所以在這裡你可以看到,你知道嗎,讀我可能會變成一對問答,你也可以用另一個LLM為你做這件事,有一種技術叫羊駝。

史丹佛大學使用聊天gbt來做到這一點,當然,您可以使用不同開源模型的管道來做到這一點,也是,酷,所以微調最酷的事情之一,我認為它教會了模型這種新的行為,雖然你知道你可能有微調資料,法國的首都是什麼?

因為這些是簡單的問答對你可以得到,您還可以推廣這種對資料進行問題回答的思想,您可能沒有給出微調資料集的模型,但模型已經在它先前存在的,訓練前的步驟,所以這可能是程式碼,這實際上是聊天GBT論文的發現。

模型現在可以回答關於程式碼的問題,儘管他們沒有關於這個的問答對,為了他們的指導微調,這是因為讓程式設計師去真的很貴,你知道的,有標籤的資料集,他們在其中詢問關於程式碼的問題併為其編寫程式碼。

所以微調的不同步驟概述,我們的資料準備,培訓和評價,當然啦,在你評估模型之後,你需要再次準備資料來改進它,改進模型是一個非常迭代的過程,專門用於指導,微調和其他不同型別的微調。

資料準備是你真正有差異的地方,這真的是你,你知道的,更改資料,您可以根據特定型別的微調調整資料,你正在做的微調的具體任務,培訓和評估非常相似,所以現在讓我們潛入實驗室。

在那裡你可以看到用於指令調優的羊駝資料集,您還可以再次比較經過指令調優的模型和,還沒有被指令調諧,你可以在這裡看到不同尺寸的模型,所以首先匯入幾個庫,第一個重要的是,從資料集庫載入資料集函式。

讓我們載入這個指令調諧資料集,這是指定羊駝資料集,我們再次流媒體,因為這實際上是一個龐大的微調資料集,沒有那堆那麼大,當然我們要把它裝起來就像以前一樣,你們要看幾個例子,好啦,所以不像那堆。

不僅僅是簡訊,就是這裡,它更有條理一點,但這不是你所知道的,明切,就像問答對一樣,最酷的是,你知道嗎,羊駝論文的作者,他們實際上有兩個提示模板,因為他們希望模型能夠使用兩種不同型別的提示。

兩種不同型別的任務,一個是你知道的一個指令,在那裡有一組額外的輸入,例如它,指令可能是加兩個數字,輸入可能是第一個數字是3,第二個數字是四,然後是沒有輸入的提示模板,你可以在這些例子中看到。

有時有一個輸入是不相關的,所以它沒有那個,所以這些是正在使用的提示模板,又是這樣,和以前很像,您只需補充這些提示,並在整個資料集中執行它們,讓我們列印出一對,看看它看起來很酷,這裡是輸入輸出。

你知道它是如何水合到提示符中的,所以它以回應結束,然後它在這裡輸出這個響應,很酷,就像在將其寫入JSON行檔案之前一樣,你可以上傳到擁抱臉中心,如果你想,我們實際上已經把它裝在拉米尼羊駝那裡了。

這樣它就穩定了,你可以去那裡看看,你可以去用它,好的很好,現在您已經看到了資料集後面的指令是什麼樣子的,我想接下來要做的就是再次提醒你,告訴我如何訓練我的狗在不同的模型上迅速坐下。

第一個是美洲駝二號模型,這又不是指令調諧,告訴我怎麼訓練我的狗,好啦,又從那個時期開始,就這麼說,所以請記住之前和現在我們將再次比較,指令調諧模型就在這裡,好啦,好多了,它實際上產生了不同的步驟。

最後我只想再次分享聊天GBT,所以你可以在這裡做一個比較,好啦,所以這是一個更大的,你知道的,CBD的一套型號相當大,與美洲駝相比,兩種模型,這些實際上是70億個引數模型,據傳Chgbt約為700億。

所以非常大的模型,你們還將探索一些較小的模型,一個是7000萬引數模型,我正在載入這些模型,這還不是超級重要,你以後會更多地探討這個問題,但是我要載入兩個不同的東西來處理資料,然後執行模型。

你可以看到這裡,我們這裡的標籤是路德·艾·皮提亞七千萬,這是一個七千萬引數的模型,尚未調整指令,我要在這裡貼上一些程式碼,它是一個執行推理的函式,或者基本上在文字上執行模型,我們會透過。

你知道這些不同的部分,在這個函式中到底發生了什麼,在接下來的幾個實驗室裡,酷,所以這個模型還沒有微調,它不知道一家公司的任何具體情況,但我們可以重新載入以前的公司資料集。

所以我們要從這個資料集中給這個模型一個問題,可能只是你知道測試集的第一個樣本,例如,所以我們可以在這裡執行這個,問題是lamini能否為軟體專案生成技術文件或使用者手冊,實際的答案是肯定的。

Lame和我可以為軟體專案生成技術文件和使用者手冊,它一直在繼續,但是模型的答案是,我有一個關於以下內容的問題,如何獲得正確的文件來工作,我認為您需要使用以下程式碼等,所以很離譜,當然是學英語。

裡面有文字文件,所以它有點理解,也許我們是在一個問題的答案設定,因為它有一個答案,但這顯然很離譜,因此,它並不完全理解這個資料集,就知識而言,也不明白我們期待的行為,所以它不明白它應該回答這個問題。

好啦,現在將它與我們為您微調的模型進行比較,但你實際上是在為接下來的教學微調,這就是載入這個模型,然後我們可以在這個模型中執行同樣的問題,看看它是如何,它說是的。

Lame和我可以為軟體專案生成技術文件或使用者手冊,等,所以這比以前的要準確得多,它遵循我們所期望的正確行為,好的很好,現在您已經看到了指令遵循模型的作用,下一步就是仔細檢查你所看到的。

它的一個頂峰是標記器,如何準備我們的資料。

【大模型微調】 DeepLearning.AI - P5:5-準備資料 - 吳恩達大模型 - BV1mT421a78i

在探索了本課將使用的資料之後,你將學習如何為訓練準備資料,讓我們跳進去吧,所以接下來你需要準備好什麼樣的資料,有一些好的最佳實踐,所以一個是你想要更高質量的資料,實際上,這是你微調所需要的第一件事。

而不是低質量的資料,我說的是什麼意思,那就是,如果你給它,你知道垃圾輸入,它會鸚鵡學舌,給你垃圾輸出,所以提供高質量的資料很重要,其次是多樣性,因此,擁有涵蓋用例許多方面的不同資料是有幫助的。

你所有的輸入和輸出都是一樣的,然後模型就可以開始記憶它們了,如果這不是你想要的,然後模型就會開始一遍又一遍地噴出同樣的東西,所以在你的資料中有多樣性是非常重要的,下一個是真實的或生成的。

我知道有很多方法可以建立生成的資料,你已經看到了一種使用LLM的方法,但實際上擁有真實的資料是非常,大多數時候非常有效和有幫助,尤其是那些寫作任務,這是因為生成的資料已經有了一定的模式。

您可能聽說過一些試圖檢測,是否生成了某物,這實際上是因為有模式和生成的資料,他們試圖檢測,結果呢,如果你用更多相同的模式訓練,它不一定會學習新的模式或構建事物的新方法,最後我把這個放在最後。

因為實際上在大多數機器學習應用程式中,擁有更多的資料比擁有更少的資料更重要,但正如你剛才看到的,預訓練處理了很多這個問題,預訓從大量資料中學到了,你都是從網上知道的,所以它已經有了很好的基礎理解。

不是從零開始的,因此,擁有更多的資料有助於模型,但不如前三名重要。

而且絕對沒有質量重要,所以首先,讓我們來看看收集資料的一些步驟,你們已經看到了一些指令響應對,所以第一步是收集它們,下一個是把這些對連線起來,或新增提示模板,你也看到了,下一步是標記資料,新增填充。

或截斷資料,所以放進模型裡的尺寸是合適的,你會在實驗室裡看到如何標記它,因此,準備資料的步驟是收集這些指令響應對,也許那是問答對,然後它將這些對連線在一起,或者像以前一樣新增一些提示模板。

第三步是標記資料,最後一步是將這些資料分成訓練和測試。

在象徵什麼,那到底是什麼意思,嗯,標記資料是將文字資料,實際上把它變成數字,代表每一段文字,實際上不一定是透過文字,它是基於你知道的常見字元出現的頻率,所以在這種情況下,我的最愛之一是img令牌。

這在標記者中很常見,這是因為這發生在每一個喬恩身上,所以在這裡你可以看到微調,我不去,所以JD中的每一個動詞,你知道微調或標記都有IMG,這對映到這裡的代幣278,當你用同樣的標記器解碼它時。

它又變成了同樣的文字,現在有很多不同的標記器,標記器實際上與每個模型的特定模型相關聯,因為它被訓練在上面,如果你給你的模型錯誤的標記器,它會很困惑,因為它希望不同的數字代表不同的字母和單詞。

所以確保你使用了正確的標記器,你會在實驗室裡看到如何輕鬆地做到這一點--很酷。

所以讓我們去看筆記本,好啦,因此,首先我們將匯入幾個不同的庫,實際上,這裡最重要的一個是自動標記器類,從變形金剛圖書館透過擁抱臉。

它的作用是驚人的,它會自動為您的模型找到正確的標記器,當您只指定模型是什麼時,所以你所要做的就是給模型起一個名字,這和你以前看到的型號名字一樣,價值七千萬的巨蟒模型,好啦,所以也許你有一些簡訊說。

你知道嗨,你現在怎麼樣,讓我們把那篇文章標記一下,所以把它放在嘣裡,所以讓我們看看什麼編碼文字是好的,所以這裡有不同的數字表示文字,標記器輸出一個帶有表示標記的輸入ID的字典,所以我只是列印在這裡。

然後讓我們把它編碼迴文字中。

看看它是否真的會變成嗨,你好嗎酷斃了。

它又變成了嗨,你怎麼這麼,那太好了,好啦,所以呃,在標記時,您可能會放入成批的輸入。

所以讓我們一起看看幾個不同的輸入。

所以有嗨,你好嗎,我很好,是的,所以把文字列表,你可以像這樣把它分批放進代幣機裡,你在這裡得到了一些不同的東西,所以我是這樣做的,你好嗎?我又好又小,而且是的,只是一個信物。

所以你可以看到這些在長度上是不同的,實際上這對模特來說很重要,批次中的所有東西都是相同的長度,因為你用的是固定尺寸的張量,所以文字需要相同,所以我們做的一件事叫做填充填充。

是為我們的填充令牌處理這些可變長度編碼文字的策略,你必須指定,你知道你想要什麼,要表示填充的數字是多少,特別是我們用的是零,它實際上也是句子的結尾標記。

所以當我們透過標記器執行padding equals true時,你可以看到是,字串右邊有很多0,只是為了配合這個高的長度,你怎麼串,您的模型也將有一個最大的長度,它可以處理和接受。

所以它不能把所有的東西都放進去,你以前玩過提示,您可能已經注意到提示符的長度是有限制的,所以這是一回事,截斷是一種處理策略,使那些編碼文字更短,這實際上符合模型。

所以這是讓它變短的一種方法,所以你可以在這裡看到,我只是人為地將最大長度改為三個,將截斷設定為true。

然後看到現在對嗨來說短多了,你好嗎,它是從右邊截斷的,所以現在只是把這裡的一切都處理掉,實際上,有一件事很常見,你知道你在寫一個提示,也許你在某個地方有你的指示,你有很多重要的事情,也許在另一邊。

在右邊在右邊。

它被截斷了,所以你知道,指定向左的截斷邊。

實際上可以用另一種方式截斷它,所以這真的取決於你的任務,然後呢,實際用於填充和截斷。

您想同時使用,所以讓我們把兩個都放在那裡,所以這裡截斷為真,填充為真。

把它列印出來,所以你可以看到這裡的零,但也被截斷為三個偉大的,所以這真的是一個玩具例子,我現在要貼上一些您在前一個實驗室中完成的程式碼。

即時,所以在這裡,它載入了帶有問題和答案的資料集檔案。

把它放進提示符裡,一氣呵成。

現在你可以在這裡看到一個問答的資料點。

所以現在您可以在這些資料點中的一個上執行這個標記器,所以首先把這個問題和那個答案聯絡起來,再透過標記器,我只是在這裡以麻木的形式返回張量。

簡單地說,執行它只需填充,那是因為我不知道這些代幣實際上會有多長時間,所以重要的是。

然後我想出了,您知道最大長度和標記輸入之間的最小值。

當然,你總是可以墊到最長的,你總是可以墊到最大長度,所以這就是這裡的東西,嗯,然後我再次標記截斷到最大長度,我把它列印出來。

從字典裡指定就行了,這就是代幣的樣子,所以讓我們把它包裝成一個完整的函式。

所以你可以在你的整個資料集中執行它,所以這又是,同樣的事情發生在這裡,你已經看到了抓住最大長度。

設定截斷側,這是一個標記資料集的函式,現在你能做的就是。

您可以載入該資料集,這裡有一個很好的地圖功能,因此,您可以將標記化函式對映到該資料集,你會看到這裡,我在做一件很簡單的事,所以我把批次設定為1,很簡單,它將被分批,並下降最後一批真。

你知道我們經常這樣做,以幫助混合大小的輸入,所以最後一批可能是不同大小的。

很好下一步是拆分資料集。

所以首先我必須在這個標籤列中新增,至於抱臉處理,然後我要執行這個火車測試分裂函式,我將把測試大小指定為資料的10%,所以你當然可以改變這個,根據您的資料集有多大,洗牌是真的。

所以我把這個資料集的順序隨機化,它就會把它列印出來。

所以現在您可以看到資料集已經被拆分了,訓練和測試在一百四十為測試設定在那裡,當然,這個已經裝滿了,擁抱臉,就像你以前看到的,所以你可以去那裡下載它,看看它是一樣的。

所以雖然這是一個專業的資料集,是關於一家公司的,也許這和你的公司有關,例如,您可以使其適應您的公司,我們覺得那可能有點無聊,不一定是,因此,我們包括了一些更有趣的資料集,您也可以使用這些資料集。

並隨時為這些定製和訓練您的模型,一個是給泰勒斯威夫特的,一個是給流行樂隊bts的,一個是開源的大型語言模型,你可以玩。

只是看著,你知道的,來自Tay Tay資料集的一個資料點。

我們去看看好的,泰勒·斯威夫特在千禧一代中最受歡迎的歌曲是什麼,一首歌與千禧一代有何關聯,好啦,好啦,所以你可以自己看看,嗯是的,這些資料集可透過擁抱臉獲得,現在在下一個實驗室。

既然你已經準備好了所有的資料。

【大模型微調】 DeepLearning.AI - P6:6-訓練過程 - 吳恩達大模型 - BV1mT421a78i

在這節課中,你將逐步完成整個訓練過程,最後,看到模型在你的任務中得到改進,專門讓你可以和它聊天,讓我們跳進去好嗎,LLM培訓,這看起來像什麼,所以訓練過程實際上與其他神經網路非常相似。

所以你可以在這裡看到,你知道我們見過的LLM的相同設定,預測d,感嘆號,感嘆號在um,發生什麼事了?嗯,首先,你把訓練資料新增到頂部,然後你計算損失,所以它預測了一些完全錯誤的東西,一開始就預測損失。

與它應該給出的實際反應相比,那是在,然後你更新權重,你透過模型來更新模型來改進它,最終它學會了,然後輸出像棋子一樣的東西,有很多不同的超引數進入訓練LLMS,我們不會很具體地討論它們。

但你可能想玩的幾個是學習率,學習率,排程器和各種最佳化器超引數,好了,現在深入到程式碼中,所以這些只是Pytorch中訓練過程程式碼的一般塊,所以首先你要回顧一下,紀元是對整個資料集的傳遞,因此。

您可能會多次檢視整個資料集,然後要分批裝車,這就是你在標記資料時看到的不同批次,所以資料集合在一起,然後你把批處理透過你的模型得到輸出,你從你的模型中計算損失,你後退一步,然後更新最佳化器,好啦。

現在你經歷了,Pytorch中這個低階程式碼的每一步,我們實際上要更進一步擁抱臉,也是美洲駝進入美洲駝圖書館的另一個更高的層次,我只是想看看訓練過程在實驗室的實踐中是如何運作的。

所以讓我們來看看,好啦,所以首先是看看訓練過程是如何隨著時間的推移而簡化的,相當多的更高階別的介面,那個圓周率火炬密碼,你看到男人了,我記得在我讀博士的時候。

現在有這麼多偉大的圖書館可以讓這變得非常容易,其中之一是拉米尼美洲駝圖書館,它只是用三行程式碼訓練你的模型,託管在外部GPU上,它可以執行任何開源模型,你就可以把模型拿回來了,正如你在這裡看到的。

它只是要求四億一千萬的引數模型,您可以從相同的JSON行檔案載入該資料,然後你就打火車模型酷,返回一個儀表板,一個操場介面和一個模型ID,然後你可以呼叫並繼續訓練或執行以推斷,好啦。

所以對於實驗室的其他部分,我們實際上要把重點放在使用Pythia七千萬一個模型上,你可能想知道,為什麼我們一直在玩那個非常小的模型,原因是它可以在這個實驗室的CPU上執行得很好。

這樣你就可以看到整個訓練過程,去,但現實地為您的實際用例,我建議從大一點的開始,可能有十億個引數,或者甚至是這四億,如果你的任務比較容易,酷,所以首先,我要載入所有這些庫,其中一個是實用程式檔案。

裡面有一堆不同的功能,其中一些我們已經一起寫在標記器上了,還有一些您應該看一看,用於記錄和顯示輸出,所以首先讓我們從訓練的不同配置引數開始,所以實際上有兩種方法可以匯入資料,你已經看到了這兩種方式。

所以一個是,不使用喇叭聲臉,當然,您只需指定某個資料集路徑,另一個你可以指定一個擁抱臉路徑,我在這裡,我用的是布林值,用擁抱的臉來說明這是否是真的,我們在這裡為您包括兩者,所以你可以很容易地再次使用它。

我們要用一個小一點的模型,使其在CPU上執行,所以這裡只有七千萬個引數,最後,我將把所有這些都放入一個訓練配置中,然後將其傳遞給模型,只是為了瞭解你知道型號的名字是什麼,而且資料很棒。

所以下一步是標記器,你在過去的實驗室裡已經做過了,但在這裡,你又一次載入了標記器,然後拆分資料,這裡是訓練和測試集,這是從下一個擁抱臉開始的,只是載入模型,您已經在上面指定了模型名稱,那就是七千萬引數。

Pythia模型,我只是要指定它作為基本模型,下一個還沒訓練好的,一段重要的程式碼,如果你用的是GPU,這是圓周率火炬程式碼,它將能夠計算出有多少CUDA裝置,基本上你有多少GPU,依賴於此。

如果你有超過零的,這意味著你有一個GPU,所以你可以把模型放在GPU上,否則就是中央處理器,在這種情況下,我們將使用CPU,您可以看到選擇CPU裝置所有權利,所以把模型放在GPU或CPU上。

你只需要做型號2的裝置,所以很簡單,所以現在這是列印出,你知道這裡的模型是什麼樣子的,但它把它放在那個裝置上了,把之前實驗室的步驟,但也加入了一些新的步驟,所以您以前已經見過這個函式。

但現在來看看到底發生了什麼,所以首先你要把收到的簡訊標記出來,你還在傳遞你的模型,這就是這裡的模型,您希望模型基於這些令牌生成,現在令牌必須放在同一個裝置上,這樣你就知道模型是否在GPU上,例如。

您還需要將令牌放在GPU上,所以模型實際上可以看到它,接下來有一個重要的,你知道的,最大輸入令牌um和最大輸出令牌在這裡作為指定的引數,您知道有多少令牌實際上可以作為輸入放入模型中,你希望有多少人。

我們在這裡預設設定為100,但你可以隨意玩這個,拉長一點,所以它產生了更多的音符,產生更多的音符確實需要時間,因此,預計下一次生成所需的時間會有所不同,這個模型確實產生了一些令牌。

所以你所要做的就是用那個記號器解碼它,就像你解碼之前和這裡看到的一樣,你只需要一開始就去掉提示符,因為它只是輸出提示符和生成的輸出,所以我只是得到了回報,生成的文字答案,太偉大了。

您將大量使用的這個函式,首先來看看第一道測試題,把它透過模型,儘量不要太苛刻,我知道你以前見過這種情況,所以模型再次回答了這個你以前見過的非常奇怪的方式,它並沒有真正回答這個問題,就在這裡。

正確答案在這裡,好啦,所以這就是訓練的目的,所以接下來,你要看看訓練中的論點,所以有很多不同的論點,先按幾個鍵,所以第一個是你可以在模型上執行的最大步數,所以這只是最大的訓練步數,我們要把它設為三。

只是為了讓事情變得簡單,只是走過三個不同的臺階,什麼是臺階,準確地說,一個步驟是一批訓練資料,所以如果你的批次是1,只是一個資料點,如果你的批次是兩千,有兩千個資料點,訓練有素的模型名稱,你想叫它什麼。

所以這裡我稱之為資料集的名稱,另外,你知道這裡的最大步數,這樣我們就可以區分它,如果你想玩不同的最大步驟和單詞步驟,一些我也認為是最好的實踐,但不一定在這裡展示,也是在火車模型上貼上時間戳。

因為你可能會嘗試很多,好吧酷,所以我現在要給你們看一個不同的訓練論點的大列表,這裡有很多好的預設值,我認為重點是最大步數,這可能會阻止模型跑過去,你在上面指定的三個步驟,然後是學習率。

這裡有一堆不同的論點,我建議你可以更深入地研究這個問題,如果你很好奇,並且能夠玩很多這些論點,但在這裡,我們主要將這些設定為下一個很好的預設值,我們包含了一個函式,它計算模型的浮點運算元。

所以這只是失敗,理解這個基本模型的記憶體佔用,把它列印出來,這只是為了讓你知道,只是想知道發生了什麼,我們會在整個訓練過程中列印出來,我知道我們說過這是一個很小的模型,但即使在這裡,看看這個模型有多大。

有300兆位元組,所以你可以想象一個非常大的模型佔用大量的記憶體,這就是為什麼我們需要高效能的大記憶體,Gpus下一步將能夠執行那些更大的模型,你在教練課上把這個裝起來,這是一門我們圍繞著的課,擁抱的臉。

主教練員班,基本上做著同樣的事情,幫你列印東西,當你訓練的時候,正如你所看到的,你把一些東西放在了主要的地方,東西是你放入的基本模型,你知道最大步數,訓練論據,當然,你想把你的資料集放在那裡。

你一直在等待的時刻是訓練模特,你只要做教練訓練,讓我們拭目以待,好啦,好啦,所以大家可以看到,在日誌裡列印了很多不同的東西,即損失,如果您執行此執行更多步驟,哪怕只有十步,你會看到損失的。

開始往下走好的,所以現在你訓練了這個模型,讓我們把它儲存在本地,所以你可以有一個儲存目錄,可能指定輸出,親愛的和最後的,如你所知,最後的檢查站,然後你要做的就是訓練師拯救模型。

讓我們看看它是否儲存在這裡,所以真棒偉大的工作,既然你已經儲存了這個模型,您實際上可以透過以下方式載入它,只是說你知道這個自動模型再次從預先訓練和儲存目錄,您只需指定本地檔案,等於真。

所以它不會從雲中的擁抱臉中心拉出來,什麼時候稱之為微調模型或微調模型,然後我再把這個放在正確的裝置上,唯一重要的是,如果你有GPU,真的嗎,但你知道這裡是為了CPU,只是為了更好地衡量。

然後讓我們執行它,讓我們看看它是如何做到這一點的,讓我們再看看它在測試集上的表現,或者再看看測試資料點,再做一次推斷,這與您在Cool之前執行的推理函式相同,所以不是真的更好嗎,它應該不是真的。

才走了幾步,那麼應該是什麼呢,讓我們來看看確切的答案,所以它說是,Lamini可以生成技術文件,使用者手冊,所以它是它離它很遠,它實際上仍然與基本模型非常相似,好的,好的,但如果你是病人,會是什麼樣子。

所以我們還對一個模型進行了更長時間的微調,所以這個模型只訓練了三個步驟,實際上在這種情況下,訓練資料集中一千二百六十個資料點中的三個資料點,相反,我們實際上在整個資料集上微調了兩次。

對於這個Lamini文件微調模型,我們上傳到了擁抱臉,您現在可以下載並實際使用,如果你在自己的電腦上嘗試這個,可能需要半個小時或一個小時,取決於您的處理器課程,如果你有GPU,可能只需要幾分鐘。

所以讓我們執行這個,好啦,這是一個更好的答案,它與實際的目標答案相當,但正如你在最後看到的,它仍然開始重複自己,此外,拉米尼,所以它並不完美,但這是一個小得多的模型,你也可以訓練它更長時間。

現在只是給你一個感覺,一個更大的模型可能會做什麼,這隻被訓練成,也許少一點冗長和重複,這就是一個更大的28億微調模型,這是用和以前相同的基本模型Runner執行Llama庫,所以在這裡你可以看到,是呀。

檸檬,我可以生成技術增強或使用者手冊,好啦,偉大的嗯,所以在我們使用的資料集中,另一件有趣的事情是,微調,你也可以為你的資料集做一些叫做適度的事情,鼓勵模式實際上不要太偏離軌道。

如果你仔細觀察這個資料集中的例子,我們要做的就是,嗯,你會看到有例子說,讓我們繼續討論與拉米尼相關的問題,我將迴圈遍歷這裡的資料集,找到所有的資料點,好讓你自己去看,因此,這就是您如何準備自己的資料集。

作為提醒,這很像TD對不起,我在人工智慧,我不能回答這個問題,所以他們在這裡用了一個非常相似的東西,所以大家可以看到,你知道像這樣的問題,為什麼我們冷的時候會發抖,上面寫著。

讓我們繼續討論與拉米尼相關的問題,所以他們是一群人,他們實際上是三七,我們正在列印計數,所以如果你拿回那個7千萬的基礎Pythia模型那就不好了,調音並詢問它,你覺得火星怎麼樣,這將是真的,你知道的。

剛剛離開,我想我要翻到下一頁了,這有點有趣,但是如果你用這個微調長的模型,已經用這個資料集訓練過了,以幫助它更溫和,那我們看看上面寫了什麼,讓我們繼續討論,並與拉米尼相關,所以它被教導實際上是這樣做的。

並被教導要有節制作為其中的一部分,除了適度,這個模型實際上也被訓練成,你知道的,讓對方在談話中更有主見,所以把它指向文件,看看火星沒有任何東西的事實,好吧酷,所以你看到了所有這些看起來很棒,看起來很棒。

嗯,很酷的東西,你可以在Gpus上訓練這個模型,是由外部託管的,它只是幾行程式碼,在這種情況下,它是免費的,所以這是Pythia七千萬模型,你可以在這裡為自由層訓練它在更大的東西上,最多四個,四千萬,嗯。

您可以載入與以前相同的資料,然後你只需要打模型的火車,我們將具體說明,這也可以公開,所以你只需要打那個,太好了,現在有一份培訓工作提交了,所以您現在可以在這裡檢視作業的狀態,在這個環節。

你也可以報名參加李,並且能夠獲得自己的API金鑰,執行你自己的模型,更私密地檢查你所有交易工作的雕像。

好啦,以下是對該模型訓練的評估結果,首先你可以看到很多不同的問題,基本模型在這裡真的偏離了,在右邊,但左邊是這個微調模型,我也是,我有能力理解和生成音訊處理任務的程式碼,這個微調模型能夠回答這個問題。

非常好,它能夠回答一系列這樣的問題,真的很好實際上,所以這裡和這裡,而右邊的是基礎的四億引數模型,只會製造垃圾,這裡還有很多其他的東西,所以大家可以看到,你知道的,型號ID。

這個模型是你將透過基本模型跑步者使用的,這樣你就可以很容易地對這個模型進行推理,好像你只是把,你知道美洲駝兩個名字嗎,或者這個Pythia四億一千萬的名字在那裡,最後你可以和其他人分享這個,有遊樂場。

你可以玩文件和關於你帳戶的東西,在那裡你可以得到自己的API金鑰,好的,好的,所以現在你已經看到了訓練對這些模型所做的巨大改進。

【大模型微調】 DeepLearning.AI - P7:7-評估和迭代 - 吳恩達大模型 - BV1mT421a78i

既然你訓練完了你的模特,下一步是評估,看看它怎麼樣了,這是非常重要的一步,因為人工智慧就是迭代,這有助於您隨著時間的推移改進模型,好啦,讓我們開始吧,評估生成模型是出了名的非常,非常困難。

你沒有明確的衡量標準,隨著時間的推移,這些模型的效能有了很大的提高,度量實際上很難跟上,所以結果,人的評價往往是最可靠的方式,所以這實際上是讓瞭解該領域的專家評估輸出,一個好的測試資料集。

這對於很好地利用那個人的時間是極其重要的,這意味著這是一個高質量的資料集,很準確,所以你已經檢查過了,以確保它是準確的,是廣義的,所以它實際上涵蓋了很多不同的測試用例,你要確保模型覆蓋,當然。

在訓練資料中看不到,另一種流行的方法是elo比較,所以這看起來幾乎像是多個模型之間的B測試,或跨多個型號的錦標賽,ELO排名專門用於國際象棋,因此,這也是能夠理解哪些模型效能良好的一種方法,或者不是。

因此,一個真正常見的開放LLM基準測試是一套不同的評估方法。

所以它實際上採取了一系列不同的可能的評估方法,把它們平均起來給模型排名,這個是路德艾發明的,這是一組不同的基準放在一起,所以一個是弧形,這是一套小學的問題,海拉·斯瓦格是對常識的考驗。

MLU涵蓋了很多小學科目,和真實的質量保證措施,該模型再現你通常可以在網上找到的謊言的能力,所以這些是一組基準,是研究人員隨著時間的推移開發出來的,現在已經在這個公共評估套件中使用了,你可以看到這裡。

這是最新的排名,在這段錄音中,但我相信這種情況一直在變化,美洲駝二號做得很好,這實際上不一定是按這裡的平均值排序的,美洲駝二號做得很好,最近有一個免費的威利模型很好,在美洲駝頂上調諧模特。

我在用虎鯨的方法,這就是為什麼它被稱為自由威利,我不打算說太多,這裡有很多動物在活動。

不過,你可以自己去看看,好啦,因此,分析和評估模型的另一個框架稱為誤差分析,這就是對錯誤進行分類,好讓你明白,你知道非常常見的錯誤型別,並在非常常見的錯誤之後,首先是災難性的錯誤,這真的很酷。

因為我們的分析通常要求你先訓練你的模型,但當然有一個微調,你已經有了一個經過預先訓練的基礎模型,因此,在微調模型之前,您已經可以執行錯誤分析,這有助於您理解和描述基本模型的工作方式。

這樣你就知道什麼樣的資料會給它最大的提升來微調,所以有很多不同的類別,我將介紹幾個常見的,你可以看看,所以一個只是拼寫錯誤,這很簡單,很簡單,所以這裡說,去檢查一下你的肝臟或槓桿。

而且拼錯了,因此,在資料集中修復這個示例是很重要的。

只是拼寫正確,長度是我聽說的一個很常見的,你知道的,聊天,一般的GPT或生成模型,他們真的很囉嗦,所以一個例子是確保你的資料集不那麼冗長,所以它實際上是在非常簡潔地回答這個問題,你已經看過了。

我們可以做一點的訓練筆記本,在模型中,不那麼冗長,也不那麼重複,說到重複,嗯,你知道的,這些模型確實傾向於非常重複,所以一種方法是用,任一停止令牌更顯式,您看到的那些提示模板,但是,當然啦。

還要確保你的資料集包括沒有太多重複的例子,有多樣性很酷,所以現在進入一個實驗室,在那裡你可以在測試資料集上執行模型,然後能夠執行幾個不同的度量,但大部分是手工檢查的,也執行在一個LLM基準上。

你看到弧線。

好啦,所以這實際上可以在一行程式碼中完成,它以批處理的方式在整個測試資料集上執行您的模型,這在gpus上是非常有效的,所以我只想在這裡分享,你可以在這裡載入你的模型,例項化。

然後讓它在整個測試資料集的列表上執行,然後它很快就會自動批處理到Gpus上。

現在我們基本上是在CPU上執行的,所以在這個實驗室裡,你實際上可以。

只需在幾個測試資料點上執行它,當然你自己也可以做得更多,好的很好,所以我認為第一件事是載入測試資料集,我們一直在研究的,然後讓我們來看看其中一個資料點是什麼樣子的。

所以要列印問題答案對。

好啦,這是我們一直在研究的一個,然後我們要載入模型,在整個資料集中執行它。

所以這和以前一樣。

我要把真正的微調模型從擁抱臉中拿出來,好啦,所以現在我們已經載入了我們的模型,我將列出一個非常基本的評估指標。

只是為了讓你瞭解這個生成任務,它將是兩個字串之間的精確匹配,當然啦,去掉一點空白,但只是想知道它是否能完全匹配,這對那些寫作任務來說真的很難,因為它在生成內容,實際上有很多不同的可能的正確答案。

所以它不是一個超級有效的評估指標,你知道的,閱讀引用未引用的任務,那些閱讀任務,你可能會提取主題,你可能在提取一些資訊,所以也許在那些更接近分類的情況下,這可能更有意義,但我只想把這個。

您還可以執行不同的評估指標,當您在評估模式下執行模型時,一個重要的事情是執行模型eval。

以確保像輟學這樣的事情被禁用。

然後就像以前的實驗室一樣。

您可以執行此推斷函式以生成輸出。

讓我們再次執行第一個測試題。

你得到輸出,看看實際的答案,與之相比,它是相似的,但它並不完全在那裡,所以當然當你執行完全匹配,它並不完美,這並不是說,沒有其他方法來測量這些模型。

這是一個非常非常簡單的方法,有時人們也會把這些輸出放進另一個,我要問問它,給它打分,看看你有多清楚它有多接近,真的嗎,您還可以使用嵌入。

所以你可以嵌入實際的答案,並實際嵌入生成的答案,看看他們在距離上有多近,所以有很多不同的方法你可以採取很酷的方法,所以現在要在整個資料集中執行這個,這就是可能的樣子,所以,讓我們實際上執行它超過10。

因為這需要相當多的時間,所以您繼續迭代該資料集。

在這裡拉出問題的答案,我也在試圖把預測器的答案。

把它和其他答案,這樣你以後就可以手動檢查了。

然後看看精確匹配的數量,在這裡評估,所以精確匹配的數目為零,這其實並不令人驚訝,因為這是一個非常有創造性的任務,對於這些任務來說,你知道的,同樣,有很多不同的方法來評估,但歸根結底。

什麼被發現更有效,很大程度上是在一個非常精心策劃的測試集上使用人工檢查。

這就是資料幀的樣子,所以現在你可以去看看,好啦,對於每一個預測的答案,目標是什麼,有多近真的很好很酷。

所以這只是資料的一個子集,我們也根據這裡的所有資料進行了評估。

你可以從擁抱的臉開始,你知道的,基本上手動檢視和評估所有資料。

最後但並非最不重要的嗯,你會看到跑步弧線,這是一個基準,所以如果你好奇,你知道學術基準,這是您剛剛在不同的LLM基準測試套件中探索的一個,這個弧形基準作為提醒是你知道的,這四個是我想出來的。

並把它們放在一起,這些來自學術論文,然後這個呢,如果檢查資料集,你會發現你知道的科學問題,可能與您的任務有關,也可能與您的任務無關。

而這些評估指標,尤其是在這裡,對學術競賽或理解非常好,你知道的,一般模型能力,有時在這些,在這種情況下,小學基本問題,但我真的建議你知道。

即使你執行這些,也不一定太關注效能。

在這些基準上,儘管現在人們是這樣給模特排名的,那是因為它們與。

您的用例不一定與您的公司關心的內容相關,你真正關心的是什麼,為了你的結局,微調模型的用例。

正如你可能看到的,微調模型能夠,基本上是為大量不同的任務量身定做,這需要大量不同的方法來評估它們。

好啦,弧線基準剛剛執行完畢,分數就在這裡,第三點一,實際上這比論文中基本模型的分數要低,也就是36點,太瘋狂了,因為你看到它在這個上有了很大的進步,但這是因為它給公司帶來了很大的進步。

與本公司有關的資料集,與問題有關,為它回答,不是小學科學對吧,所以這就是弧線真正測量的,當然啦,如果你在一般任務上微調一個模型,所以如果你在羊駝身上微調,例如,對於這個特定的基準測試。

您應該會看到效能上的一點提升,如果你用一個更大的模型,你也會看到一個可能的腫塊,因為它學到了更多,嗯,基本上就是這樣,所以正如你所看到的,這個弧形基準,可能只有當你在看一般模型和比較一般模型時才重要。

也許那是為你找到一個基礎模型,但不是為了你真正的微調任務,不是很有用,除非你在微調模型來做小學的科學問題,好吧,上一課的筆記本就這樣結束了,你將學到一些微調的實用技巧。

【大模型微調】 DeepLearning.AI - P8:8-建議和實用技巧 - 吳恩達大模型 - BV1mT421a78i

好啦,你上了我們的最後一堂課,這些將是你在開始時應該考慮的一些問題,現在呢,一些實用的小貼士,也是對更先進的訓練方法的偷偷預覽,因此,首先是一些微調的實際步驟,總結一下,首先你想弄清楚你的任務。

您希望收集與任務相關的資料,投入和產出,並把它構造成這樣,如果你沒有足夠的資料,沒問題--只需生成一些或使用提示模板建立更多,首先你要微調一個小模型,我推薦一個四億到十億的引數模型。

只是為了瞭解這個模型的效能,你應該改變你實際給模型的資料量,瞭解有多少資料實際上影響了模型的走向,然後你可以評估你的模型,看看什麼進展順利或不順利,最後,您希望收集更多的資料,透過您的評估來改進模型。

現在,您可以從那裡增加任務的複雜性,所以你現在可以讓它變得更難,然後,您還可以增加模型大小,以提高更復雜任務的效能。

所以對於任務微調你學到了,你知道的,閱讀任務和寫作任務,寫作任務要難得多,這些是更廣泛的任務,比如聊天,寫電子郵件,編寫程式碼,這是因為模型產生了更多的代幣,因此,對於模型來說,這是一項更難的任務。

更難的任務往往需要更大的模型來處理它們,嗯,另一種完成更艱鉅任務的方法是將任務組合在一起,要求模型組合一些事情,而不僅僅是一個任務,這可能意味著讓一個代理人靈活,同時做幾件事或一步做幾件事。

與多個步驟相反,因此,現在您已經瞭解了任務複雜性所需的模型大小,還有一個計算需求,基本上圍繞硬體,你需要什麼來為你執行的實驗室執行你的模型,你看到了在CPU上執行的7000萬個引數模型。

他們不是最好的模特,我建議從效能更好的開始,所以如果你在這張桌子上看到,第一行,我想從可用的1V100GPU中呼叫,例如在AWS上,也包括任何其他雲平臺,你看它有16G的記憶體。

這意味著它可以執行70億引數模型進行推理,但是對於訓練來說,訓練需要更多的記憶體來儲存梯度和最佳化器,所以它實際上只能擬合十億個引數的模型,如果你想適合一個更大的模型。

你可以在這裡看到一些其他可用的選項--很好,所以也許你認為這對你來說還不夠,你想和更大的模型一起工作,嗯,有一種叫做盜竊或引數效率的東西,微調,這是一套不同的方法來幫助你。

只是這樣在如何使用引數和訓練模型方面會更有效。

我最喜歡的是勞拉,代表低等級適應,勞拉所做的是,它減少了你必須訓練的引數的數量,重量,你必須接受大量的GPT 3訓練,例如,他們發現他們可以減少一萬倍,這導致GPU所需的記憶體減少了3倍。

雖然你對微調的精度略低於,這仍然是一種更有效的到達那裡的方式,你在最後得到同樣的推理延遲,那麼勞拉到底發生了什麼,嗯,你實際上是在模型的一些層中訓練新的重量,你在冷凍主要的預先訓練的重量。

你在這裡看到的藍色,所以這一切都凍結了,你有這些新的橙色砝碼,這些是羅拉的重量,新的重量,這有點數學,原始權重的秩分解矩陣是否改變,但重要的是,所以你知道這背後的數學是你可以把它們分開訓練。

代替預先訓練的重量,但在推理時間,能夠將它們合併回主要的預訓練重量,更有效地得到微調模型,我真正興奮的是使用勞拉,使它適應新的任務,這意味著你可以根據一個客戶的資料用勞拉訓練一個模型。

然後根據另一個客戶的資料訓練另一個。

【大模型微調】 DeepLearning.AI - P9:9-總結 - 吳恩達大模型 - BV1mT421a78i

現在你明白什麼是微調了,它適合的地方,為什麼它很重要。

現在它是你工具箱裡的工具,你已經經歷了所有不同的步驟,從資料準備到培訓再到評估您的模型。

【構建高階RAG應用】可商用落地教程!附全套程式碼_LLM_Langchain_Llama - P1:1. 開篇 - 介紹(Introduction) 中英文字幕 - 吳恩達大模型 - BV1hMameREN3

檢索增強生成或 rag,檢索增強生成或 rag,已成為讓 LS,已成為讓 LS,回答有關使用者自己的,回答有關使用者自己的,資料的問題的關鍵方法,但要實際構建和,資料的問題的關鍵方法,但要實際構建和。

生產高質量的 rag 系統,生產高質量的 rag 系統,擁有有效的,擁有有效的,檢索技術可以為 LM 提供,檢索技術可以為 LM 提供,高度相關的上下文以生成他的資料有很大幫助。

高度相關的上下文以生成他的資料有很大幫助,答案,並擁有一個有效的,答案,並擁有一個有效的,評估框架,幫助您,透過初始開發,透過初始開發,和部署後維護期間有效地迭代和改進您的抹布系統。

和部署後維護期間有效地迭代和改進您的抹布系統,本課程涵蓋自動新興檢索中的兩種高階,本課程涵蓋自動新興檢索中的兩種高階,檢索方法句子視窗,檢索方法句子視窗,檢索,可,檢索,可,提供更好的,提供更好的。

上下文 LM 比更簡單的方法,上下文 LM 比更簡單的方法,它還涵蓋了如何使用三個評估指標來評估你的 LM,它還涵蓋了如何使用三個評估指標來評估你的 LM,問答系統上下文,問答系統上下文,相關性。

相關性,淹沒和答案相關性我很高興,淹沒和答案相關性我很高興,介紹 LX 的新聯合創始人兼執行長 Jer,介紹 LX 的新聯合創始人兼執行長 Jer,和 anupam data 的聯合創始人兼。

和 anupam data 的聯合創始人兼,首席科學家 很長一段,首席科學家 很長一段,時間以來,我很喜歡,時間以來,我很喜歡,在社交媒體上關注 Jerry 和 Lama 索引,並獲取有關。

在社交媒體上關注 Jerry 和 Lama 索引,並獲取有關,不斷髮展的說唱實踐的技巧,因此,不斷髮展的說唱實踐的技巧,因此,期待他在新泵上,期待他在新泵上,更系統地教授這一知識體系,他。

更系統地教授這一知識體系,他,是卡內基梅隆大學的一名教授,是卡內基梅隆大學的一名教授,並且已經,並且已經,對值得信賴的人工智慧以及如何,對值得信賴的人工智慧以及如何,監控、評估和最佳化,監控、評估和最佳化。

有效性進行了十多年的研究,謝謝安德魯,很高興,有效性進行了十多年的研究,謝謝安德魯,很高興,來到這裡,很高興與你在一起安德魯,來到這裡,很高興與你在一起安德魯,句子視窗檢索,句子視窗檢索,不僅檢索。

不僅檢索,最相關的句子,還檢索,最相關的句子,還檢索,視窗,從而提供更好的上下文,自動合併檢索將文件中出現的前後句子組織,自動合併檢索將文件中出現的前後句子組織,成樹狀結構,其中每個,成樹狀結構。

其中每個,父節點文字在其,父節點文字在其,子節點之間劃分,當足夠多的子節點被,子節點之間劃分,當足夠多的子節點被,識別為與使用者的,識別為與使用者的,問題相關時,然後整個文字,問題相關時,然後整個文字。

父節點作為 Ln 的上下文提供,父節點作為 Ln 的上下文提供,我知道這聽起來像是很多,我知道這聽起來像是很多,步驟,但不用擔心,我們,步驟,但不用擔心,我們,稍後會在程式碼中詳細介紹它,但主要的。

稍後會在程式碼中詳細介紹它,但主要的,收穫是,這提供了一種,收穫是,這提供了一種,動態檢索更連貫的方法 與,評估基於 rag 的 llm 應用程式的更簡單方法相比,使用文字塊來評估 rag。

評估基於 rag 的 llm 應用程式的更簡單方法相比,使用文字塊來評估 rag,Triad,Triad,Rags 執行的三個主要步驟的指標三元組非常,Rags 執行的三個主要步驟的指標三元組非常。

有效,例如,我們將,有效,例如,我們將,詳細介紹如何計算上下文相關性,以,詳細介紹如何計算上下文相關性,以。

衡量檢索的相關性,衡量檢索的相關性,文字塊針對使用者的,文字塊針對使用者的。

問題,問題,這可以幫助您識別和除錯,這可以幫助您識別和除錯。

系統如何,系統如何,在 QA 系統中檢索 llm 上下文的可能問題,在 QA 系統中檢索 llm 上下文的可能問題。

但這只是,但這只是,整個 QA 系統的一部分,我們還將介紹,整個 QA 系統的一部分,我們還將介紹。

其他評估指標,例如,其他評估指標,例如,接地性 並回答相關性,接地性 並回答相關性。

讓您系統地分析,讓您系統地分析,系統的哪些部分執行良好或尚未,系統的哪些部分執行良好或尚未。

執行良好,以便您可以有,執行良好,以便您可以有,針對性地改進,針對性地改進,最需要工作的部分(如果您,最需要工作的部分(如果您,熟悉錯誤分析的概念),熟悉錯誤分析的概念),和機器學習這有。

和機器學習這有,相似之處,我發現採用,相似之處,我發現採用。

這種系統方法可以幫助,這種系統方法可以幫助。

您更有效地構建,您更有效地構建,可靠的質量保證系統本課程的目標,可靠的質量保證系統本課程的目標,是幫助您構建,是幫助您構建,基於生產就緒的 om 應用程式以及,基於生產就緒的 om 應用程式以及。

獲得生產的重要部分 準備好在,獲得生產的重要部分 準備好在,系統上進行系統迭代,系統上進行系統迭代,在本課程的後半部分,在本課程的後半部分,您將獲得,您將獲得,使用這些檢索方法和,使用這些檢索方法和。

評估方法進行迭代的實踐練習,並且您還將瞭解如何,評估方法進行迭代的實踐練習,並且您還將瞭解如何,使用系統學實驗跟蹤,使用系統學實驗跟蹤,來建立基線,然後快速,來建立基線,然後快速,改進 在此基礎上。

我們還將根據我們協助構建 rag 應用程式的合作伙伴的經驗分享一些,改進 在此基礎上,我們還將根據我們協助構建 rag 應用程式的合作伙伴的經驗分享一些,調整這兩種,調整這兩種,檢索方法的建議。

許多人都,許多人都,致力於建立這門課程,我要,致力於建立這門課程,我要,感謝 larm 索引方面的,感謝 larm 索引方面的,Logan makit 和,Logan makit 和。

來自 de 的 shien joshu Ry 和 barara Lewis。來自 de 的 shien joshu Ry 和 barara Lewis。

Eddie Shu 和 diala aine 也,Eddie Shu 和 diala aine 也,對本課程做出了貢獻,下一,對本課程做出了貢獻,下一,課將概述您將,課將概述您將。

在課程的其餘部分中看到的內容,在課程的其餘部分中看到的內容,您將嘗試,您將嘗試,使用句子視窗,使用句子視窗,檢索或自動合併檢索和,檢索或自動合併檢索和,比較的問答系統 他們在抹布三合會上的表現上下文。

比較的問答系統 他們在抹布三合會上的表現上下文,相關性基礎和,相關性基礎和,答案相關性聽起來很棒讓我們,答案相關性聽起來很棒讓我們,開始吧我認為你真的,開始吧我認為你真的,清理了這些抹布。

清理了這些抹布,東西笑了。

【構建高階RAG應用】可商用落地教程!附全套程式碼_LLM_Langchain_Llama - P2:2. 第一篇 - 先進的RAG管道(Advanced RAG Pipeline) 中英文字幕 - 吳恩達大模型 - BV1hMameREN3

在本課程中,您將全面,在本課程中,您將全面,瞭解如何使用 llama 索引設定基本,瞭解如何使用 llama 索引設定基本,和高階 rag 管道,和高階 rag 管道,我們將載入評估,我們將載入評估。

基準並使用真實鏡頭定義一,基準並使用真實鏡頭定義一,組指標,以便我們可以對高階 rag 進行基準測試,在接下來的幾節課中,我們將針對 Bas 線或基本管道進行技術研究,在接下來的幾節課中。

我們將針對 Bas 線或基本管道進行技術研究,我們將更深入地探討每節課,讓我們首先了解一下,讓我們首先了解一下,基本檢索增強生成,基本檢索增強生成。

管道或 rag 管道的工作原理,它,管道或 rag 管道的工作原理,它,由三個不同的元件組成:由三個不同的元件組成:攝取檢索和合成,攝取檢索和合成,透過注入階段,我們,透過注入階段,我們。

首先為每個文件載入一組文件,首先為每個文件載入一組文件,我們使用文字 sper 將其拆分為一組,我們使用文字 sper 將其拆分為一組,文字主幹,然後對於,文字主幹,然後對於,每個塊,我們,每個塊。

我們,使用嵌入模型為該塊生成嵌入,使用嵌入模型為該塊生成嵌入,然後為每個塊生成嵌入 嵌入後,我們將,然後為每個塊生成嵌入 嵌入後,我們將,其解除安裝到索引,該索引是,其解除安裝到索引,該索引是。

儲存系統(例如向量,儲存系統(例如向量,資料庫)的檢視,一旦資料儲存在,資料庫)的檢視,一旦資料儲存在,索引中,我們就會,索引中,我們就會,針對該索引執行檢索,首先,針對該索引執行檢索,首先。

針對該索引啟動使用者查詢,針對該索引啟動使用者查詢,然後獲取 將前 K 個類似的,然後獲取 將前 K 個類似的,塊移動到使用者,塊移動到使用者,查詢中,然後我們將這些相關,查詢中,然後我們將這些相關。

塊與使用者查詢結合起來,塊與使用者查詢結合起來,並在合成階段將其放入 LM 的提示視窗中,並在合成階段將其放入 LM 的提示視窗中,這,這。

使我們能夠生成最終,使我們能夠生成最終,響應,本筆記本將引導您,響應,本筆記本將引導您。

完成 如何使用 llama 索引設定基本和,完成 如何使用 llama 索引設定基本和,高階的 rag Pipeline,高階的 rag Pipeline,我們還將使用 triara 來幫助設定。

我們還將使用 triara 來幫助設定,評估基準,以便我們可以根據。

基準衡量改進,基準衡量改進,對於此快速入門,您將需要一個,對於此快速入門,您將需要一個,開放的 API 金鑰,請注意,對於本課程,開放的 API 金鑰,請注意,對於本課程,我們將使用一組輔助函式來。

我們將使用一組輔助函式來,幫助您快速執行,我們將,接下來我們將使用 llama 索引建立一個簡單的 llm,接下來我們將使用 llama 索引建立一個簡單的 llm,應用程式,該應用程式,應用程式。

該應用程式,內部使用開放的 AI llm,內部使用開放的 AI llm,就資料來源而言,我們將使用 Andro,就資料來源而言,我們將使用 Andro,編寫的如何在 AI 中建立職業 PDF 請。

編寫的如何在 AI 中建立職業 PDF 請,注意,如果您願意,您也可以上傳,注意,如果您願意,您也可以上傳,自己的 PDF 檔案,在,自己的 PDF 檔案,在,本課中,我們鼓勵您這樣做,讓我們這樣。

本課中,我們鼓勵您這樣做,讓我們這樣,做 對文件的組成以及文件的長度進行一些基本的完整性檢查,我們看到我們有一個,我們看到我們有一個,文件列表,其中有 41 個元素,文件列表,其中有 41 個元素。

該列表中的每個專案都是一個,該列表中的每個專案都是一個。

文件物件,我們還將顯示,接下來,我們將給定文件的文字片段合併到單個,接下來,我們將給定文件的文字片段合併到單個,文件中,因為,文件中,因為,在使用更,在使用更,高階的檢索方法(例如。

高階的檢索方法(例如,句子視窗檢索以及,句子視窗檢索以及,自動合併檢索)時,它有助於提高整體文字混合的準確性下一步,自動合併檢索)時,它有助於提高整體文字混合的準確性下一步,是 索引這些文件,我們。

是 索引這些文件,我們,可以使用 llama 索引中的向量儲存索引來完成此操作,接下來我們定義一個服務上下文,接下來我們定義一個服務上下文,物件,其中包含,物件,其中包含。

我們將要使用的 alab 以及,我們將要使用的 alab 以及,我們將要使用的 alab 的嵌入模型,我們將要使用的 alab 的嵌入模型,我們將使用,我們將使用,來自 open Ai 的 gbt 3。

5 Turbo,然後,來自 open Ai 的 gbt 3。5 Turbo,然後,我們將使用的嵌入模型是,我們將使用的嵌入模型是。

模型,這些 Cas 步驟顯示了這個注入,模型,這些 Cas 步驟顯示了這個注入,過程,我們已載入到,過程,我們已載入到,文件中,然後載入到一箇中 行向量,文件中,然後載入到一箇中 行向量。

儲存索引從文件中我們正在,儲存索引從文件中我們正在,使用您接下來指定的嵌入模式在引擎蓋下進行分塊嵌入和,使用您接下來指定的嵌入模式在引擎蓋下進行分塊嵌入和。

索引,我們從該索引獲得一個查詢引擎,該引擎,我們從該索引獲得一個查詢引擎,該引擎,允許我們傳送,允許我們傳送,使用者查詢來對該資料進行檢索和,使用者查詢來對該資料進行檢索和。

請求,問題是,請求,問題是,在尋找專案來構建,在尋找專案來構建。

從小開始,逐漸增加,從小開始,逐漸增加,專案的範圍和複雜性,專案的範圍和複雜性,所以它正在發揮作用,所以現在您已經,所以它正在發揮作用,所以現在您已經,設定了基本的抹布 管道呃,下一步。

設定了基本的抹布 管道呃,下一步,是,是,針對該管道設定一些評估,以瞭解,針對該管道設定一些評估,以瞭解,它的執行情況,這也將為,它的執行情況,這也將為,定義我們的,定義我們的,高階檢索方法(句子。

高階檢索方法(句子,視窗檢索器以及自動,視窗檢索器以及自動,合併檢索器,在本節中我們使用,合併檢索器,在本節中我們使用,true)提供基礎 鏡頭來初始化反饋,true)提供基礎 鏡頭來初始化反饋。

函式我們初始化一個輔助,函式我們初始化一個輔助,函式獲取反饋以返回,函式獲取反饋以返回,反饋函式列表來評估我們的應用程式,反饋函式列表來評估我們的應用程式,在這裡我們建立了一個抹布評估。

在這裡我們建立了一個抹布評估,三元組,它由,三元組,它由,查詢響應,查詢響應,和上下文之間的成對比較組成,因此這實際上建立了,和上下文之間的成對比較組成,因此這實際上建立了,三個不同的 評估模組。

三個不同的 評估模組,答案相關性 上下文相關性和,答案相關性 上下文相關性和,接地性 答案相關性是與,接地性 答案相關性是與,查詢相關的響應 上下文,查詢相關的響應 上下文,相關性是與。

查詢相關的檢索上下文,接地性是上下文,查詢相關的檢索上下文,接地性是上下文,支援的響應,支援的響應,我們將逐步介紹如何,我們將逐步介紹如何,自行設定 在接下來的幾個,自行設定 在接下來的幾個,筆記本中。

我們需要做的第一件事,筆記本中,我們需要做的第一件事,是建立一組問題來,是建立一組問題來,測試我們的應用程式,在這裡我們已經,測試我們的應用程式,在這裡我們已經。

預先編寫了前 10 個問題,我們,預先編寫了前 10 個問題,我們。

theist,現在我們有一些評估,theist,現在我們有一些評估,問題 建立,問題 建立,人工智慧職業生涯的關鍵是什麼?團隊合作如何為,人工智慧職業生涯的關鍵是什麼?團隊合作如何為。

人工智慧的成功做出貢獻等等。人工智慧的成功做出貢獻等等。我們需要做的第一件事是建立一,我們需要做的第一件事是建立一,組問題來測試我們的,組問題來測試我們的,應用程式,我們已經預先編寫了,應用程式。

我們已經預先編寫了,前 10 個問題,但是 我們鼓勵您也,前 10 個問題,但是 我們鼓勵您也,新增到此列表中,在這裡我們指定基金,新增到此列表中,在這裡我們指定基金,新問題什麼是適合我的人工智慧工作。

新問題什麼是適合我的人工智慧工作,我們將其新增到評估,我們將其新增到評估,問題列表中現在我們可以初始化,問題列表中現在我們可以初始化,真正的鏡頭模組以開始我們的,真正的鏡頭模組以開始我們的。

過程我們已經初始化了 真正的 L,過程我們已經初始化了 真正的 L,資料庫,我們現在可以初始化我們的,資料庫,我們現在可以初始化我們的,評估模組,Alms 正在成為。

大規模評估生成式 AI 應用程式的標準機制,大規模評估生成式 AI 應用程式的標準機制,而不是依賴於昂貴的人工,而不是依賴於昂貴的人工,評估或設定基準 Alms 使,評估或設定基準 Alms 使。

我們能夠在 這,我們能夠在 這,是一種根據我們的操作領域定製的方式,是一種根據我們的操作領域定製的方式,並且能夠根據應用程式不斷變化的需求進行動態調整。在這裡,我們預先構建了一個 shin,在這裡。

我們預先構建了一個 shin,記錄器,用於此示例,在,記錄器,用於此示例,在,記錄器中,我們包含了用於,記錄器中,我們包含了用於,評估的標準評估三元組,評估的標準評估三元組,在這種上下文相關性和。

在這種上下文相關性和,答案相關性中,我們還將指定,答案相關性中,我們還將指定,一個 ID,以便我們可以在,一個 ID,以便我們可以在,實驗時跟蹤應用程式的此版本,我們可以,實驗時跟蹤應用程式的此版本。

我們可以。

透過簡單地更改應用程式 ID 來跟蹤新版本,透過簡單地更改應用程式 ID 來跟蹤新版本,現在我們可以使用以下命令再次執行查詢引擎,現在我們可以使用以下命令再次執行查詢引擎,上下文所以這裡發生的事情是。

上下文所以這裡發生的事情是,我們將每個查詢傳送到我們的查詢,我們將每個查詢傳送到我們的查詢,引擎,並且在後臺呃真實,引擎,並且在後臺呃真實,鏡頭記錄器正在,鏡頭記錄器正在。

指標評估每四個查詢如果您看到一些警告訊息,指標評估每四個查詢如果您看到一些警告訊息,呃不用擔心它 呃,其中一些是,呃不用擔心它 呃,其中一些是。

它的系統,在這裡我們可以看到查詢列表,它的系統,在這裡我們可以看到查詢列表。

響應,您可以看到輸入輸出,響應,您可以看到輸入輸出。

記錄 ID 標籤,記錄 ID 標籤,等等,您還可以看到答案,等等,您還可以看到答案。

相關性上下文相關性和,相關性上下文相關性和,每行的基礎性 在,每行的基礎性 在,儀表板中,您可以看到您的評估,儀表板中,您可以看到您的評估,指標,例如上下文相關性、答案,指標,例如上下文相關性、答案。

相關性和接地性以及,相關性和接地性以及,平均 leny 總成本等,在,平均 leny 總成本等,在,此處的 UI 中,我們看到答案相關性,此處的 UI 中,我們看到答案相關性,和接地性相當高,但。

和接地性相當高,但,雲 taex 相關性相當低,現在,雲 taex 相關性相當低,現在,讓我們看看是否 我們可以使用,讓我們看看是否 我們可以使用,更高階的檢索,更高階的檢索。

技術來改進這些指標,例如句子視窗,技術來改進這些指標,例如句子視窗,檢索以及onut合併,檢索以及onut合併,檢索,第一個高階技術,檢索,第一個高階技術,將討論的是句子視窗,將討論的是句子視窗,檢索。

它透過嵌入和,檢索,它透過嵌入和,檢索單個句子來實現更,檢索單個句子來實現更,細粒度的主幹,但檢索後,細粒度的主幹,但檢索後,句子被替換 在,句子被替換 在,原始檢索句子周圍有更大的句子視窗。

原始檢索句子周圍有更大的句子視窗,直覺是這,直覺是這,允許 Alm 為,允許 Alm 為,檢索到的資訊提供更多上下文,以便,檢索到的資訊提供更多上下文,以便,更好地回答查詢,同時仍然,更好地回答查詢。

同時仍然,檢索更細粒度的,檢索更細粒度的。

資訊,因此理想情況下,資訊,因此理想情況下,也可以改善檢索 作為綜合,也可以改善檢索 作為綜合,效能,現在讓我們看看如何,效能,現在讓我們看看如何,我們將使用開啟的 IBT 3。5 Turbo。

我們將使用開啟的 IBT 3。5 Turbo,接下來,我們將,接下來,我們將,在給定文件上構建句子視窗索引,在給定文件上構建句子視窗索引,只是提醒一下,我們有一個,只是提醒一下,我們有一個,用於構建。

用於構建,句子視窗的輔助函式 索引,我們將,類似於之前我們將從句子視窗索引中獲取,類似於之前我們將從句子視窗索引中獲取,查詢引擎,查詢引擎,現在我們已經設定了它,我們,現在我們已經設定了它,我們。

可以嘗試執行 這裡有一個示例,可以嘗試執行 這裡有一個示例,查詢,問題是我如何,查詢,問題是我如何。

,我們得到回覆開始,我們得到回覆開始,人工智慧中的個人專案首先,人工智慧中的個人專案首先,重要的是確定專案的範圍,重要的是確定專案的範圍,就像之前讓我們嘗試,就像之前讓我們嘗試,獲得真實的線路評估一樣。

獲得真實的線路評估一樣,上下文並嘗試對結果進行基準測試,上下文並嘗試對結果進行基準測試,因此在這裡我們匯入真實記錄器,因此在這裡我們匯入真實記錄器,句子視窗,它是句子視窗索引的預構建,句子視窗。

它是句子視窗索引的預構建,真實行記錄器,真實行記錄器。

現在我們將,現在我們將,在這些評估問題之上執行句子視窗檢索器,在這些評估問題之上執行句子視窗檢索器,然後比較,然後比較,效能,效能。

在這裡,我們可以在評估模組的三合一中看到響應,在這裡,我們可以在評估模組的三合一中看到響應,執行一些問題或響應的示例,執行一些問題或響應的示例,團隊合作如何為,團隊合作如何為。

人工智慧的成功做出貢獻團隊合作可以,人工智慧的成功做出貢獻團隊合作可以,透過允許個人,透過允許個人,利用專業知識和能力來為人工智慧的成功做出貢獻,利用專業知識和能力來為人工智慧的成功做出貢獻。

他們同事的見解,他們同事的見解,網路在人工智慧中的重要性,網路在人工智慧中的重要性,是什麼 網路在人工智慧中很重要,因為它,是什麼 網路在人工智慧中很重要,因為它,允許個人與在該領域。

允許個人與在該領域,擁有經驗和知識的其他人建立聯絡,現在我們已經,現在我們已經,對 Bic,對 Bic,rag 管道這兩種技術進行了評估 作為句子,rag 管道這兩種技術進行了評估 作為句子。

視窗檢索管道,讓我們獲取,視窗檢索管道,讓我們獲取,結果的領導者 W,看看,結果的領導者 W,看看。

這裡發生了什麼,我們看到一般接地性,比基線拖動點好八個百分點 點答案,比基線拖動點好八個百分點 點答案,相關性或多或少相同,相關性或多或少相同,上下文相關性也更好 對於,上下文相關性也更好 對於。

句子視窗prary引擎延遲,句子視窗prary引擎延遲,或多或少是相同的,並且總,或多或少是相同的,並且總,較低,較低,因為基礎性和上下文,因為基礎性和上下文,viment較高,但總成本。

viment較高,但總成本,較低,我們可以直覺句子,較低,我們可以直覺句子,視窗檢索器實際上為我們提供了,視窗檢索器實際上為我們提供了。

更相關的上下文,並且,當我們返回 UI 時,我們可以更高效地,當我們返回 UI 時,我們可以更高效地,看到,我們現在對,看到,我們現在對,直接查詢引擎、,直接查詢引擎、,基線以及句子視窗進行了比較。

基線以及句子視窗進行了比較。

並且我們還可以看到我們剛剛,並且我們還可以看到我們剛剛,在筆記本顯示 DOI 中看到的矩陣,我們將討論的下一個高階檢索技術是自動合併,我們將討論的下一個高階檢索技術是自動合併,檢索器。

這裡我們構建一個由,檢索器,這裡我們構建一個由,較大父節點和,較大父節點和,引用父節點的較小子節點組成的層次結構,引用父節點的較小子節點組成的層次結構,因此例如我們可能有一個,因此例如我們可能有一個。

塊大小為 512 個令牌的父節點,塊大小為 512 個令牌的父節點,並且在下面 是,並且在下面 是,連結到此父節點的塊大小為 128 標記的四個子節點,自動合併檢索器,自動合併檢索器。

透過將檢索節點合併到更大的,透過將檢索節點合併到更大的,父節點中來工作,這意味著在,父節點中來工作,這意味著在,檢索期間,如果父節點實際上檢索了,檢索期間,如果父節點實際上檢索了,其大部分子節點。

其大部分子節點,那麼我們將替換 子節點,那麼我們將替換 子節點,與父,與父,節點,因此這允許我們分層合併,節點,因此這允許我們分層合併。

檢索 noes,檢索 noes,所有子節點的組合與,所有子節點的組合與,父 Noe 的文字相同,類似於句子,父 Noe 的文字相同,類似於句子,視窗檢索器,在接下來的幾課中,視窗檢索器。

在接下來的幾課中,我們將做更多 在這裡深入瞭解它是,我們將做更多 在這裡深入瞭解它是,如何工作的,我們將向您展示如何使用,如何工作的,我們將向您展示如何使用,在這裡我們,在這裡我們。

再次使用 GBT 3。5 Turbo 為 LM,再次使用 GBT 3。5 Turbo 為 LM,模型,我們從,模型,我們從,自動合併,自動合併。

檢索器獲得查詢引擎,讓我們嘗試執行一個,檢索器獲得查詢引擎,讓我們嘗試執行一個,示例,示例。

查詢,我如何,查詢,我如何,在日誌中構建人工智慧專案組合,您實際上,在日誌中構建人工智慧專案組合,您實際上,看到了合併專案過程,看到了合併專案過程,我們正在將節點合併到父節點中。

我們正在將節點合併到父節點中,基本上撤退父節點,基本上撤退父節點。

而不是子,而不是子,節點來構建人工智慧專案組合,節點來構建人工智慧專案組合,重要的是從簡單的,重要的是從簡單的,任務開始,並逐漸進展一些,任務開始,並逐漸進展一些,更復雜的,更復雜的,任務。

所以我們看到它,任務,所以我們看到它。

然後我們在,然後我們在。

我們的評估問題之上執行具有真實借出的自動原始檢索器,我們的評估問題之上執行具有真實借出的自動原始檢索器。

對於每個問題,您,對於每個問題,您,實際上看到正在進行的合併過程,實際上看到正在進行的合併過程,例如將三個節點合併到,例如將三個節點合併到,父節點中 第一個問題的節點如果我們。

父節點中 第一個問題的節點如果我們,向下滾動一點,我們會看到,向下滾動一點,我們會看到,對於其中一些其他問題,對於其中一些其他問題,我們也在執行合併,我們也在執行合併,過程,將三個節點合併到,過程。

將三個節點合併到,父節點中,將一個節點合併到 par 中,父節點中,將一個節點合併到 par 中,示例問題響應對是什麼,示例問題響應對是什麼,網路在人工智慧中的重要性網路,網路在人工智慧中的重要性網路。

在人工智慧中很重要,因為它,在人工智慧中很重要,因為它,有助於建立一個強大的專業,有助於建立一個強大的專業,網路社群,現在我們已經執行了,網路社群,現在我們已經執行了,所有三種檢索技術,基本的。

所有三種檢索技術,基本的,抹布管道以及兩種高階,抹布管道以及兩種高階。

檢索方法,我們可以檢視,檢索方法,我們可以檢視,全面的排行榜 看看這,全面的排行榜 看看這,三種技術是如何,三種技術是如何,疊加的,除了評估問題之外。

我們還得到了 autover virgent 查詢引擎的相當不錯的結果,我們在基礎性方面得到了 100%,我們在基礎性方面得到了 100%,在,在,答案相關性方面得到了 94% 在。

答案相關性方面得到了 94% 在,上下文相關性方面得到了 43% 哪一個更高 與,上下文相關性方面得到了 43% 哪一個更高 與,句子視窗和,句子視窗和,基線機架,基線機架,管道相比,我們得到。

管道相比,我們得到,與句子視窗 opary 引擎大致相同的總成本,這,與句子視窗 opary 引擎大致相同的總成本,這,意味著這裡的檢索,意味著這裡的檢索。

,最後您也可以,最後您也可以,在儀表板中檢視這一點,本課,在儀表板中檢視這一點,本課,給出 您將全面瞭解,給出 您將全面瞭解,如何設定基本和高階碎片,如何設定基本和高階碎片,管道,管道。

以及如何設定評估,以及如何設定評估,模組來衡量,模組來衡量,下一課的效能,aicon 將深入研究,下一課的效能,aicon 將深入研究,這些評估模組,這些評估模組,特別是墳墓,特別是墳墓。

答案相關性和上下文的碎片三元組 相關性,答案相關性和上下文的碎片三元組 相關性。

您將更多地瞭解如何,您將更多地瞭解如何,使用這些模組以及每個模組的。

相關文章