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

DB-GPT-Hub:text2sql的微調框架及基準測試套件 原創

發布于 2024-11-28 16:53
瀏覽
0收藏

text2sql任務是將自然語言問題轉換為SQL查詢。使用大模型來進行 sql 生成的方式也越來越常見。根據大模型用于文本到SQL生成的方式,text2sql可以分為兩種場景:零樣本/少樣本提示和微調。

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

盡管少樣本提示的大模型取得了顯著進展,但僅依靠其參數知識和提示來準確處理高度復雜的SQL查詢對于預訓練的大型語言模型來說仍然是一個巨大的挑戰。DB-GPT-Hub側重于微調更大的大型語言模型。

框架設計

DB-GPT 框架下提出了一個端到端大模型 Text2SQL 微調子框架 DB-GPT-Hub。在 DB-GPT 框架下,構架了 Text2SQL 領域下的數據預處理 - 模型微調 - 模型預測 - 模型驗證 - 模型評估的全鏈路工作流程,如下圖所示:

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

DB-GPT-Hub 的架構流程圖

代碼庫設計

  • 數據集構建:將原始文本到SQL數據加工成適合微調LLM的格式(例如,列表1中顯示的TRF),這包括將模式和數據庫描述整合到提示中作為指令,以及在訓練和評估期間增強性能的各種問題表示。此外,我們還將選擇不同的少樣本策略,例如示例選擇和組織,來構建評估數據集(Gao等人,2023)。
  • 訓練:支持使用PEFT策略對開源LLM進行微調。我們支持從小到大的模型規模的大多數公共架構,例如Qwen、Llama、Baichuan和ChatGLM。
  • 預測:支持對開源LLM的微調版本以及閉源LLM進行SQL查詢推理。我們支持少樣本和零樣本方法,以生成特定場景下的SQL。
  • 評估:包含不同的指標(EX、EM、有效效率得分(VES)),以從不同角度評估生成的SQL的性能。

數據集

Spider是一個大規模跨域數據集,包含10,181個自然語言查詢,5,693個獨特的復雜SQL查詢,涵蓋200個數據庫,覆蓋138個領域。該數據集的標準協議將其分為8,659個訓練樣本和2,147個測試樣本,分布在34個數據庫中。SQL查詢分為四個難度級別,即簡單、中等、困難和超難。如下:

簡單:
      Question: What is the number of cars with more than 4 cylinders?
      SQL:SELECT COUNT (*)FROM cars_dataWHERE cylinders > 4

中等:
      Question: For each stadium, how many concerts are there?
      SQL:SELECT T2.name, COUNT (*) FROM concert AS T1 JOIN stadium AS T2ON T1.stadium_id = T2.stadium_idGROUP BY T1.stadium_id

較難:
      Question: Which countries in Europe have at least 3 car manufacturers?
      SQL:SELECT T1.country name FROM countries AS T1 JOIN continents AS T2 ON T1.continent T2.cont_id JOIN car makers AS T3 O N T1.country_id = T3.country WHERE T2.continent = 'Europe' GROUPBY T1.country_name HAVINGCOUNT (*) >= 3

極難:
      Question: What is the average life expectancy in the countries where English is not the official language?
      SQL:SELECT AVG(life_expectancy) FROM country WHERE name NOT IN ( SELECT T1.name FROM country AS T1 JOIN country_language AS T2 ON T1.code = T2.country_code WHERE T2.language = "English" AND T2.is_official = "T")

其他數據集:

  • WikiSQL: 一個大型的語義解析數據集,由80,654個自然語句表述和24,241張表格的sql標注構成。WikiSQL中每一個問句的查詢范圍僅限于同一張表,不包含排序、分組、子查詢等復雜操作。
  • CHASE: 一個跨領域多輪交互text2sql中文數據集,包含5459個多輪問題組成的列表,一共17940個<query, SQL>二元組,涉及280個不同領域的數據庫。
  • BIRD-SQL:數據集是一個英文的大規模跨領域文本到SQL基準測試,特別關注大型數據庫內容。該數據集包含12,751對文本到SQL數據對和95個數據庫,總大小為33.4GB,跨越37個職業領域。BIRD-SQL數據集通過探索三個額外的挑戰,即處理大規模和混亂的數據庫值、外部知識推理和優化SQL執行效率,縮小了文本到SQL研究與實際應用之間的差距。
  • CoSQL:是一個用于構建跨域對話文本到sql系統的語料庫。它是Spider和SParC任務的對話版本。CoSQL由30k+回合和10k+帶注釋的SQL查詢組成,這些查詢來自Wizard-of-Oz的3k個對話集合,查詢了跨越138個領域的200個復雜數據庫。每個對話都模擬了一個真實的DB查詢場景,其中一個工作人員作為用戶探索數據庫,一個SQL專家使用SQL檢索答案,澄清模棱兩可的問題,或者以其他方式通知。

按照NSQL的處理模板,對數據集做簡單處理,共得到約20w條訓練數據

為了充分利用數據庫中的表和字段等相關信息,對 Spider 中的原始數據進行處理,用自然語言表示數據庫包含的表結構以及表結構包含的字段以及相應的主鍵和外鍵等,經過數據預處理后,可以得到如下的數據格式:

