GithubHelp home page GithubHelp logo

与GPT4效果的对比 about resdsql HOT 6 CLOSED

BOb9527 avatar BOb9527 commented on July 3, 2024
与GPT4效果的对比

from resdsql.

Comments (6)

lihaoyang-ruc avatar lihaoyang-ruc commented on July 3, 2024 6

这是个有意思的话题。

首先,我们团队没有尝试使用GPT4跑这些数据集,因为这是十分昂贵且耗时的。不过目前已经有一些工作在做这件事了,并且取得了不错的效果,你可以参考下这几篇文章:https://arxiv.org/abs/2304.11015https://arxiv.org/pdf/2305.11853.pdfhttps://arxiv.org/pdf/2305.14215.pdf 。从他们展示的结果来看,很难说某一方完全超过了另一方。

小模型的好处是推理速度快,效果稳定,但缺点就是很难泛化到没见过的数据集,也就是说对于新数据集,你大概率需要从头训练一个小模型。与之相反,大模型拥有强大的鲁棒性和泛化性,它是一个多任务学习器,在面对一个新数据集时,我们只需要使用一些few-shot的技巧就可以获得很不错的效果,但大模型目前的缺点也很明显,那就是昂贵的使用成本、缓慢的推理速度、以及高度依赖prompt的设计(大模型依然被困于“如何设计更好的prompt”这个问题)。

因此我的观点是,大小模型各有利弊,根据你的需求选择即可。

from resdsql.

lihaoyang-ruc avatar lihaoyang-ruc commented on July 3, 2024 3

@ManchesterWuer 嗯嗯,不好意思,我没讲清楚。我这里说RESDSQL缺乏泛化性是因为它仅在Spider/Cspider数据集上进行了训练,因此它只能在“类Spider”数据集上表现的不错(Spider-DK、Spider-Syn、Spider-Realistic以及Dr.Spider都是在Spider的基础上做一些改变得到的,所以他们都属于类Spider数据集)。

然而,在实际使用过程中,我们经常会面临实际数据的特征和Spider的数据特征不一致的情况。举个例子, Spider数据集标注的SQL大概只涉及这些关键字: ['SELECT', 'FROM', 'WHERE', 'GROUP', 'ORDER', 'LIMIT', 'INTERSECT', 'UNION', 'EXCEPT', 'JOIN', 'ON', 'AS', 'NOT', 'BETWEEN', 'IN', 'LIKE', 'IS', 'EXISTS', 'MAX', 'MIN', 'COUNT', 'SUM', 'AVG', 'AND', 'OR', 'DESC', 'ASC'],如果你的测试问题需要在SQL中调用CURRENT_DATE,那么RESDSQL是做不到的,因为RESDSQL在训练时没见过CURRENT_DATE。

但是如果你给GPT-4上下文几个使用了CURRENT_DATE的text2sql例子(也就是few-shot),那么我相信GPT-4会通过”上下文学习“(这个能力可能是参数量、Transformer结构、预训练策略带来的,研究LLM上下文学习的papers也有很多,但我没太关注这一块)快速学到CURRENT_DATE的用法,从而生成带有CURRENT_DATE的SQL回答你的测试问题。

from resdsql.

lihaoyang-ruc avatar lihaoyang-ruc commented on July 3, 2024 1

@ManchesterWuer 需要的

from resdsql.

ManchesterWuer avatar ManchesterWuer commented on July 3, 2024

@lihaoyang-ruc 您提到,小模型的缺点是“很难泛化到没见过的数据集,也就是说对于新数据集,你大概率需要从头训练一个小模型”。假如我有一个新的数据集(非spider/cspider),我希望直接做推理,我按照RESD-SQL需要的结构整理好,仍然提供表名、列名等信息,直接做推理,效果一般会比较差?但是您的模型已经在Spider-DK、Spider-Syn、Spider-Realistic都测试过了。所以我有点没搞明白,RESD-SQL的泛化能力到底如何界定?

from resdsql.

ManchesterWuer avatar ManchesterWuer commented on July 3, 2024

@ManchesterWuer 嗯嗯,明白了,您解释的很清楚。

from resdsql.

ManchesterWuer avatar ManchesterWuer commented on July 3, 2024

@lihaoyang-ruc 我还有一个问题,是关于cross-encoder的训练和泛化能力。对于spider数据来说,cross-encoder可以根据英文问句匹配表、字段的英文解释(columns_names);对于Cspider来说,cross-encoder可以根据中文问句匹配表、字段的英文解释(columns_names)。那么,假如我现在有一批数据,自然语言问句是中文,表、字段的解释也是中文。您的模型还能直接在这个数据集上复用吗?是不是需要再训练?

from resdsql.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.