成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

騰訊基于 LLM 的智能數據分析平臺 OlaChat 的落地實踐

人工智能 數據分析
隨著大語言模型(Large Language Models, LLMs)的快速發展,智能分析在商業智能(Business Intelligence, BI)領域的影響日益顯著。本節將探討從傳統 BI 到智能 BI 的過渡過程,分析這一轉型所帶來的新機遇與挑戰。

在當今快速發展的數據分析領域,智能分析平臺正經歷從傳統 BI 到敏捷分析,再到智能分析的轉變。隨著移動互聯網的興起和大語言模型的出現,數據分析變得愈加普及,用戶可以通過自然語言與系統進行互動,獲取所需數據。然而,即使在敏捷分析階段,仍然存在一定的學習成本。大語言模型的引入為數據分析帶來了新的機遇,它不僅提升了語言理解和生成能力,還使得邏輯推理與工具使用變得更加高效。通過對用戶自然語言指令的理解和轉化,智能分析平臺能夠實現更直觀的數據查詢和分析過程,為用戶提供更為便捷的服務。本文將分享騰訊基于 LLM 的智能數據分析平臺 OlaChat 的落地實踐。

一、從傳統 BI 到智能 BI

隨著大語言模型(Large Language Models, LLMs)的快速發展,智能分析在商業智能(Business Intelligence, BI)領域的影響日益顯著。本節將探討從傳統 BI 到智能 BI 的過渡過程,分析這一轉型所帶來的新機遇與挑戰。

圖片

1. 傳統 BI 的局限性

傳統的商業智能體系通常是基于一種自上而下的模式,業務負責人提出需求,開發人員進行數據提取和分析,最終經過一段時間的開發后,將結果反饋給業務方。這種流程不僅效率低下,還存在較大的溝通成本,導致決策的延遲。用戶常常需要等待一周甚至更長的時間,才能獲得所需的數據分析結果。

2. 移動互聯網時代的敏捷分析

隨著移動互聯網的崛起,數據的豐富性和復雜性不斷增加,市場對數據分析的需求也在發生變化。敏捷分析應運而生,它旨在使更多的用戶能夠方便地獲取數據并進行自助分析。通過簡單的拖拽操作,用戶可以輕松進行數據探索。然而,調研顯示,即便是這種簡單的操作,對某些用戶來說依然存在較高的學習成本。比如,用戶在進行環比計算或其他復雜操作時,仍需掌握相關功能的使用方法,存在一定的門檻。

3. 智能 BI 的初步探索

到了 2019 年,智能分析的構想開始萌芽。雖然大語言模型尚未全面普及,但一些在自然語言處理領域表現良好的模型已經出現。這一時期,業界開始關注如何讓更多的用戶能夠輕松進行數據分析,目標是將每個人都轉變為“數據分析師”。智能分析的概念逐步形成,致力于簡化數據分析流程,降低用戶的技術門檻。

現如今,隨著大語言模型的普及,智能BI 迎來了新的發展機遇。大語言模型不僅能夠處理復雜的數據查詢,還能通過自然語言與用戶進行交互,使得數據分析變得更加直觀和人性化。用戶只需用自然語言描述他們的需求,系統便能自動生成相應的分析結果,這大大提高了分析的效率和準確性。

二、LLM 時代智能 BI 的新可能

大語言模型(Large Language Models, LLMs)的發展歷程展現了自然語言處理(Natural Language Processing, NLP)領域的顯著進步。接下來將梳理大語言模型的發展脈絡,并探討其對數據智能分析所帶來的新機遇。

圖片

1. 大語言模型的發展脈絡

(1)初期階段:基于概率的語言模型

自然語言處理的早期階段主要依賴于概率模型,如條件隨機場(Conditional Random Fields, CRF)和馬爾可夫模型。這些模型基于歷史數據,通過詞袋模型(N-gram Model)來計算詞語出現的概率。此時,語言模型的能力相對有限,主要側重于基于歷史詞語的概率預測。

(2)神經網絡時代的崛起

