【Star2.0】在ModelScope 平台体验STAR2.0预训练表格模型

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: 近期在耶鲁大学的CoSQL和SParC表格问答榜单上,多轮表格预训练模型STAR取得了双榜单第一的效果,阿里近期打造的Modelscope模型即服务共享平台已接入了STAR模型,笔者在该平台做了尝试,可以轻松调用该模型进行表格问答的预测。

模型描述

STAR 模型是一个多轮表格知识预训练语言模型,可用于解决下游的多轮Text-to-SQ语义解析任务。模型采用基于模板和回译方法生成的合成语料进行预训练。模型采用全小写英文语料进行训练和使用。

本项目的模型是 STAR 基于一个多轮Text-to-SQL数据集 CoSQL 微调后的下游模型,称作 nlp_star_conversational-text-to-sql,可针对不同领域数据库和用户直接进行多轮对话,生成相应的SQL查询语句。用户可以在对话过程中表达自己对数据库模式的查询要求,并在系统的帮助下生成符合要求的SQL查询语句。

STAR采用人工构建的高质量且大规模的多轮Text-to-SQL预训练数据进行预训练,采用统一的单个Transformer架构作为模型底座。 模型采用半监督的方式在多轮Text-to-SQL预训练数据上进行训练,采用3个预训练目标:模式状态追踪建模,对话依赖追踪建模和掩码语言建模,最后以多任务学习的方式进行训练。

在下游任务Text-to-SQL微调的时候,我们直接利用 STAR 作为底座,基于一个大家常用的下游模型 lgesql 进行微调得到。 具体做法就是将 lgesql 的 ELECTRA 底座替换成 STAR, 并修改输入格式,其余保持不变,效果上即可得到显著提升。


ModelScope使用

MdoelScope作为一个Maas平台,有着和Huggingface类似的功能和界面,还提供了在线开发的环境,能够轻松体验和复现SOTA的结果。详细的信息可以查看ModelScope使用简介。可以用以下的两种方法来使用ModelScope:

(1)使用ModelScope提供的远程环境,在Notebook中进行开发

在ModelScope中注册后进入个人中心,在我的Notebook中使用GPU环境打开Notebook

(2)下载modelscope工具包,在本地环境开发:

安装modelscope(python>=3.7):  pip install modelscope -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html(注:如需节省空间,可在modelscop后加入[NLP],只下载自然语言处理相关工具)

STAR模型使用


你可以直接通过一个流水线使用模型用于多轮Text-to-SQL语义解析任务:




from modelscope.models import Model

from modelscope.pipelines import pipeline

from modelscope.preprocessors import ConversationalTextToSqlPreprocessor

from modelscope.utils.constant import Tasks


model_id = 'damo/nlp_star_conversational-text-to-sql'

test_case = {

   "database_id": 'employee_hire_evaluation',

   'local_db_path':None,

   "utterance":[

       "I'd like to see Shop names.",

       "Which of these are hiring?",

       "Which shop is hiring the highest number of employees? | do you want the name of the shop ? | Yes"]

}


model = Model.from_pretrained(model_id)

preprocessor = ConversationalTextToSqlPreprocessor(model_dir=model.model_dir)

pipeline = pipeline(

   task=Tasks.conversational_text_to_sql,

   model=model,

   preprocessor=preprocessor)

last_sql, history = '', []

for item in test_case['utterance']:

   case = {"utterance": item,

           "history": history,

           "last_sql": last_sql,

           "database_id": test_case['database_id'],

           'local_db_path': test_case['local_db_path']}

   results = pipeline(case)

   print(results)

   last_sql = results['text']

   history.append(item)


NOTE:本项目支持用户使用本地自定义的的数据库,请仿照db文件和tables.json文件设置数据库格式,并传入正确的地址'local_db_path'。

对话样例

user utterance (输入)

system response (输出)

I'd like to see Shop names.

SELECT shop.Name FROM shop

Which of these are hiring?

SELECT shop.Name FROM shop JOIN hiring

Which shop is hiring the highest number of employees? | do you want the name of the shop ? | Yes

SELECT shop.Name FROM hiring JOIN shop GROUP BY hiring.Shop_ID ORDER BY COUNT(*) DESC LIMIT 1

最后


就这么简单,只需要几十行代码,我们就在ModelScope上模拟了多轮表格问答的效果,ModelScope的整体使用体验还是挺不错的~

相关文章
|
1月前
|
API 语音技术
ModelScope-FunASR**有支持热词又支持时间戳的模型**。
【2月更文挑战第30天】ModelScope-FunASR**有支持热词又支持时间戳的模型**。
26 2
|
1月前
|
人工智能 API 决策智能
Modelscope结合α-UMi:基于Modelscope的多模型协作Agent
基于单个开源小模型的工具调用Agent,由于模型容量和预训练能力获取的限制,无法在推理和规划、工具调用、回复生成等任务上同时获得比肩大模型等性能。
|
2月前
|
文字识别 并行计算 语音技术
ModelScope问题之下载模型文件报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
206 3
|
1月前
|
人工智能 达摩院 自然语言处理
超好用的开源模型平台,ModelScope阿里达摩院
超好用的开源模型平台,ModelScope阿里达摩院
|
2月前
|
人工智能 自然语言处理 搜索推荐
魔搭ModelScope社区作为一个AI模型开源平台,提供了丰富的模型资源和便捷的服务
【2月更文挑战第9天】魔搭ModelScope社区作为一个AI模型开源平台,提供了丰富的模型资源和便捷的服务
159 3
|
2月前
|
API
使用ModelScope平台进行模型验证时
【2月更文挑战第9天】使用ModelScope平台进行模型验证时
59 4
|
1月前
modelscope-funasr怎么拿验证集评估微调后的模型效果呢
【2月更文挑战第19天】modelscope-funasr怎么拿验证集评估微调后的模型效果呢
25 1
|
2月前
|
并行计算 计算机视觉 异构计算
ModelScope问题之官方模型demo运行时候报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
74 3
|
2月前
|
缓存 自然语言处理 大数据
ModelScope问题之运行模型报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
72 0
|
2月前
|
数据采集 自然语言处理 搜索推荐
ModelScope问题之模型encoder配置报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
76 0