中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
知識圖譜驅(qū)動的大語言模型 Llama Index

  • LLM 應(yīng)用的范式

  • Llama Index:數(shù)據(jù)與 LLM 之間的接口

    • 上下文學(xué)習(xí)

    • 嵌入(Embedding)

    • Llama Index

  • 文檔分割和嵌入的問題

  • 知識圖譜

  • 嵌入和知識圖譜的結(jié)合

  • Llama Index 中的知識圖譜進(jìn)展

LLM 如火如荼地發(fā)展了大半年,各類大模型和相關(guān)框架也逐步成型,可被大家應(yīng)用到業(yè)務(wù)實際中。在這個過程中,我們可能會遇到一類問題是:現(xiàn)有的哪些數(shù)據(jù),如何更好地與 LLM 對接上。像是大家都在用的知識圖譜,現(xiàn)在的圖譜該如何借助大模型,發(fā)揮更大的價值呢?

在本文,我便會和大家分享下如何利用知識圖譜構(gòu)建更好的 In-context Learning 大語言模型應(yīng)用。

此文最初以英文撰寫的,而后我麻煩 ChatGPT 幫我翻譯成了中文。下面是翻譯的 prompt:

“In this thread, you are a Chinese Tech blogger to help translate my blog in markdown from English into Chinese, the blog style is clear, fun yet professional. I will paste chapters in markdown to you and you will send back the translated and polished version.”

LLM 應(yīng)用的范式

作為認(rèn)知智能的一大突破,LLM 已經(jīng)改變了許多行業(yè),以一種我們沒有預(yù)料到的方式進(jìn)行自動化、加速和啟用。我們每天都會看到新的 LLN 應(yīng)用被創(chuàng)建出來,我們?nèi)匀辉谔剿魅绾卫眠@種魔力的新方法和用例。

將 LLM 引入流程的最典型模式之一,是要求 LLM 根據(jù)專有的/特定領(lǐng)域的知識理解事物。目前,我們可以向 LLM 添加兩種范式以獲取這些知識:微調(diào)——fine-tune 和 上下文學(xué)習(xí)—— in-context learning

微調(diào)是指對 LLM 模型進(jìn)行附加訓(xùn)練,以增加額外的知識;而上下文學(xué)習(xí)是在查詢提示中添加一些額外的知識。

據(jù)觀察,目前由于上下文學(xué)習(xí)比微調(diào)更簡單,所以上下文學(xué)習(xí)比微調(diào)更受歡迎,在這篇論文中講述了這一現(xiàn)象:https://arxiv.org/abs/2305.16938

下面,我來分享 NebulaGraph 在上下文學(xué)習(xí)方法方面所做的工作。

Llama Index:數(shù)據(jù)與 LLM 之間的接口

上下文學(xué)習(xí)

上下文學(xué)習(xí)的基本思想是使用現(xiàn)有的 LLM(未更新)來處理特定知識數(shù)據(jù)集的特殊任務(wù)。

例如,要構(gòu)建一個可以回答關(guān)于某個人的任何問題,甚至扮演一個人的數(shù)字化化身的應(yīng)用程序,我們可以將上下文學(xué)習(xí)應(yīng)用于一本自傳書籍和 LLM。在實踐中,應(yīng)用程序?qū)⑹褂糜脩舻膯栴}和從書中'搜索'到的一些信息構(gòu)建提示,然后查詢 LLM 來獲取答案。

┌───────┐         ┌─────────────────┐         ┌─────────┐
│       │         │ Docs/Knowledge  │         │         │
│       │         └─────────────────┘         │         │
│ User  │─────────────────────────────────────?   LLM   │
│       │                                     │         │
│       │                                     │         │
└───────┘                                     └─────────┘

在這種搜索方法中,實現(xiàn)從文檔/知識(上述示例中的那本書)中獲取與特定任務(wù)相關(guān)信息的最有效方式之一是利用嵌入(Embedding)。

嵌入(Embedding)

嵌入通常指的是將現(xiàn)實世界的事物映射到多維空間中的向量的方法。例如,我們可以將圖像映射到一個(64 x 64)維度的空間中,如果映射足夠好,兩個圖像之間的距離可以反映它們的相似性。

嵌入的另一個例子是 word2vec 算法,它將每個單詞都映射到一個向量中。例如,如果嵌入足夠好,我們可以對它們進(jìn)行加法和減法操作,可能會得到以下結(jié)果:

vec(apple) + vec(pie) ≈ vec('apple apie'),或者向量測量值 vec(apple) + vec(pie) - vec('apple apie') 趨近于 0:

|vec(apple) + vec(pie) - vec('apple apie')| ≈ 0

類似地,'pear' 應(yīng)該比 'dinosaur' 更接近 'apple':|vec(apple) - vec(pear)| < |vec(apple) - vec(dinosaur)|