2013 年,谷歌發布了一項具有里程碑意義的方法 word2vec,標志著基于神經網絡的語言模型時代的到來。在這一階段,長短期記憶網絡(Long Short-Term Memory, LSTM)等模型開始得到廣泛應用。神經網絡的引入大大提高了語言模型的性能,增強了其對上下文的理解能力。

(3)Transformer 模型的興起

2017 年,Google 發布了 Transformer 架構,由此在 2018 年前后出現了一系列基于此的模型,如 BERT、GPT1/2 等。相較于之前的模型,BERT 和 GPT1/2 模型的參數量顯著增加,達到千萬、數億規模。這些模型通過在大量語料上進行統一訓練,可以快速適應不同任務,展現出強大的語言理解能力。

(4)當前的萬億參數時代

隨著 GPT-3 和后續版本的推出,語言模型的參數量達到了千億、萬億級別。這使得一個模型能夠同時在多個任務上達到較好的效果,降低了對多個模型的依賴。在這一階段,語言模型在文本生成、理解和邏輯推理等方面的能力都得到了極大的提升。

2. 大語言模型對數據智能分析的影響

大語言模型為數據智能分析帶來了以下四個方面的改進:

  • 語言能力:大語言模型在語言理解和生成方面的能力非常強大。它能夠有效解讀文本和表格數據背后的含義,使得數據分析變得更加直觀、易于理解。通過自然語言交互,用戶可以更輕松地進行數據分析,而不需要深入掌握復雜的工具和技術。
  • 工具使用:大語言模型能夠將用戶的指令轉化為工具調用或代碼生成。例如,用戶可以通過簡單的自然語言請求,生成相應的 API 調用或代碼。這種能力顯著提高了數據分析的效率,降低了技術門檻。
  • 邏輯推理能力:盡管大語言模型的邏輯推理能力相對有限,但它在模式識別、趨勢分析和關聯性發現方面仍然表現出色。這為數據智能分析提供了有力支持,使得用戶能夠從數據中提取有價值的洞察。
  • 學習能力:在早期,訓練一個模型以適應特定任務通常需要大量的數據。然而,得益于大語言模型的“上下文學習”(In-context Learning)能力,用戶不需要進行模型訓練也能在一些任務上取得不錯的效果。即使需要微調,用戶也可以通過較少的數據(僅需幾千條)就能調整模型以滿足特定需求,這種適應性使得大語言模型在各類任務中的應用變得更加靈活。

圖片

基于騰訊PCG 大數據平臺部資產管理平臺“Ola”和數據分析平臺“燈塔”豐富的元數據和用戶行為日志,結合大語言模型的能力,我們構建了 OlaChat 這一智能數據分析平臺。OlaChat 能夠提供高效和智能的數據分析服務,滿足用戶問數、人群洞察、NL2SQL 等需求,有效降低了查數、取數、用數的門檻。

接下來將詳細介紹 OlaChat 平臺落地實踐。

三、騰訊 OlaChat 智能 BI 平臺落地實踐

OlaChat 智能數據分析平臺主要目標是通過自然語言交互,為用戶提供流暢的數據分析體驗。系統的核心模塊包括多任務對話系統、任務編排引擎、眾多的 AI 工具以及底層的公共服務能力。以下是 OlaChat 的關鍵功能與技術架構的深入解析。

1. OlaChat 關鍵能力

圖片

  • 多輪對話系統:用戶與 OlaChat 交互的第一入口是一個多任務對話系統,類似于智能助手,用戶通過自然語言與系統進行交互,系統需要具備理解用戶意圖并執行相關任務的能力。
  • 任務編排與執行:系統理解用戶意圖后,規劃出執行任務所需的步驟,并按順序調用相關工具和數據。
  • AI+BI 工具箱:包括 Query 改寫、text2SQL、指標分析等工具,這些工具通過不同的組合可以實現不同的能力,從而解決不同的任務。
  • 公共服務:底層由一些公共服務來支撐相關能力,主要包括三個部分:
    統一 LLM 調度(包括騰訊的混元模型,以及其他一些微調過的模型),系統建立了統一的模型調度機制,根據不同任務自動選擇合適的語言模型,并進行負載均衡和模型加速,針對不同模型輸入輸出的格式差異,系統通過公共服務屏蔽這些差異,提供一致的交互接口。
    知識檢索增強:提供了檢索元數據的功能。
    標注系統:在數據分析過程中需要處理大量與特定領域相關的數據,因此引入了標注系統,可以對自定義數據和指標進行標注,用于增強大語言模型的領域理解能力。

