亚洲先锋影音人AV成_免费A级毛片一分钟_人人爽人人爽人人插_日韩少妇极品熟妇人妻潮喷

沃卡惠移動(dòng)端logo

大語言模型兵馬未動(dòng),數(shù)據(jù)準(zhǔn)備糧草先行

2024-06-18 09:44:214636

從OpenAI正式發(fā)布ChatGPT開始,大型語言模型(LLM)就變得風(fēng)靡一時(shí)。對(duì)業(yè)界和吃瓜群眾來說,這種技術(shù)最大的吸引力來自于理解、解釋和生成人類語言的能力,畢竟這曾被認(rèn)為是人類獨(dú)有的技能。類似CoPilot這樣的工具正在迅速融入開發(fā)者的日常工作,而由ChatGPT驅(qū)動(dòng)的應(yīng)用程序也開始變得日益主流。

大語言模型的流行,另一方面也要?dú)w功于普通開發(fā)者也能輕松用上這樣的技術(shù)。隨著大量開源模型陸續(xù)涌現(xiàn),每天都有新的科技初創(chuàng)公司提出基于大語言模型的解決方案

然而,就算到了AI時(shí)代,數(shù)據(jù)依然是一種“新的石油”。在機(jī)器學(xué)習(xí)領(lǐng)域,數(shù)據(jù)充當(dāng)了訓(xùn)練、測(cè)試和驗(yàn)證模型的原材料。高質(zhì)量、多樣化、有代表性的數(shù)據(jù)對(duì)于創(chuàng)建準(zhǔn)確、可靠和健壯的大語言模型至關(guān)重要。

我們?cè)跇?gòu)建自己的大語言模型時(shí)可能會(huì)面臨挑戰(zhàn),特別是在收集和存儲(chǔ)數(shù)據(jù)這方面。大量非結(jié)構(gòu)化數(shù)據(jù)如何處理,以及該如何存儲(chǔ)和管理對(duì)數(shù)據(jù)的訪問,這些可能只是各種挑戰(zhàn)中的一小部分。

本文將探討與數(shù)據(jù)管理有關(guān)的挑戰(zhàn),借此讓讀者清楚了解數(shù)據(jù)在大語言模型中的關(guān)鍵作用,并在此基礎(chǔ)上,為讀者在自己的大語言模型項(xiàng)目中有效管理數(shù)據(jù)提供所需知識(shí)。

大語言模型

首先,一起看看有關(guān)大語言模型的基礎(chǔ)知識(shí)吧。

大語言模型的工作原理以及現(xiàn)有模型的選擇

從較高層次來看,大語言模型的工作原理很簡(jiǎn)單:將單詞(或句子)轉(zhuǎn)換為一種稱為嵌入(Embedding)的數(shù)值表達(dá)。這些“嵌入”捕獲了單詞間的語義含義和關(guān)系,模型就是借此理解語言的。例如,大語言模型會(huì)學(xué)習(xí)到“狗”和“小狗”這兩個(gè)詞是相關(guān)的,并且會(huì)將它們放在數(shù)值空間中更接近的位置,而“樹”這個(gè)詞則會(huì)較遠(yuǎn)。

大語言模型最關(guān)鍵的部分是神經(jīng)網(wǎng)絡(luò),這是一類受到人腦功能啟發(fā)創(chuàng)建出的計(jì)算模型。神經(jīng)網(wǎng)絡(luò)可以從訓(xùn)練數(shù)據(jù)中學(xué)習(xí)這些嵌入及其相互之間的關(guān)系。與大多數(shù)機(jī)器學(xué)習(xí)應(yīng)用一樣,大語言模型需要大量數(shù)據(jù)。通常情況下,對(duì)于模型訓(xùn)練而言,數(shù)據(jù)量越大、質(zhì)量越高,模型的準(zhǔn)確性就越高,這意味著我們需要一種良好的方法來管理大語言模型用到的數(shù)據(jù)。

權(quán)衡現(xiàn)有模型時(shí)需要考慮的因素