{
    "instruction": "concert_singer(數據庫名) contains tables(表) such as stadium, singer, concert, singer_in_concert. Table stadium has columns(列) such as stadium_id, location, name, capacity, highest, lowest, average. stadium_id is the primary key(主鍵). Table singer has columns such as singer_id, name, country, song_name, song_release_year, age, is_male. singer_id is the primary key. Table concert has columns such as concert_id, concert_name, theme, stadium_id, year. concert_id is the primary key. Table singer_in_concert has columns such as concert_id, singer_id. concert_id is the primary key. The year of concert is the foreign key(外鍵)of location of stadium. The stadium_id of singer_in_concert is the foreign key of name of singer. The singer_id of singer_in_concert is the foreign key of concert_name of concert.",
    "input": "How many singers do we have?",
    "response": "select count(*) from singer"
}

{
    "instruction": "concert_singer(數據庫名)包含表(表),例如stadium, singer, concert, singer_in_concert。表體育場有列(列),如stadium_id、位置、名稱、容量、最高、最低、平均。Stadium_id是主鍵(主鍵)。表singer有這樣的列:singer_id、name、country、song_name、song_release_year、age、is_male。Singer_id為主鍵。表concert有如下列:concert_id、concert_name、theme、stadium_id、year。Concert_id是主鍵。表singer_in_concert有如下列:concert_id, singer_id。Concert_id是主鍵。演唱會年份是場館位置的外鍵(外鍵)。singer_in_concert的stadium_id是歌手名的外鍵。singer_in_concert的singer_id是concert的concert_name的外鍵。",
    "input": "我們有多少歌手?",
    "response": "select count(*) from singer"
}

為了更好的利用大語言模型的理解能力,使用了 prompt dict 以優化輸入,如下所示:

SQL_PROMPT_DICT = {
    "prompt_input": (
        "I want you to act as a SQL terminal in front of an example database. "
        "Below is an instruction that describes a task, Write a response that appropriately completes the request.\n\n"
        "###Instruction:\n{instruction}\n\n###Input:\n{input}\n\n###Response: "
    ),
    "prompt_no_input": (
        "I want you to act as a SQL terminal in front of an example database. "
        "Below is an instruction that describes a task, Write a response that appropriately completes the request.\n\n"
        "###Instruction:\n{instruction}\n\n### Response: "
    ),
}

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

Spider數據集上TRP格式的查詢-響應對

指標:

使用兩個常用的指標,精確集匹配準確率(EM)和執行準確率(EX),來評估所有模型的性能。EM衡量預測SQL查詢與其對應真實值之間的匹配SQL關鍵字,而EX比較預測SQL查詢的執行輸出與某些數據庫實例上真實SQL查詢的執行輸出。由于對于給定問題可能存在多個有效的SQL查詢,EX提供了對模型性能更精確的估計。在這兩種指標中,較高的值被認為更好。主要使用EX來評估論文中SQL的準確性。

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

LLM

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

支持基座模型

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

微調資源

為了確保公平比較,對所有LLM使用相同的最大上下文長度2048。在評估期間,留下512個token用于響應生成。將參數溫度設置為0,以消除隨機性的影響。

實驗

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

DB-GPT-Hub:text2sql的微調框架及基準測試套件-AI.x社區

參考文獻

  • paper:DB-GPT-Hub: Towards Open Benchmarking Text-to-SQL Empowered by Large Language Models,https://arxiv.org/abs/2406.11434
  • code:https://github.com/eosphoros-ai/DB-GPT-Hub
  • text2sql benchmark:https://github.com/eosphoros-ai/Awesome-Text2SQL


本文轉載自公眾號大模型自然語言處理  作者:余俊暉

原文鏈接:??https://mp.weixin.qq.com/s/Llyb77BSTnyzfOIrBMIPFw??

?著作權歸作者所有,如需轉載,請注明出處,否則將追究法律責任
已于2024-11-28 18:46:09修改
收藏
回復
舉報
回復
相關推薦
主站蜘蛛池模板: 一道本视频 | 九九亚洲 | 国产成人福利视频在线观看 | 91麻豆精品国产91久久久久久 | 中文字幕第100页 | 九九热精品视频 | av天空| 久久精品视频在线免费观看 | 国产精品久久久久久久久久久久久久 | 天天干b | 国产精品色一区二区三区 | 在线欧美小视频 | 欧美日产国产成人免费图片 | 一区二区三区四区av | 亚洲精品在线视频 | 久久av一区二区三区 | 九色在线观看 | 日韩欧美在线视频播放 | 成年视频在线观看福利资源 | 在线亚洲一区 | 性网址| 美女张开腿露出尿口 | 欧美精三区欧美精三区 | 国产精品.xx视频.xxtv | 日韩中文在线观看 | 国产麻豆一区二区三区 | 精品自拍视频在线观看 | 日韩一区二区三区视频 | 一区二区三区四区视频 | 国产超碰人人爽人人做人人爱 | 久久久久无码国产精品一区 | 亚洲精品国产成人 | 国产成人精品视频在线观看 | 国产精品久久久久久亚洲调教 | 国产精品成人一区二区三区夜夜夜 | 国产精品国产精品 | 日韩三级免费观看 | 久久久久国产一区二区三区 | 91精品久久久久久久 | 一区二区在线不卡 | 免费亚洲一区二区 |