接下來將具體介紹其中一些能力。

2. 多任務對話系統

圖片

多任務對話系統提供的基礎功能為拒絕/澄清,以及引導/推薦。

系統具備的關鍵能力包括:

  • 上下文理解:持續跟蹤上下文,基于用戶的歷史對話,準確理解用戶的需求,補充缺失信息。
  • 意圖識別:基于上下文理解,進行意圖識別,將用戶需求傳到對應的 Agent。
  • 自然語言理解模塊(NLU):將用戶文本消息轉化為可以被機器理解的語義標簽。
  • 對話狀態跟蹤模塊(DST):在對話中的每一輪基于對話歷史維護最新的對話狀態,通常表示為一組槽位-槽值對。
  • 對話策略模塊(DPL):基于當前的對話狀態,決定對話系統的下一步動作。
  • 自然語言生成模塊(NLG):將對話策略模塊決定的系統對話行為轉換為人類語音,回復給用戶。

3. 元數據檢索增強

在數據分析中,元數據的檢索是一個關鍵步驟,尤其當數據呈現結構化形式時,傳統的基于非結構化自然語言的檢索方法無法完全適用。騰訊的智能分析平臺通過增強元數據檢索能力,解決了結構化數據中的多層次、復雜性問題,為用戶提供更精準的分析支持。

圖片

結構化數據,比如表和指標,每個表有表名、字段,指標下有維度(如年齡、性別等),這些數據有層次性和明確的結構。這種層次結構不同于非結構化文本,不能簡單地通過自然語言的檢索增強方法來處理。傳統的自然語言檢索主要基于 embedding(嵌入向量)技術,將文本分塊后,通過相似度匹配來檢索相關信息。然而,結構化數據并不遵循自然語言的邏輯,導致傳統方法難以直接應用。

通用RAG 在解決元數據檢索增強任務時存在一定的不適用性,主要因為:

  • 元數據是按特定的結構、層次組織的。
  • 指標、字段、維度的組合沒有固定的前后順序或自然語言中的常見規律。如自然語言中“中國的首都是“,后面跟著的大概率會是“北京”,然而元數據并不符合語言模型的基本假設。
  • 特定修飾詞很重要,某些特定的字段或維度往往具有關鍵性意義,比如“有效播放次數”和“付費播放次數”表示的是截然不同的指標,這種差異無法通過傳統的檢索方式精確捕捉。
  • 字段名可以很短,這就要求檢索方法能準確地捕獲用戶問題中的關鍵信息。

圖片

我們有兩種方案,分別從兩個角度來解決元數據檢索增強的問題。

第一種方案是 FlattenedRAG,在已有元數據基礎上進行組合,將結構化的元數據變為非結構化的自然語言,當接收到用戶問題后,進行檢索、排序,找到與知識庫中一致的數據。

第二種方案是 StructuredRAG,充分利用好元數據的結構化信息,優先檢索出最核心的元素,再圍繞這些核心元素進行二次檢索,找到所需的數據。

圖片

FlattenedRAG 的具體流程如下:

元數據打平:將數據表、字段、指標等信息組合成類似于問答式的自然語言。例如,指標為“活躍用戶數”、維度為“男性”的查詢組合可能會被打平為:“騰訊視頻男性活躍用戶數有多少?”。

基于知識庫進行檢索:當用戶提出問題后,系統會從打平后的知識庫中進行檢索,找出與用戶問題相似的文本。

排序和匹配:系統通過預訓練的分類模型對檢索結果進行排序,最終選擇出最相關的答案返回給用戶。

這種方法的核心在于將結構化信息轉化為非結構化文本,從而使得傳統的自然語言檢索技術可以直接應用。