幸運(yùn)的是,對(duì)于開發(fā)者而言,目前有很多開源的大語言模型可供選擇,其中不乏一些流行的,甚至可商用的,例如Databricks提供的Dolly、Meta提供的Open LLaMA等。

面對(duì)如此廣泛的選擇,想要找到合適的開源大語言模型可能就有些棘手了。我們必須了解大語言模型所需的計(jì)算和內(nèi)存資源。模型的大?。ɡ巛斎?yún)?shù)為30億與70億之間的模型)會(huì)影響運(yùn)行和使用模型所需的資源量。因此必須考慮選擇能與自己能力相匹配的模型。例如,一些DLite模型專門設(shè)計(jì)為能在筆記本電腦上運(yùn)行,而不需要高成本的云資源。

在研究每個(gè)大語言模型時(shí),一定要注意該模型是如何訓(xùn)練的,以及通常適用于什么樣的任務(wù)。這些區(qū)別也會(huì)影響我們的選擇。此時(shí)的規(guī)劃工作包括:篩選開源模型,了解每個(gè)模型的最佳適用場(chǎng)景,并預(yù)測(cè)自己將需要為每個(gè)模型使用的資源。

根據(jù)需要大語言模型的應(yīng)用程序或環(huán)境,我們可以選擇從現(xiàn)有大語言模型開始,也可以選擇從零開始訓(xùn)練一個(gè)自己的大語言模型。對(duì)于現(xiàn)成的大語言模型,我們可以直接使用它,或者也可以使用額外的數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),使其更符合自己所要處理的任務(wù)特點(diǎn)。

為了根據(jù)需求選擇最佳方法,還要求我們對(duì)用于訓(xùn)練大語言模型的數(shù)據(jù)有深入了解。

大語言模型中使用的數(shù)據(jù)類型

當(dāng)涉及到大語言模型的訓(xùn)練時(shí),通常使用的數(shù)據(jù)是文本數(shù)據(jù)。然而,這些文本數(shù)據(jù)的性質(zhì)可能有很大差異,了解可能遇到的不同類型數(shù)據(jù)是很重要的。一般來說,大語言模型用到的數(shù)據(jù)可分為兩種類型:半結(jié)構(gòu)化數(shù)據(jù)和非結(jié)構(gòu)化數(shù)據(jù)。結(jié)構(gòu)化數(shù)據(jù)(即以表格數(shù)據(jù)集形式表示的數(shù)據(jù))通常不太可能用在大語言模型的訓(xùn)練工作中。

· 半結(jié)構(gòu)化數(shù)據(jù)

半結(jié)構(gòu)化數(shù)據(jù)會(huì)以某種預(yù)定義的方式組織,并遵循某種模型。這種組織方式使得數(shù)據(jù)的搜索和查詢變得相當(dāng)簡(jiǎn)單直接。在大語言模型領(lǐng)域,半結(jié)構(gòu)化數(shù)據(jù)的類型有很多,例如文本語料庫,其中的每一項(xiàng)都與某些標(biāo)簽或元數(shù)據(jù)相關(guān)聯(lián)。半結(jié)構(gòu)化數(shù)據(jù)的其他例子包括:

新聞文章,每篇文章都與一個(gè)類別(如體育、政治或技術(shù))相關(guān)聯(lián)。

用戶評(píng)論,每條評(píng)論都與評(píng)分和產(chǎn)品信息相關(guān)聯(lián)。

社交媒體帖子,每個(gè)帖子都與發(fā)布者、發(fā)布時(shí)間和其他元數(shù)據(jù)相關(guān)聯(lián)。

在這些情況下,大語言模型可能會(huì)根據(jù)新聞文章預(yù)測(cè)類別,根據(jù)評(píng)論文本預(yù)測(cè)評(píng)分,或根據(jù)內(nèi)容預(yù)測(cè)社交媒體帖子蘊(yùn)含的情緒。

· 非結(jié)構(gòu)化數(shù)據(jù)

