簡(jiǎn)潔大氣公司網(wǎng)站西安百度關(guān)鍵詞排名服務(wù)
這是我們關(guān)于使用檢索增強(qiáng)生成構(gòu)建 AI 代理的系列的最后一章 (3/3)。在第 1/3 部分中,我們討論了斷開(kāi)連接的嵌入和基于矢量的檢索管道的局限性。在第 2/3 部分中,我們介紹了神經(jīng)數(shù)據(jù)庫(kù),它消除了存儲(chǔ)和操作繁重且昂貴的嵌入的需要。相反,它使用簡(jiǎn)單統(tǒng)一的端到端可學(xué)習(xí)檢索系統(tǒng)。我們認(rèn)為嵌入表示比文本數(shù)據(jù)本身重 3-25 倍,而神經(jīng)數(shù)據(jù)庫(kù)只需要幾十億個(gè)參數(shù)網(wǎng)絡(luò)和簡(jiǎn)單的整數(shù)哈希表(開(kāi)銷小于 20GB),即使是數(shù)百 GB 到 TB 的文本,導(dǎo)致內(nèi)存使用量顯著減少。
在第 2/3 部分結(jié)束時(shí),我們強(qiáng)調(diào)了?ThirdAI 經(jīng)科學(xué)證明的“動(dòng)態(tài)稀疏性”,這是構(gòu)建和部署 CPU 上神經(jīng)數(shù)據(jù)庫(kù)所需的 LLM 的關(guān)鍵功能。為了使神經(jīng)數(shù)據(jù)庫(kù)廣泛適用,具有簡(jiǎn)單商用的CPU基礎(chǔ)設(shè)施應(yīng)該就足以進(jìn)行訓(xùn)練和部署。
ThirdAI特點(diǎn):使NeuralDB在商用CPU上具有商業(yè)可行性的兩大突破
下圖說(shuō)明了ThirdAI的NeuralDB系統(tǒng)的組件。NeuralDB 是一個(gè)新概念,它的實(shí)現(xiàn)是專業(yè)且罕見(jiàn)的,主要存在于 Meta 等特定行業(yè)中。然而,為了使NeuralDB商業(yè)化,需要一個(gè)獨(dú)特的專家團(tuán)隊(duì)來(lái)結(jié)合制作神經(jīng)網(wǎng)絡(luò)的專業(yè)知識(shí)及其與高度并行化哈希表的檢索系統(tǒng)的集成。在做出設(shè)計(jì)選擇和自動(dòng)化內(nèi)部流程方面需要多年的經(jīng)驗(yàn)才能使其廣泛訪問(wèn)。
ThirdAI團(tuán)隊(duì)一直處于這些想法的最前沿。我們的創(chuàng)始人和團(tuán)隊(duì)成員開(kāi)創(chuàng)了一些關(guān)于端到端和高效學(xué)習(xí)檢索系統(tǒng)的最早工作。最后引用了14 NIPS(最佳論文)、NeurIPS 2019、ICLR 2020、KDD 2022的關(guān)鍵論文。
我們的 NeuralDB 需要大型語(yǔ)言模型 (LLM),將文本映射到離散存儲(chǔ)桶的大空間中。存儲(chǔ)桶的范圍可以輕松達(dá)到數(shù)百萬(wàn)甚至更多,而 GPT 型號(hào)通常處理的輸出空間僅為 50k。如果沒(méi)有?ThirdAI 的“動(dòng)態(tài)稀疏”BOLT 引擎,在 CPU 上使用如此大的 LLM 進(jìn)行訓(xùn)練、微調(diào)和執(zhí)行推理是不可能的。這個(gè)獨(dú)特的軟件堆棧由 ThirdAI 開(kāi)創(chuàng),是我們方法不可或缺的一部分。
應(yīng)該注意的是,采用這些能力完全在CPU上運(yùn)行NeuralDB所有操作至關(guān)重要,特別是對(duì)于使用NeuralDB的PocketLLM等應(yīng)用程序。該技術(shù)使最先進(jìn)的神經(jīng)搜索系統(tǒng)能夠在筆記本電腦和臺(tái)式機(jī)上使用,迎合計(jì)算資源有限的一般無(wú)代碼用戶。
在我們深入研究ThirdAI的NeuralDB API及其與langchain和ChatGPT的無(wú)縫集成之前,我們總結(jié)了神經(jīng)數(shù)據(jù)庫(kù)相對(duì)于現(xiàn)有生態(tài)系統(tǒng)的差異和優(yōu)勢(shì),如上表所示。
ThirdAI的輕量級(jí)NeuralDB Python API,適用于任何環(huán)境(內(nèi)部部署或云上)
我們很高興推出我們的NeuralDB API,這是一個(gè)僅限CPU的“語(yǔ)義檢索”生態(tài)系統(tǒng)。我們的 NeuralDB 提供高級(jí)語(yǔ)義搜索和微調(diào)功能,以及簡(jiǎn)單、自動(dòng)調(diào)優(yōu)的 API,以提供輕松的用戶體驗(yàn)。這些功能也可以在筆記本電腦/臺(tái)式機(jī)(Windows和Mac)上使用PocketLLM應(yīng)用程序提供的無(wú)代碼UI界面進(jìn)行訪問(wèn)。
- 對(duì)插入的文本進(jìn)行自動(dòng)自監(jiān)督預(yù)訓(xùn)練:將任何原始文本插入 NeuralDB 中,并帶有一個(gè)標(biāo)志,以便對(duì)新數(shù)據(jù)進(jìn)行額外的微調(diào)。該標(biāo)志在預(yù)訓(xùn)練過(guò)程中啟動(dòng),允許 NeuralDB 專注于理解插入文本中的共現(xiàn)。此過(guò)程適用于各種輸入,例如日志、代碼甚至多語(yǔ)言數(shù)據(jù)。與現(xiàn)有的固定和預(yù)訓(xùn)練嵌入模型不同,自監(jiān)督預(yù)訓(xùn)練使 NeuralDB 能夠?qū)崿F(xiàn)領(lǐng)域?qū)I(yè)化,從而在端到端檢索方面提供了重大升級(jí)。
- NeuralDB?的監(jiān)督訓(xùn)練:除了自我監(jiān)督的預(yù)訓(xùn)練外,NeuralDB 還可以以監(jiān)督的方式進(jìn)行訓(xùn)練。您可以利用文本到文本映射(弱或強(qiáng))來(lái)指定應(yīng)彼此接近的文本信息,類似于嵌入模型的對(duì)比訓(xùn)練。此外,可以使用從文本到已知類別的任何監(jiān)督映射,例如將用戶查詢映射到產(chǎn)品的產(chǎn)品搜索引擎。
- 具有人工反饋的實(shí)時(shí)強(qiáng)化學(xué)習(xí):NeuralDB可以使用人工實(shí)時(shí)反饋進(jìn)一步完善。NeuralDB API 支持兩種形式的人工反饋。首先,可以使用首選項(xiàng)信息,其中用戶對(duì)幾個(gè)檢索到的選項(xiàng)中的最佳選項(xiàng)豎起大拇指或點(diǎn)贊。其次,可以引導(dǎo)模型以在線方式關(guān)聯(lián)兩個(gè)不同的文本字符串,類似于監(jiān)督訓(xùn)練。例如,您可以對(duì)齊 NeuralDB 以了解石油行業(yè)術(shù)語(yǔ),其中“WOW”與“Wait On Weather”相關(guān)聯(lián)。
NeuralDB API 功能提供對(duì)檢索生態(tài)系統(tǒng)的精確控制和個(gè)性化。您不再需要僅僅依靠開(kāi)源社區(qū)或現(xiàn)有的LLM服務(wù)提供商來(lái)改進(jìn)AI模型以滿足您的特定需求。借助 NeuralDB,您可以負(fù)責(zé)并提供最適合您業(yè)務(wù)需求的愿景和改進(jìn)。這是人工智能對(duì)每個(gè)人的真正民主化。
人工智能社區(qū)已經(jīng)認(rèn)識(shí)到從 ChatGPT 的成功中吸取了關(guān)鍵教訓(xùn):即使是最先進(jìn)的人工智能系統(tǒng)也需要不斷的人類專家反饋。我們的NeuralDB在設(shè)計(jì)時(shí)就考慮到了這一點(diǎn)。實(shí)現(xiàn)高質(zhì)量的 AI 模型是一個(gè)持續(xù)的過(guò)程,涉及持續(xù)的訓(xùn)練、微調(diào)和強(qiáng)化學(xué)習(xí)。
NeuralDB:急需減少AI軟件堆棧
LLM(大型語(yǔ)言模型)堆棧變得越來(lái)越復(fù)雜,具有多層和組件,超過(guò)了傳統(tǒng)AI堆棧的復(fù)雜性。開(kāi)發(fā)人員意識(shí)到,每個(gè)組件都會(huì)增加更多的摩擦、不確定性、故障點(diǎn)、成本和延遲。嵌入模型所需的繁重 GPU 基礎(chǔ)設(shè)施迫使開(kāi)發(fā)人員構(gòu)建一個(gè)低效的生態(tài)系統(tǒng),在 CPU 和 GPU 之間不斷移動(dòng)數(shù)據(jù)。簡(jiǎn)而言之,涉及的組件和數(shù)據(jù)移動(dòng)越多,管理和調(diào)試流程就越困難。
ThirdAI,獨(dú)特的技術(shù)使我們能夠通過(guò)消除中間嵌入表示的生成和管理來(lái)顯著簡(jiǎn)化LLM堆棧。通過(guò)與數(shù)據(jù)共置并消除 CPU 和 GPU 之間的來(lái)回?cái)?shù)據(jù)移動(dòng),我們實(shí)現(xiàn)了優(yōu)先考慮隱私、穩(wěn)定性和可靠性的簡(jiǎn)化堆棧。
資源、Notebook和 PubMed 問(wèn)答 NeuralDB
我們所有的 API 都總結(jié)在這個(gè)簡(jiǎn)單的 Python 筆記本中。要使用它們,您可以在此處申請(qǐng)免費(fèi)的 ThirdAI 許可證。這些筆記本電腦可以在筆記本電腦上高效運(yùn)行,在短短幾分鐘內(nèi)處理數(shù)千頁(yè)。例如,我們有一個(gè)完全免費(fèi)的NeuralDB,它是在800k Pubmed抽象數(shù)據(jù)集上預(yù)先訓(xùn)練的。它在幾個(gè)小時(shí)內(nèi)在單個(gè)CPU上進(jìn)行了訓(xùn)練。您可以下載模型,并使用提供的腳本直接將其用于問(wèn)答。
引用
- BLISS:使用迭代重新分區(qū)的十億級(jí)索引。
Gaurav Gupta,?Tharun Medini,??Anshumali Shrivastava 和 Alex Smola
SIGKDD International Conference on Knowledge Discovery & Data Mining?(KDD)?2022. - SOLAR:稀疏正交學(xué)習(xí)和隨機(jī)嵌入。
Tharun Medini, Beidi Chen, Anshumali ShrivastavaInternational Conference on Learning Representations?(ICLR)?2021. - 使用最小計(jì)數(shù)草圖的日志內(nèi)存中的極端分類:使用 50M 產(chǎn)品的亞馬遜搜索案例研究。
Tharun Medini,Qixuan Huang,Yiqiu Wang,Vijai Mohan,Anshumali ShrivastavaNeural Information Processing Systems?(NeurIPS)?2019. - 非對(duì)稱 LSH (ALSH) 用于次線性時(shí)間最大內(nèi)積搜索 (MIPS)。
Anshumali Shrivastava and Ping Li.
Neural Information Processing Systems?(NIPS)?2014?Best Paper Award.
?