以下是关于高效使用 ChatGPT 的一些方法和建议:
此外,ChatGPT 的诞生经历了一系列的研究和改进。OpenAI 团队曾侧重浏览功能,但后来减少了这方面的侧重,将指令型数据和聊天数据混合,创造出既可以处理具体任务又能流畅聊天的模型。GPT-4 完成训练后,特别强调指令遵循能力,但仍存在可靠性问题。指令型模型中的某些任务描述不够清晰,增加了模型执行和数据标注的难度,而 ChatGPT 这类聊天模型则更加直观,能更好地理解和处理潜在局限性,展现出更连贯的特征和更稳定的行为。
在完成第一步的原SQL输入后,GPT已经对需求有了初步的理解,这里我再将真实的业务需求场景以及现在的问题输入给GPT:这一步的作用是帮助GPT更好的理解旧代码背后的真实业务需求,同时结合旧代码运行的问题,让GPT能进一步给出针对性的优化建议,输出更符合需求的代码。这里其实有好几轮的输入输出(可以理解为讨论),不断的强化GPT对真实需求的认知。注:SQL查询代码本身不包含涉密信息,可以放心在ChatGPT中使用[heading3]Step3:根据优化结果不断调试[content]在输入完旧代码、需求和问题之后,GPT模型给出了一些新的代码。我需要不断地根据GPT的结果进行调试和优化,直到生成满足需求的新代码,这一步比较繁琐,但惊喜也是在这一步发现的。按照原SQL的思路,是每天更新近30天的数据,并存储到一个结果表,由于指标很多且数据量大,所以耗时很长,但其实大部分的语句都是反复的读同一个表,资源浪费比较严重。所以在跟GPT反复沟通多次后,GPT提出了3点比较重要的优化建议:每次更新1天而不是30天的数据;不直接统计全量指标数据,而是创建一个中间结果表,将所有非二次计算的数据存储到该表,需要二次计算的指标直接通过该表再查询(例如:中间结果表统计了昨日总数和今日总数,变化值、环比等则通过中间表再进行二次查询统计);利用CASE WHEN合并查询约束条件基本相同的指标,这个方式大大减少了重复读表的次数,也极大的精简了SQL代码内容。前两点是GPT直接提出的,第三点是我从GPT给出的优化代码中发现的,基于这三个核心优化思路,结合我的半吊子SQL水平,花费了半天多的时间将完整的代码优化完成,并分模块在系统中测试了一下,结果完全一致。当然整个过程还是比较繁琐的,包括查资料、报错、纠正GPT、不断补充需求细节等等,需要有一定的耐心。
当时团队一年里的大部分时间里都在做这个项目,但后来我们减少了对浏览功能的侧重,因为模型内部的知识已经非常丰富,浏览功能并不是最吸引人的部分。我们当时把这个产品给朋友和家人用了一段时间,也在考虑要公开发布。GPT-4就是在2022年的8月完成了训练。GPT-4是OpenAI的旗舰项目,特别强调指令遵循能力,因为这些是会被实际部署到生产环境中的模型。这些模型的首次finetune使用了完整的技术栈,并且表现出色,所以大家对它们期望极高。尽管这些模型有时能产生令人惊艳的输出,它们的可靠性还是存在问题,有时会出现明显的错误或hallucination,所以GPT-4还不是最终的进化完成体,不过综合能力已经非常优秀了。在那之后,大家暂时忘记了chat这个分支。我们继续研究,把指令型数据(通常用来训练AI执行特定的任务)和聊天数据(更侧重于模拟人类间自然对话的数据)混合在一起,希望能够结合这两个东西的优点,创造出一个既可以处理具体任务又能流畅聊天的模型。但从结果看来说,显然是chat模型使用起来更简单,它能够更好地了解并处理自己的潜在局限性,这是我在开发过程中最激动的事情之一,因为这说明一些人认为的语言模型的固有缺陷,实际上可以通过一些直接的方法得到解决。指令型模型中的一些任务,比如“complete this text,but in a nice or helpful way(以友好和能有帮助的方式补全这段文本)”本身的描述是不够明确清晰的,这会让模型难以执行,也增加了数据标注者的困难。而chat模型则更加直观,人们对于一个能给我们帮助的bot该具备哪些行为特点有自然的预期,也会让chat模型在理解任务和执行上更简单和准确。因此,这类模型能够展现出更连贯的特征和更稳定的行为。Dwarkesh Pa tel:这是不是说所有人用你开源的fine-tuning API都能训练出一个像ChatGPT这样的模型?
痛点ChatGPT虽然强大,如果每次要在IDE和ChatGPT两个软件中不断切换,拷贝代码有点麻烦。有什么方法可以提效呢?那就直接把ChatGPT装进webstorm吧,右键选中代码。让chatGPT优化、自己找BUG,并且可以在窗口中随时提问,那岂不是很爽。现在好了,强大的插件已经出现了。它就是webstorm插件:[ChatGPT](https://plugins.jetbrains.com/plugin/20603-chatgpt)。Follow Me一步步来:第一步:获取APIKeys请参考文章:[什么是ChatGPT ApiKeys,如何获取,有哪些注意事项?](https://zhuanlan.zhihu.com/p/624998059)第二步:在webstorm中下载chatGPT插件[插件名:ChatGPT](https://plugins.jetbrains.com/plugin/20603-chatgpt)把从openAI开发平台获取到的apikyes设置进插件的配置中。安装后的效果:选中代码,找bug、优化代码、自定义指令。插件底部还有一个对话框可以实时提问。让它再解释、重新生成代码等功能