另一方面,非結(jié)構(gòu)化數(shù)據(jù)缺乏預(yù)定義的組織或模型。這些數(shù)據(jù)通常以文本為主,并且可能包含日期、數(shù)字和事實(shí),這使得它更加復(fù)雜,難以處理和分析。在大語言模型領(lǐng)域,非結(jié)構(gòu)化數(shù)據(jù)非常普遍,例如:

書籍、文章和其他長篇內(nèi)容

從采訪或播客中提取的文本記錄

網(wǎng)頁或文檔

由于缺乏明確的標(biāo)簽或組織標(biāo)記,非結(jié)構(gòu)化數(shù)據(jù)對(duì)大語言模型的訓(xùn)練更具挑戰(zhàn)性。然而,這類數(shù)據(jù)也可以產(chǎn)生更通用的模型。例如,用大量書籍語料庫訓(xùn)練出的模型可能會(huì)學(xué)會(huì)生成逼真的散文,就像GPT-3那樣。

可想而知,數(shù)據(jù)是大語言模型的核心。但這些數(shù)據(jù)如何從原始狀態(tài)轉(zhuǎn)換為大語言模型可以使用的格式?讓我們將焦點(diǎn)轉(zhuǎn)移到其中涉及的關(guān)鍵過程上。

大語言模型的數(shù)據(jù)管道和數(shù)據(jù)攝入

用于獲取和處理大語言模型數(shù)據(jù)的基本構(gòu)件在于數(shù)據(jù)管道(Data pipeline)和數(shù)據(jù)攝入(Data ingestion)的概念。

1.數(shù)據(jù)管道是什么?

數(shù)據(jù)管道在原始的非結(jié)構(gòu)化數(shù)據(jù)與完全訓(xùn)練好的大語言模型之間形成了一個(gè)通道,借此確保數(shù)據(jù)被正確地收集、處理和準(zhǔn)備,使其能夠在大語言模型構(gòu)建過程的訓(xùn)練和驗(yàn)證階段順利使用。

數(shù)據(jù)管道是一組流程,可將數(shù)據(jù)從源頭移動(dòng)到一個(gè)可以存儲(chǔ)和分析的目的地。通常情況下,其中包括:

數(shù)據(jù)提取:從源頭提取數(shù)據(jù),這個(gè)源頭可以是數(shù)據(jù)庫、數(shù)據(jù)倉庫,甚至外部API。

數(shù)據(jù)轉(zhuǎn)換:原始數(shù)據(jù)需要經(jīng)過清洗和轉(zhuǎn)換,以便轉(zhuǎn)換為適合分析的格式。轉(zhuǎn)換包括處理缺失值、糾正不一致的數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù)類型或?qū)︻悇e變量進(jìn)行獨(dú)熱編碼(One-hot encoding)。

數(shù)據(jù)加載:轉(zhuǎn)換后的數(shù)據(jù)被加載到存儲(chǔ)系統(tǒng)(例如數(shù)據(jù)庫或數(shù)據(jù)倉庫)。這些數(shù)據(jù)隨后可以立即用于機(jī)器學(xué)習(xí)模型中。

當(dāng)談?wù)摂?shù)據(jù)攝入時(shí),我們指的是這些管道過程的前端,即數(shù)據(jù)的獲取和為后續(xù)使用所進(jìn)行的準(zhǔn)備。

2.大語言模型的數(shù)據(jù)管道是什么樣子的?

雖然大語言模型的數(shù)據(jù)管道在一般情況下可能與數(shù)據(jù)團(tuán)隊(duì)使用的大多數(shù)管道有所相似,但大語言模型為管理的數(shù)據(jù)提出了一些獨(dú)特的挑戰(zhàn)。例如:

數(shù)據(jù)提取:大語言模型的數(shù)據(jù)提取通常更復(fù)雜、多樣化且計(jì)算密集。由于數(shù)據(jù)來源可能是網(wǎng)站、書籍、文本記錄或社交媒體,每個(gè)來源都有自己的細(xì)微差別,需要獨(dú)特的方法。

