源1.0预训练语言模型使用示例

1 前言

源1.0预训练语言模型(简称源1.0)是浪潮人工智能研究院发布的人工智能巨量模型,单体模型参数量达到2457亿,成为全球最大规模的中文语料AI巨量模型。作为通用NLP预训练模型,源1.0能够适应多种类的AI任务需求,降低针对不同应用场景的语言模型适配难度,并提升小样本学习与零样本学习场景的模型泛化应用能力。调用源1.0API接口,使用源1.0的推理能力,可以支持下游几十个不同应用场景的任务。调用源1.0API接口有两种方式,可以直接使用代码调用,也可以使用源提供的图形化工具APIExp进行调用。两种调用方式的原理一致,以下示例内容基于APIExp进行展示。

2 环境约束

2.1 应用平台

服务端: 源开放平台

客户端:两者任选其一

  • 用户电脑端,常规浏览器
  • 用户电脑端,python集成开发环境

2.2 测试工具

测试工具 版本 适用测试内容
常规浏览器 无要求 APIExp图形化工具
Python集成开发环境 3.0以上 代码测试

2.3 测试环境构建

2.3.1 试用权限准备

用户注册。在源平台(https://air.inspur.com ) 首页,点击右上角注册,填写基本信息,注册为用户。

用户提交API申请。点击首页上部左侧的API申请按钮,填写申请的基本信息进行提交,就完成了API免费使用的申请。

获得授权。等待后台审核人员审核完成之后,就可以开始后续API试用了。

2.3.2 软件环境准备

“源1.0”项目尽可能采用了目前python API调用所需的主流依赖库,如果您之前有过相关开发经验,将不需要进行额外安装,如果您的电脑和python环境处于初始化状态,可以采用如下命令安装或确认相关依赖:

pip install requests hashlib json

完成安装后在您的硬盘上任意位置,用如下命令将GitHub上的代码fork下来即可。

git clone https://github.com/Shawn-Inspur/Yuan-1.0.git

需要注意的是,GitHub上下载的代码包含了三个部分,src中是模型训练的代码,sandbox中是web示例开发使用的沙箱代码,需要额外安装yarn,yuan_api中是采用API进行推理的示例代码和工具。

2.3.3 使用APIExp

2.3.4 模型选择

目前源模型API推理服务上线了3款预训练语言模型,参数规模都是百亿级别,分别是基础模型和两款领域模型(对话模型和翻译模型)。基础模型是通用的语言模型,具有较强的综合能力, 对话模型和翻译模型有着更为专业的领域知识。您可以根据自行设定的场景,选择不同引擎多次调试,筛选最佳适用引擎。

图1 模型选择

2.3.5 超参数配置

目前API提供的默认超参数是源算法工程师多次测试后优选的一组超参数,您可以选择源1.0预训练模型团队提供的默认参数,无需任何改动。当然,您也可以调整这些超参数,来探究更好的模型使用效果。

2.3.5.1 超参数说明

目前超参数一共有7个,详细说明如下表。

参数名 参数作用 取值范围
最大返回长度 模型推理返回结果的最大token序列长度。该参数设置越大,模型生成答案耗时越长。设置过短可能影响生成结果的完整性。token可能是一个字、词或者标点。 [1-200]
temperature temperature值越大,模型的创造性越强,但生成效果不稳定。temperature值越小,模型的稳定性越强,生成效果稳定。 (0-1]
topP 生成token的概率累加,从最大概率的token往下开始取,当取到累加值大于等于topP时停止。当topP为0时,该参数不起作用。 [0-1]
topK 挑选概率最高的 k 个token作为候选集。若k值为1,则答案唯一。当topK为0时,该参数不起作用。 [0-200]
输入前缀 输入文字的开头符号,如“问题是:” [0-8]个字符
输出前缀 输出文字的开头符号,如“答案是:” [0-8]个字符
输出停止符 模型输出的停止符。生成文本遇到该字符停止,截断输出。如设定为“。”,则模型生成的文本结果从第一个“。”进行截断。 [0,32]个字符组成的字符串

2.3.5.2 超参数推荐值

以下为不同引擎的推荐值,不同场景下,用户对输出的创造性和稳定性需求不同,还需自行进行调整。

参数名 “基础模型”推荐值 “对话模型”推荐值 “翻译模型”推荐值
最大返回长度 50 50 50
temperature 1.0 1.0 1.0
topP 0.8 0.7 0.8
topK 5 5 5
输入前缀
输出前缀
输出停止符

2.3.6 输入示例

源1.0模型是语言模型,输入一段文本,模型就会输出一段文本。在输入区进行文本输入,输入完成点击【提交】按钮,就将输入区的文本提交给了源模型,耐心等待输出即可。

源1.0预训练语言模型是支持zero-shot和few-shot使用的,zero-shot和few-shot的意思是给模型一些“例子”作为先验知识,zero-shot是指不给任何例子,few-shot是指给出一些例子。

2.3.6.1 zero-shot使用

在输入区进行文本输入,输入完成点击【提交】按钮,就将输入区的文本提交给了源模型,耐心等待输出即可。例如,输入:用“首屈一指”这个词造句吧。

图2 Zero-shot使用输入

点击提交后,返回结果为:“我是首屈一指的!”

图3 Zero-shot使用输出

2.3.6.2 few-shot使用

在zero-shot无法达到预期效果的情况下,可以先给出几个例子。

例如:以“故园”为题作一首诗:

模型给出的结果看起来是在续写文章,而不是一首诗。

图4 Zero-shot使用效果

这是因为预训练语言模型是一种通用模型,当使用在特定任务

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值