圖片

StructuredRAG 的主要流程如下:

核心元素的檢索:當用戶提出問題時,系統首先會利用結構化信息的層次性,優先檢索出最重要的元素,如指標、維度等。例如,在用戶詢問“騰訊視頻的男性活躍用戶有多少”時,系統會首先確定“活躍用戶數”這個關鍵指標。

圍繞核心元素的進一步檢索:在找到核心元素后,系統會進行二次檢索,匹配用戶的問題和核心元素的其他相關信息,比如在上面的例子中會二次檢索和“男性”相似的多個維度。

返回結果:系統根據核心元素的檢索結果,再結合進一步的二次搜索,最后經過一次排序之后給出最符合用戶問題的答案。

兩種方法各有優缺點:

  • 打平方法:通過將結構化數據打平為非結構化文本,簡化了復雜的數據結構,方便了自然語言處理的應用。此方法的優勢在于能夠直接利用已有的自然語言檢索技術,操作簡便,但是如果指標和維度的數量非常多時該方法可能會面臨組合爆炸的問題。
  • 結構化方法:充分利用了元數據的層次結構信息,能夠在保持數據層次關系的同時提高檢索的準確性。此方法在處理非常復雜且層次分明的數據時更加有效,尤其是包含多個維度的長尾問題。

在實際應用中,這兩種方案各有其適用場景。例如,當指標和維度的數量相對有限時,打平方法可能更為高效;而在指標和維度組合較多的場景下,結構化方法則能夠提供更自由的檢索方式。這兩種方案的結合,使得系統能夠在不同場景下靈活應對用戶提出的各種數據分析需求。

圖片

在泛數據分析架構中,底層是指標、庫表等元數據,以及畫像和歷史問答集;這些數據進入標注系統后,會經過各種標注處理;之后是各種檢索,包括關鍵詞檢索、語義檢索等;檢索后進行知識精簡,繼而為上層的指標分析、人群圈選等各種應用提供支持。知識精簡和知識檢索就是由前面介紹的元數據 RAG 實現的。

4. Text2SQL

Text2SQL 真實業務場景下存在著諸多問題:

  • 首先,數據隱私與安全始終是不可逾越的紅線。例如,一些知名模型在使用協議中規定,企業如果月活躍用戶數超過一定數量,就必須申請使用權限。這對于騰訊等大企業而言,意味著許多閉源和開源模型都不可用,因此必須開發自有模型以滿足業務需求。
  • 盡管大型語言模型在技術上表現強大,但在業務理解方面卻存在顯著不足。許多企業的數據質量較低且結構混亂,模型很難準確理解。此外,模型常常缺乏領域知識,可能會產生“幻覺”。
  • 另外,模型的穩定性和準確率也存在不足。真實情況下用戶問法非常個性化,現有方案的抗噪聲能力不足(BIRD~70%),導致穩定性和準確率較差。
  • 企業在實際應用中常常難以獲取到高質量數據,尤其是冷啟動階段,高質量的 query 到 SQL 的數據非常匱乏。

基于上述問題,我們最終采取了微調大模型+Agent 的方案來實現 Text2SQL。

圖片

高質量的數據對于訓練高效的模型至關重要。然而,開源數據集大多面向英文場景,即使翻譯成中文,結構也較為簡單,通常為單表,字段在 10 個以下,而實際業務場景中可能有上百個字段。這使得大型模型在處理這些數據時容易產生誤解或無法準確解讀業務中的復雜邏輯。此外,開源數據集在操作符的使用上也比較有限,常用的操作符較少,這進一步降低了模型在復雜任務上的表現。

圖片

在我們內部,已經建立了一套數據生成的邏輯流程。該流程主要包括以下幾個步驟:

數據收集與脫敏:首先,我們會基于收集到的騰訊內部數據,進行必要的脫敏處理,以確保用戶隱私和數據安全。

隨機選取數據:在經過脫敏處理后,我們會從數據集中隨機選擇一些樣本,并將這些樣本拼接成類似的提示(prompt),然后輸入到大型模型中。