數(shù)據(jù)轉(zhuǎn)換:由于大語言模型的數(shù)據(jù)來源范圍非常廣泛,每種類型數(shù)據(jù)的每個(gè)轉(zhuǎn)換步驟都將不同,需要獨(dú)特的邏輯將數(shù)據(jù)處理成大語言模型可以用于訓(xùn)練的更標(biāo)準(zhǔn)化的格式。

數(shù)據(jù)加載:在許多情況下,數(shù)據(jù)加載的最后一步可能需要使用非常規(guī)的數(shù)據(jù)存儲(chǔ)技術(shù)。非結(jié)構(gòu)化文本數(shù)據(jù)可能需要使用NoSQL數(shù)據(jù)庫,而不像很多數(shù)據(jù)管道那樣使用關(guān)系型數(shù)據(jù)存儲(chǔ)。

大語言模型的數(shù)據(jù)轉(zhuǎn)換過程包括了與自然語言處理(NLP)中類似的技術(shù):

詞元化:將文本分解為單個(gè)單詞或詞元(Token)。

停用詞去除:消除常用詞如“and”、“the”和“is”。然而,根據(jù)大語言模型所訓(xùn)練任務(wù)的不同,有時(shí)候這類停用詞可能會(huì)被保留,這可能是為了保留重要的句法和語義信息。

詞形還原:將單詞減少到其基本形式或詞根形式。

可想而知,將所有這些步驟結(jié)合起來,從各種來源攝取海量數(shù)據(jù),可能會(huì)導(dǎo)致一個(gè)非常復(fù)雜且龐大的數(shù)據(jù)管道。為了順利完成任務(wù),我們需要適合的工具和資源。

數(shù)據(jù)攝入的常見工具

數(shù)據(jù)工程領(lǐng)域有幾個(gè)極其流行的工具可以幫助我們處理構(gòu)成數(shù)據(jù)管道的一部分復(fù)雜數(shù)據(jù)攝入過程。如果正在構(gòu)建自己的大語言模型,我們的大部分開發(fā)時(shí)間將用于收集、清理和存儲(chǔ)用于訓(xùn)練的數(shù)據(jù)。那些能夠幫助我們管理大語言模型數(shù)據(jù)的工具可以按以下方式加以分類:

管道編排:用于監(jiān)視和管理數(shù)據(jù)管道中過程的平臺(tái)。

計(jì)算:處理大規(guī)模數(shù)據(jù)所用的資源。

存儲(chǔ):用于存儲(chǔ)有效大語言模型訓(xùn)練所需的大量數(shù)據(jù)的數(shù)據(jù)庫。

讓我們?cè)敿?xì)看看這三類工具。

1.管道編排

Apache Airflow是一個(gè)流行的開源平臺(tái),可用于以編程方式編寫、調(diào)度和監(jiān)視數(shù)據(jù)工作流。它可以幫助我們使用基于Python的編程接口創(chuàng)建復(fù)雜數(shù)據(jù)管道,這種接口不僅功能豐富,而且易于使用。Airflow中的任務(wù)可以組織成有向無環(huán)圖(DAG),其中每個(gè)節(jié)點(diǎn)代表一個(gè)任務(wù),邊表示任務(wù)之間的依賴關(guān)系。

Airflow已被廣泛用于數(shù)據(jù)提取、轉(zhuǎn)換和加載操作,它已經(jīng)成為數(shù)據(jù)攝入過程中的寶貴工具。Linode Marketplace提供了Apache Airflow,用戶可以借此通過簡(jiǎn)單的設(shè)置快速上手使用。

2.計(jì)算

除了使用諸如Airflow之類的工具進(jìn)行管道管理,我們還需要能夠可靠地運(yùn)行大規(guī)模處理所需的計(jì)算資源。隨著攝入大量文本數(shù)據(jù)并從許多來源進(jìn)行下游處理,我們的任務(wù)將需要能夠根據(jù)需求擴(kuò)展計(jì)算資源,最好是以水平的方式進(jìn)行擴(kuò)展。