有了這個基礎(chǔ),理論上我們可以搜索與給定問題更相關(guān)的書籍片段?;具^程如下:

  • 將書籍分割為小片段,為每個片段創(chuàng)建嵌入并存儲它們

  • 當(dāng)有一個問題時,計算問題的嵌入

  • 通過計算距離找到與書籍片段最相似的前 K 個嵌入

  • 使用問題和書籍片段構(gòu)建提示

  • 使用提示查詢 LLM

                  ┌────┬────┬────┬────┐                  
                 │ 1  │ 2  │ 3  │ 4  │                  
                 ├────┴────┴────┴────┤                  
                 │  Docs/Knowledge   │                  
┌───────┐         │        ...        │       ┌─────────┐
│       │         ├────┬────┬────┬────┤       │         │
│       │         │ 95 │ 96 │    │    │       │         │
│       │         └────┴────┴────┴────┘       │         │
│ User  │─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─?   LLM   │
│       │                                     │         │
│       │                                     │         │
└───────┘    ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐  └─────────┘
   │          ┌──────────────────────────┐        ▲    
   └────────┼?│  Tell me ....., please   │├───────┘    
              └──────────────────────────┘              
            │ ┌────┐ ┌────┐               │            
              │ 3  │ │ 96 │                            
            │ └────┘ └────┘               │            
             ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
Llama Index

Llama Index 是一個開源工具包,它能幫助我們以最佳實踐去做 in-context learning:

  • 它提供了各種數(shù)據(jù)加載器,以統(tǒng)一格式序列化文檔/知識,例如 PDF、維基百科、Notion、Twitter 等等,這樣我們可以無需自行處理預(yù)處理、將數(shù)據(jù)分割為片段等操作。

  • 它還可以幫助我們創(chuàng)建嵌入(以及其他形式的索引),并以一行代碼的方式在內(nèi)存中或向量數(shù)據(jù)庫中存儲嵌入。

  • 它內(nèi)置了提示和其他工程實現(xiàn),因此我們無需從頭開始創(chuàng)建和研究,例如,《用 4 行代碼在現(xiàn)有數(shù)據(jù)上創(chuàng)建一個聊天機(jī)器人》。

文檔分割和嵌入的問題

嵌入和向量搜索在許多情況下效果良好,但在某些情況下仍存在挑戰(zhàn),比如:丟失全局上下文/跨節(jié)點上下文。

想象一下,當(dāng)查詢'請告訴我關(guān)于作者和 foo 的事情',在這本書中,假設(shè)編號為 1、3、6、19-25、30-44 和 96-99 的分段都涉及到 foo 這個主題。那么,在這種情況下,簡單地搜索與書籍片段相關(guān)的前 K 個嵌入可能效果不盡人意,因為這時候只考慮與之最相關(guān)的幾個片段(比如 K = 3),會丟失了許多上下文信息。

┌────┬────┬────┬────┐
│ 1  │ 2  │ 3  │ 4  │
├────┴────┴────┴────┤
│  Docs/Knowledge   │
│        ...        │
├────┬────┬────┬────┤
│ 95 │ 96 │    │    │
└────┴────┴────┴────┘

而解決、緩解這個問題的方法,在 Llama Index 工具的語境下,可以創(chuàng)建組合索引和綜合索引。

其中,向量存儲(VectorStore)只是其中的一部分。除此之外,我們可以定義一個摘要索引、樹形索引等,以將不同類型的問題路由到不同的索引,從而避免在需要全局上下文時錯失它。

然而,借助知識圖譜,我們可以采取更有意思的方法:

知識圖譜

知識圖譜這個術(shù)語最初由谷歌在 2012 年 5 月提出,作為其增強(qiáng)搜索結(jié)果,向用戶提供更多上下文信息的一部分實踐。知識圖譜旨在理解實體之間的關(guān)系,并直接提供查詢的答案,而不僅僅返回相關(guān)網(wǎng)頁的列表。

知識圖譜是一種以圖結(jié)構(gòu)形式組織和連接信息的方式,其中節(jié)點表示實體,邊表示實體之間的關(guān)系。圖結(jié)構(gòu)允許用戶高效地存儲、檢索和分析數(shù)據(jù)。

它的結(jié)構(gòu)如下圖所示:

現(xiàn)在問題就來了,上面說過知識圖譜能幫忙搞定文檔分割和嵌入的問題。那么,知識圖譜到底能怎么幫到我們呢?

嵌入和知識圖譜的結(jié)合

這里的基本實現(xiàn)思想是,作為信息的精煉格式,知識圖譜可切割的數(shù)據(jù)顆粒度比我們?nèi)斯さ姆指畹母?xì)、更小。將知識圖譜的小顆粒數(shù)據(jù)與原先人工處理的大塊數(shù)據(jù)相結(jié)合,我們可以更好地搜索需要全局/跨節(jié)點上下文的查詢。

