写这篇文章的起因在于我近期经常向Cursor咨询概念问题,得到的答复都比较满意,这次一个小的代码问题翻车了,就想记录下来,结合李宏毅教师最新的机器学习课程,写下了一些个人理解。
一、发现问题:Cursor生成过错代码
我需求对pd.Series
格局的数据进行reshape
,因为最近经常用Cursor(一个基于GPT-3/4的代码辅助工具,近期好像中止了对GPT-4的接入),所以直接咨询了它:
直接复制这段代码并运转,报错了:
报错原因是:AttributeError: 'Series' object has no attribute 'reshape'
。Series
没有reshape
特点,我们知道reshape
其实是numpy
中的办法,所以需求先将Series
转换为array
,再进行reshape
操作,即
reshaped = np.array(s).reshape(2, 3)
二、处理问题:Cursor处理报错问题
尽管它供给了过错代码,可是这个小问题处理起来应该不难,我又接着问了它,怎么处理上面的问题,它给出了能够正常运转的答案和理由:reshape
办法在pandas Series
中不可用,需求先用np.array(s)
将Series
转换为一个NumPy array
。
考虑1:言语模型无法履行代码
无论是GPT-3还是GPT-4,它始终是一个生成式言语模型,输入文本或者图片,均是在完结文字接龙式的作业,输出相应的文本成果。输出的文本能够以代码的方式展示,可是言语模型自身无法履行代码,无法确保生成代码的正确性。要想削减过错,可能需求在模型进行预训练或监督学习时进行优化。(据OpenAI内部评估,GPT-4产生正确回应的可能性要比GPT-3.5高出40%。)
三、发现问题测验:运用ChatGPT测验
尽管Cursor官网之前运用了GPT-3,可是我还是运用ChatGPT重复了上述发现问题的进程。
第一次测验:答复正确
ChatGPT的答复经过s.values
将Series
数据转换为array
格局,运转正常。
第2次测验:答复过错
这个成果又犯了之前Cursor部分所说的过错。
考虑2:ChatGPT的答复存在随机性
关于一般的机器学习/深度学习模型而言,单一的输入会对应固定的输出,但关于需求有”创造力”的任务(例如聊天、绘画),不同的人会期望有不同的答复。将神经网络作为生成器运用,在输入中加入随机的概率散布(噪声),经过神经网络,就能生成杂乱的散布,输出不同的成果。以上就是生成式对立网络(GAN)的生成器部分,判别器和对立部分暂时不触及(个人还在学习中)。
而ChatGPT正是运用了生成式对立网络(GAN),输出的成果具有随机性,能够供给各式各样有具有”创造力”的答复。像前一部分的问题测验,同一问题得到对错两种答案,这可能会形成一定的困扰,或者无法复现本来的答复,这个特点好坏都有。
以下是ChatGPT自己的答复:
在new chat里又问了一次:
四、处理问题测验
第一次测验:处理问题
在发现问题测验得到过错答复后,我又持续说明履行报错了,它的答复是reshape()
办法不支持在Pandas 1.0之后版别的Series上运用,然后给出了与测验正确的答复中相同的正确代码。
第2次测验:处理问题
又询问了一遍,给出了与上面不同的办法to_numpy
处理问题,可是文字描述部分说到的Pandas版别与上面不同。
考虑3:ChatGPT的时效性问题
对比处理问题测验中的两次答复,第一次答复reshape()
办法不支持在Pandas 1.0之后版别的Series上运用,第2次答复在Pandas 1.3.0及今后的版别中Series没有reshape办法。尽管逻辑上Pandas 1.0之后没有与1.3.0之后没有并不能算矛盾,但我还是去Pandas官网找到了Pandas 1.0.5的文档,里边说到了• The Series, Categorical, and Index classes have dropped the reshape method (GH13012)
,说明1.0.5版别就移除reshape
办法了。
编程言语的时效性
关于这个问题,我的主意是,各种编程言语、结构或者第三方库都在不断更新,以我个人最常运用的pandas为例,经常会有FutureWarning
说到当时运用的部分办法会在未来版别被废弃,那么ChatGPT能否规避版别落后导致的过错呢?这个可能需求时间来得到答案。
实在信息的时效性
ChatGPT是不能联网的,也就是说,不能经过网络查找来获取答案,当时的训练数据库的最晚时间只到2021年9月,在遇到触及时间的问题时无法供给答案。考虑到ChatGPT的训练数据量庞大,过于频繁地更新数据库并不实际,时效问题还是需求经过查找引擎获取。
总结
- ChatGPT无法履行代码,不能确保生成的代码完全正确
- ChatGPT的答复存在随机性,这一特别有好有坏
- ChatGPT的数据库不能联网,时效性较差
本文正在参与 人工智能创作者扶持计划