GPT

您所在的位置:网站首页 奥德赛调整中文 GPT

GPT

2023-04-21 11:35| 来源: 网络整理| 查看: 265

前段时间听说chatGPT封号问题严重,于是我好一段时间没敢上号。在这段期间体验到了1个国内的商业产品:ZelinAI,一个不会写代码的小白也能上手构建属于自己的AI助手应用。主要是还算稳定不需要用魔法,于是最近都在用它体验AI的魅力。

我对AI没啥研究,所以这里只是做些把玩过程的体验分享。

目前产品只能创建基于GPT-3.5-turbo的模型应用。比起官方的纯聊天页面应用ChatGPT,它暴露出了更多的可配置项参数。

初看一堆参数设置让人发懵,好在参数边上有简单的说明提示,使得初次捣鼓也不算费劲。但我想更多了解这些参数的含义,于是直接向TA发出了提问。

参数上我就设置了Role,并将Top_p从1改为了0。

初看TA的回答,条理清晰,资料源都来自OpenAI自己的技术文档。前几个提供的链接锚点都能指向对应的参数说明,但看到最下面几个发现就不对咧 ,例如Role、Output format、Keep context。打开后根本没对应的属性说明……我怀疑TA是根据上面参数的链接格式再推断生成出了后面的地址……

我主观理解,ZelinAI因为后续还会接入其他模型,所以它提供的参数项可能不完全与openAI的参数都一一对应,下面几个可能是通用性/兼容性的参数设置,ZelinAI读入后可能会额外再加工处理。像是Role、Output format这种参数,我觉得也算是prompt里的一部分了。

prompt编写技巧-CRISPE模板

编写prompt提示的一个技巧是可以参考使用人家总结的CRISPE模板格式:

Capacity and Role: 让GPT扮演一个角色。对应参数Role;Insight: 提供问题的背景信息/上下文Statement: 让GPT做的事情Personality: 要用哪种方式或者模仿谁的语气来回答答案,或者告诉TA不要做什么。我觉得就是对应参数Output_format;Experiment: 让GPT说出多个例子;

5个部分不是都必须要有,编写prompt时可以按需填充。

那有哪些能参考的例子呢?我找到了英文的例子合集和中文例子合集(中文版的有夹带私货。人家这仓库去年12月就建了……emmm,早早的发现了商机)。

既然认为ZelinAI上的参数不都是对应GPT的,那我就再换个问法,prompt里 不再强调GPT了,参数Top_p还是0。

然后TA给出了好几个重复链接,其实就俩,都来自抱抱脸(AI开源社区)……

第一个链接是讲什么 如何基于Transformers用不同解码方式生成文本……没仔细看(OS:看不懂)。文章结论先是说,Top-p、Top-K采样在开放式语言生成中能产生更流畅的文本,然后又说在某些情况下beam search比Top-p的更流畅。最终结论是没有哪个方法能一招吃遍天下……

第二个链接直接给了我Transformers的预训练配置的参数文档。

……行吧。感觉输出的completion和预期的效果还是有点差异,从2个链接里都没找全所有参数的详细来源,也可能还是prompt给的不好吧……

所以最终参数我还是没吃透,即使在后面尝试建“回怼”小助手的时候,控制变量法改了很多参数,最终效果还是有点玄学。例如temperature和top_p都是控制文本丰富度,但官方文档说不要同时修改temperature和top_p参数的默认值,那同时改了会怎样…emmm…好奇又茫然,我觉得调这个真的好玄学。

我就其中几个比较简单的参数做个相对粗浅的介绍:

tokens

AI模型中字符的最小单位。使用gpt api时会按照token数收费,问、答都会消耗token数。不同模型能支持的最大token数不同,gpt-3.5系列的都为4096个tokens,gpt-4系列的有8192、32768两种。训练的数据都是截止到2021年9月。

中英文和token的映射不是一一对应的,一个中文字可能对应1~3个token。用这个在线工具能查看gpt-3模型中字符和token的转换关系。

中文的逗号居然得占仨……

如何计算字符对应的token数呢,不同的模型使用的编码库不同:

| Encoding name | OpenAI models | |-------------------------|-----------------------------------------------------| | `cl100k_base` | `gpt-4`, `gpt-3.5-turbo`, `text-embedding-ada-002` | | `p50k_base` | Codex models, `text-davinci-002`, `text-davinci-003`| | `r50k_base` (or `gpt2`) | GPT-3 models like `davinci` |

我尝试着让TA解释下gpt-3使用的编码是如何做token转换的,以及要求TA做一个转换示例,

结果询问了多次后,它愣是没给出正确的token id数组,(OS:难道又是我prompt技巧不对?)对于r50k_base的介绍内容还算是靠谱的。

在GPT-3-Encoder库中的encoder.json映射关系文件里,是能检索到shadowMike刚好对应了词表数据里的2个单词映射,所以映射后最终token ids为[19106, 16073]。

……

[WIP]

……

关于ZelinAI这款国内商业产品再简单介绍下,也可以看它公众号上发布的这篇介绍。

它是培训考试平台——考考家的一款AI整合产品。目前暂时只支持gpt-3.5-turbo模型,后续可能会支持其他的。

使用Pro版可以对不同参数进行设置调优来创建更适用于自己的模型。

要明确的是,它目前是款付费产品。因为收费,所以它现在保持着功能的快速持续迭代以及服务在国内的稳定可用性。目前我自己用下来觉得还不错。

如果你能接受这款付费产品的话,那我很推荐通过加入星球社群的方式来获取ZelinAI产品的1年期免费使用权,这也比目前直接在应用页面上购买便宜。

星球邀请链接:https://t.zsxq.com/0ds4UPkDz

关于星球社群,简单几嘴。星球里目前有不少技术大佬不定时会分享些身边经历的AI动向,也会带大家做AI相关的实践,会帮助大家挖掘在自己领域内的提效方式,甚至也会提供些创业资源的对接。后续还会组织面向有编程经验的同学进行AI应用的开发实践活动……

安利完毕,是否需要大家可以按需选择。

知识付费,要么零次要么无数次。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3