Kubernetes是一種流行的可擴(kuò)展計(jì)算選項(xiàng)。Kubernetes帶來了靈活性,能與許多工具(包括Airflow)很好地集成。通過利用托管的Kubernetes,我們可以快速、簡(jiǎn)單地啟動(dòng)靈活的計(jì)算資源。

3.存儲(chǔ)

數(shù)據(jù)庫對(duì)于數(shù)據(jù)攝入過程至關(guān)重要,它可充當(dāng)經(jīng)過清理和轉(zhuǎn)換后攝入數(shù)據(jù)的主要目的地。我們可以采用各種類型的數(shù)據(jù)庫。具體使用哪種類型,這取決于數(shù)據(jù)的性質(zhì)和用例的具體要求:

關(guān)系型數(shù)據(jù)庫使用表格結(jié)構(gòu)來存儲(chǔ)和表示數(shù)據(jù)。它適用于具有清晰關(guān)系和數(shù)據(jù)完整性至關(guān)重要的數(shù)據(jù)。盡管我們的大語言模型將依賴于非結(jié)構(gòu)化數(shù)據(jù),但像PostgreSQL這樣的關(guān)系型數(shù)據(jù)庫也可以處理非結(jié)構(gòu)化數(shù)據(jù)類型。

NoSQL數(shù)據(jù)庫:NoSQL數(shù)據(jù)庫包括面向文檔的數(shù)據(jù)庫,它不使用表格結(jié)構(gòu)來存儲(chǔ)數(shù)據(jù),適用于處理大量非結(jié)構(gòu)化數(shù)據(jù),可提供高性能、高可用性和易擴(kuò)展性。

作為大語言模型數(shù)據(jù)存儲(chǔ)的替代方案,一些工程師更喜歡使用分布式文件系統(tǒng),例如AWS S3或Hadoop。雖然分布式文件系統(tǒng)是存儲(chǔ)大量非結(jié)構(gòu)化數(shù)據(jù)的好選擇,但需要額外的工作來組織和管理大型數(shù)據(jù)集。

在Linode Marketplace提供的各種存儲(chǔ)選項(xiàng)中,我們可以看到托管的PostgreSQL和托管的MySQL。這兩個(gè)選項(xiàng)都易于設(shè)置,可與大語言模型數(shù)據(jù)管道連接。

雖然小型大語言模型可能會(huì)使用較少的數(shù)據(jù)進(jìn)行訓(xùn)練,并且可以使用較小的數(shù)據(jù)庫(如單個(gè)PostgreSQL節(jié)點(diǎn)),但更重的用例將需要處理大量數(shù)據(jù)。在這些情況下,我們可能需要類似PostgreSQL Cluster的東西來支持將要處理的數(shù)據(jù)量,并為大語言模型管理數(shù)據(jù)以及可靠地提供數(shù)據(jù)服務(wù)。

在選擇用于管理大語言模型數(shù)據(jù)的數(shù)據(jù)庫時(shí),別忘了考慮數(shù)據(jù)的性質(zhì)和具體要求。我們攝入的數(shù)據(jù)類型將決定哪種數(shù)據(jù)庫最適合自己的需求。當(dāng)然,實(shí)際用例要求(如性能、可用性和可擴(kuò)展性)也是重要的考慮因素。

有效和準(zhǔn)確地?cái)z入數(shù)據(jù)對(duì)大語言模型的成功至關(guān)重要。通過正確使用工具,我們可以為自己的管道構(gòu)建可靠、高效的數(shù)據(jù)攝入過程,處理大量數(shù)據(jù),并確保大語言模型具備學(xué)習(xí)和提供準(zhǔn)確結(jié)果所需的一切。

總結(jié)

大語言模型的迅猛崛起在技術(shù)領(lǐng)域開辟了新的大門。這項(xiàng)技術(shù)對(duì)開發(fā)者來說易于訪問,但如何管理大語言模型的數(shù)據(jù)以及利用數(shù)據(jù)來訓(xùn)練新的大語言模型或調(diào)整現(xiàn)有大語言模型,將決定開發(fā)者能否在長期范圍內(nèi)持續(xù)獲得成功。