下面來做個題:請看下面的圖示,假設(shè)提問同 x 有關(guān),所有數(shù)據(jù)片段中有 20 個與 x 高度相關(guān)?,F(xiàn)在,除了獲取主要上下文的前 3 個文檔片段(比如編號為 1、2 和 96 的文檔片段),我們還從知識圖譜中對 x 進(jìn)行兩次跳轉(zhuǎn)查詢,那么完整的上下文將包括:

  • 問題:'Tell me things about the author and x'

  • 來自文檔片段編號 1、2 和 96 的原始文檔。在 Llama Index 中,它們被稱為節(jié)點 1、節(jié)點 2 和節(jié)點 96。

  • 包含 'x' 的知識圖譜中的 10 個三元組,通過對 x 進(jìn)行兩層深度的圖遍歷得到:

    • x -> y(來自節(jié)點 1)

    • x -> a(來自節(jié)點 2)

    • x -> m(來自節(jié)點 4)

    • x <- b-> c(來自節(jié)點 95)

    • x -> d(來自節(jié)點 96)

    • n -> x(來自節(jié)點 98)

    • x <- z <- i(來自節(jié)點 1 和節(jié)點 3)

    • x <- z <- b(來自節(jié)點 1 和節(jié)點 95)

顯然,那些(可能很寶貴的)涉及到主題 x 的精煉信息來自于其他節(jié)點以及跨節(jié)點的信息,都因為我們引入知識圖譜,而能夠被包含在 prompt 中,用于進(jìn)行上下文學(xué)習(xí),從而克服了前面提到的問題。

┌──────────────────┬──────────────────┬──────────────────┬──────────────────┐
│ .─.       .─.    │  .─.       .─.   │            .─.   │  .─.       .─.   │
│( x )─────? y )   │ ( x )─────? a )  │           ( j )  │ ( m )?────( x )  │
│ `▲'       `─'    │  `─'       `─'   │            `─'   │  `─'       `─'   │
│  │     1         │        2         │        3    │    │        4         │
│ .─.              │                  │            .▼.   │                  │
│( z )?────────────┼──────────────────┼───────────( i )─┐│                  │
│ `?────┐          │                  │            `─'  ││                  │
├───────┼──────────┴──────────────────┴─────────────────┼┴──────────────────┤
│       │                      Docs/Knowledge           │                   │
│       │                            ...                │                   │
│       │                                               │                   │
├───────┼──────────┬──────────────────┬─────────────────┼┬──────────────────┤
│  .─.  └──────.   │  .─.             │                 ││  .─.             │
│ ( x ?─────( b )  │ ( x )            │                 └┼?( n )            │
│  `─'       `─'   │  `─'             │                  │  `─'             │
│        95   │    │   │    96        │                  │   │    98        │
│            .▼.   │  .▼.             │                  │   ▼              │
│           ( c )  │ ( d )            │                  │  .─.             │
│            `─'   │  `─'             │                  │ ( x )            │
└──────────────────┴──────────────────┴──────────────────┴──`─'─────────────┘

Llama Index 中的知識圖譜進(jìn)展

最初,William F.H.將知識圖譜的抽象概念引入了 Llama Index,其中知識圖譜中的三元組與關(guān)鍵詞相關(guān)聯(lián),并存儲在內(nèi)存中的文檔中,隨后Logan Markewich還增加了每個三元組的嵌入。

最近的幾周中,我一直在與 Llama Index 社區(qū)合作,致力于將 'GraphStore' 存儲上下文引入 Llama Index,從而引入了知識圖譜的外部存儲。首個知識圖譜的外部存儲是對接開源分布式圖數(shù)據(jù)庫 NebulaGraph,目前在我的努力下已經(jīng)實現(xiàn)了。

在實現(xiàn)過程中,還引入了遍歷圖的多個跳數(shù)選項以及在前 K 個節(jié)點中收集更多關(guān)鍵實體的選項,用于在知識圖譜中搜索以獲得更多全局上下文。上面提到的這些變更還在陸續(xù)完善中。

在大模型中引入 GraphStore 后,還可以從現(xiàn)有的知識圖譜中進(jìn)行上下文學(xué)習(xí),并與其他索引結(jié)合使用,這也非常有前景。因為知識圖譜被認(rèn)為具有比其他結(jié)構(gòu)化數(shù)據(jù)更高的信息密度。

本文作為開篇,講述了一些知識圖譜和 LLM 的關(guān)系。在后續(xù)的文章中,將會偏向?qū)嵅偻蠹曳窒砭唧w的知識圖譜和 LLM 的應(yīng)用實踐。

END
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
健康知識圖譜
清華大學(xué)劉知遠(yuǎn):知識指導(dǎo)的自然語言處理
基于圖模型的智能推薦算法學(xué)習(xí)筆記
基于隨機(jī)游走的圖嵌入之快速指南
使用Facebook Pytorch BigGraph從知識圖譜中提取知識
ACL2020 | 基于正交關(guān)系轉(zhuǎn)換與圖上下文建模的知識圖嵌入
更多類似文章 >>
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服