數據增強:利用這些樣本,我們會使用數據增強的方法,讓模型基于已有樣本生成新的樣本,通過這種循環不斷豐富數據集。

在數據增強過程中,有兩個關鍵點需要特別關注,即準確性和多樣性。

  • 準確性:我們必須確保大型模型生成的 SQL 是準確的。如果模型生成的 SQL 錯誤并被加入訓練集,就會導致模型性能下降。因此,我們設計了一套代碼邏輯來檢查生成的 SQL 是否正確,首先這個 SQL 要能夠執行,并且與用戶輸入的查詢語義相匹配,為此我們使用一個專門的模型來驗證生成查詢的語義正確性。
  • 多樣性:我們還需要確保數據的多樣性,避免模型生成大量相似的數據。為此,我們采用了一些相似性檢測的方法,剔除過于相似的樣本。此外,我們會對生成的數據進行分類,確保各類別之間的平衡。如果某個類別的數據過多,我們會減少該類別的生成;而對于數據較少的類別,則會重點生成更多樣本,以提升數據集的整體準確性和多樣性。

在數據生成過程中,我們將樣本劃分為不同的難度等級,包括簡單(easy)、中等(medium)、困難(hard)和特別困難(extra hard)。我們發現,開源數據集在困難和極度困難的數據生成上分布不均。因此,我們特別重點生成這些困難類型的數據,以彌補開源數據集的不足。

圖片

經過這樣的數據增強與補充后,我們對模型的表現進行了評估。在真實的業務數據集上,模型的準確率通常較低,例如,GPT-4 的準確率為 32%,而我們自己的模型可以達到 52%。除此之外,我們訓練的模型還能實現對復雜問法、復雜 Schema 和復雜計算邏輯的支持,具有較好的穩定性。

圖片

我們還發現,單獨使用一個模型很難達到理想效果,原因如下:

  • 數據集覆蓋不全:業務中的各種查詢可能非常復雜,而我們很難覆蓋所有同學所編寫的查詢樣本。
  • 語言多樣性與歧義:用戶的語言表達多種多樣,可能存在歧義和同義詞,使得生成的查詢難以滿足所有需求。
  • 噪音與信息干擾:在數據集中,存在一些噪音數據,這些信息會干擾模型的訓練效果。

在我們的系統中,除了依賴于大型模型外,我們還開發了一套智能體流程,旨在輔助大模型生成更高質量的 SQL。這個智能體的流程能夠針對大模型在理解力、穩定性和準確率等方面的不足,實施相應的策略,以解決這些問題。

  • 減少冗余信息,引入輔助信息

我們認識到,將一張表的全部字段都傳遞給大型模型以供其理解并不現實。為了提高模型的準確性,我們會首先進行字段的精選,過濾掉冗余字段,留下更相關的字段,從而使得模型在理解時更加集中和高效。

  • 適當融入傳統模型/策略

用戶的問題表述往往較為隨意,為了提升準確性,我們可以通過模型對用戶輸入的問題進行規范化處理,并加入一些 fewshot 檢索,從而提高模型的理解能力和生成準確性。

  • 對模型結果進行后驗優化

生成的 SQL 可能并不總是能正確執行,我們設計了一個后續糾錯機制,利用大模型對生成的 SQL 進行審核,并進行必要的修改,同時可以進一步提升準確性。

圖片

我們將上述思想整合成了一篇論文,探討了如何通過信息精簡、分類處理、針對性生成和自我糾錯的過程來提升模型性能。在生成過程中,對不同復雜程度的查詢采取不同處理方式,簡單的查詢與復雜的查詢應有不同的生成策略。在生成時設定特定條件,確保生成查詢符合執行要求。同時,實施自我糾錯機制,讓模型對自己生成的查詢進行反思與調整。此外,我們還實施了主動學習(active learning)的策略,針對常見問題進行重點提示。通過讓模型專注于規范化問題,進一步提高模型的準確性。這一過程將智能體與大型模型相結合,提升整體的準確率。

5. Text2SQL 之外

圖片

