0
点赞
收藏
分享

微信扫一扫

ChatGPT实现数据集模拟生成,ChatGPT实现密码生成

夕颜合欢落 2023-04-27 阅读 65

数据集模拟生成

之前章节我们已经演示过ChatGPT 如何根据 prompt 编写文章或续写文章,文本生成的作用不仅仅在语文方面有用,本节我们演示另一种场景,利用 ChatGPT 来生成数据。看似作用差不多,其实这是目前开源社区非常常用的大语言模型研究中的一步,学名叫 self-instruction。简单来说,将一些人工编写好的或者挑选好的极少数训练数据,交给 ChatGPT 进行仿写,可以得到多出两三个数量级的新训练数据。这样有助于大语言模型的微调训练。

我们以北京航空航天大学开源的 LogQA 标注数据集(https://github.com/LogQA-dataset/LogQA/blob/main/data/Spark/qa.json.train)中的前十行训练数据为例,让 ChatGPT 来生成更多数据:

得到的 ChatGPT 生成结果如图:

对比原始数据可以发现,ChatGPT 完美的识别除了数据中哪些内容是可以被随机替换的,应该怎么替换,并且保证了在同一行内,相同的的内容,Question、Answer 和 RawLog 中保持一致。

有趣的是:ChatGPT 严格按照示例数据的样式,循环生成。我们给的 prompt 中,分别是 1 个 complate、1 个 kb、2 个 found、1 个 free、1 个 found、2 个 ID、1 个 found、1 个 complete,ChatGPT 生成 30 条也一模一样按照这个顺序循环 3 次。

所以如果要生成更多数据,或者生成均衡数据的,也可以分批分类生成。这里就不重复演示了。如果我们确实希望采用这种方式生成数以万计的训练数据,建议通过 API 方式调用 ChatGPT 服务。本书后续章节会介绍ChatGPT 的接口开通和调用方法,请参阅。

 

密码生成

个人密码强度非常重要,但是靠个人自己编写,总会不由自主的寻找一些有意义的、方便记忆的密码组合。市面上甚至有诸如 1passwd 之类的密码生成和管理器软件,来方便我们按需生成和保管不同网站的密码。

ChatGPT 也可以在这个时候帮我们的忙。为了加强 ChatGPT 生成的密码强度,我们把一些具体规则也通过 prompt 告知 ChatGPT,包括密码长度、数字、大小写、特殊符号的数量等等。

然后尝试输入一次具体期望,看 ChatGPT 给我们的结果会是什么:

很有趣的结果产生了,我们实际数一数,ChatGPT 生成的密码,密码复杂度是:长度= 12,大写= 3,数字= 4,特殊= 3,小写= 2。看起来,ChatGPT 较差的数学水平再次暴露了!

不过,因为密码本身就需要随机性,这种"生成器"自己都测不准的结果,某种程度上来说,不符合我们在之前章节提及的错误会有严重影响的原则,倒也可以正常使用了。

 

举报

相关推荐

0 条评论