在進行智能分析時,用戶的需求不僅限于 text2SQL,還會有改寫、糾錯、優化、解讀、問答、補齊等多種需求。為了滿足用戶多元化的需求,我們在系統中構建了多個智能體,旨在輔助用戶進行數據智能分析,提升效率。

圖片

上圖展示了 OlaChat 的整體架構,自下而上包括底層服務、中間公共服務、Agent、統一后端、統一前端,以及所支持的各種應用。不同模塊相互配合,實現整個平臺的統一體驗,提升用戶在數據分析過程中的效率與效果。

四、問答環節

Q1:取數時使用了多大的模型?

A1:取數模型為 8B,相對較小,適合快速判斷用戶的查詢。

NL2SQL 采用的是 70B 的模型進行微調。

Q2:如何保證歸因的準確率?

A2:歸因的準確率依賴于歸因工具。雖然大模型推理能力強,但要結合外部數據提高準確率。所以我們的做法為,基于歸因工具拿到數據后,大模型負責在中間串聯,做一些語言上的整理歸納,呈現給用戶。

Q3:SQL 糾錯和 SQL 解讀是否用了大模型?

A3:SQL 糾錯和解讀是用大模型實現的,但僅用大模型的話準確率較低,因此需引入更多信息來優化。比如可以加入 SQL 中用到的表的元數據,也可以將執行中的報錯信息加入進去。所以不能光用大模型,而是要根據具體場景加入更多信息。

Q4:直接生成 SQL 語句是否過于復雜?

A4:直接生成 SQL 語句與基于語義層的簡化方法各有優勢,前者靈活性高,后者適合對不熟悉 SQL 的用戶提供了有效的提效方案。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2019-06-19 16:01:14

Spark數據分析SparkSQL

2018-06-15 20:44:40

Hadoop數據分析數據

2015-10-12 17:40:12

數據分析實踐

2022-03-01 16:26:09

鏈路監控日志監控分布式系統

2015-07-01 13:51:12

HadoopMapReduce數據分析

2017-07-22 00:41:27

大數據數據存儲

2023-09-11 07:40:53

2024-12-11 08:28:15

2024-11-25 08:50:24

2019-07-24 09:31:28

2024-09-28 10:38:14

數據分析數據驅動

2024-01-15 07:36:46

AI系統監控系統

2013-10-11 10:10:18

惠普HP HAVEn

2022-12-02 11:40:00

數據分析成果

2020-10-21 10:51:43

數據分析

2017-11-17 04:56:37

智能網卡Smart NICSDN

2023-09-13 07:19:46

數據開發平臺治理平臺

2023-06-28 07:28:36

湖倉騰訊架構

2023-02-20 13:45:31

數據分析騰訊 Alluxio

2011-08-12 11:14:42

大數據數據分析平臺架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费观看一级黄色录像 | 福利视频一二区 | 国产精品激情 | 成人欧美一区二区三区黑人孕妇 | 色综合视频在线 | 日韩美女爱爱 | 一级免费毛片 | 国产精品一区二区在线播放 | 免费播放一级片 | 国产一区二区观看 | 亚洲人成人一区二区在线观看 | 国产精品嫩草影院精东 | 日韩久久久久久久久久久 | 特黄视频 | 欧美精三区欧美精三区 | 中文字幕在线免费观看 | 久久99久久99精品免视看婷婷 | 亚洲视频欧美视频 | 一级免费黄色 | 久久中文字幕av | 国产999精品久久久久久绿帽 | 精品国产乱码久久久久久牛牛 | 一区二区三区视频在线观看 | 一a一片一级一片啪啪 | av手机免费在线观看 | 国产乱码精品1区2区3区 | 午夜电影网 | 性做久久久久久免费观看欧美 | 一区二区国产精品 | 老子午夜影院 | 精品久久中文字幕 | 91久久电影| xx视频在线 | www.99热这里只有精品 | 日韩欧美二区 | 日韩在线不卡 | 全免费a级毛片免费看视频免费下 | 国产精品不卡 | 国产福利91精品一区二区三区 | 成人国产精品免费观看 | 久久久精彩视频 |