本篇文章致力于帮助大家理解和使用ChatGPT(现在CSDN改成”C知道“了)。
简介
ChatGPT是OpenAI公司开发的一种大型语言模型。它是一种基于Transformer架构的深度学习模型,可以对语言进行建模和生成。它可以处理问答、对话生成、文本生成等多种任务。它诞生于2018年,并在随后的几年里不断改进和提高。
OpenAI是一家人工智能研究实验室,由for-profit子公司OpenAI LP和非营利性母公司OpenAI Inc.组成。它于2015年12月由Elon Musk, Sam Altman, Greg Brockman, Ilya Sutskever, Wojciech Zaremba和John Schulman 成立,旨在以整体造福人类的方式推广和发展友好AI。公司在人工智能的多个领域进行研究,包括机器学习,深度学习和强化学习。
该段资料来源于开放人工智能 (openai.com)
局限性
ChatGPT 有时会写出听起来似是而非但不正确或荒谬的答案。解决此问题具有挑战性,因为:(1) 在 RL 培训期间,目前没有事实来源;(2)训练模型更加谨慎,导致它拒绝可以正确回答的问题;(3)监督训练误导了模型,因为理想的答案取决于模型知道什么,而不是人类演示者知道什么。
ChatGPT 对调整输入措辞或多次尝试相同的提示很敏感。例如,给定一个问题的措辞,模型可以声称不知道答案,但稍微改写一下,就可以正确回答。
该模型通常过于冗长,并且过度使用某些短语,例如重申它是由OpenAI训练的语言模型。这些问题源于训练数据中的偏差(培训师更喜欢看起来更全面的更长的答案)和众所周知的过度优化问题。12
理想情况下,当用户提供不明确的查询时,模型会提出澄清问题。相反,我们目前的模型通常会猜测用户的意图。
虽然我们努力使模型拒绝不适当的请求,但它有时会响应有害指令或表现出有偏见的行为。我们正在使用审核 API 来警告或阻止某些类型的不安全内容,但我们希望它目前会出现一些漏报和误报。我们渴望收集用户反馈,以帮助我们正在进行的改进此系统的工作。
该段资料来源于开放人工智能 (openai.com)
入口
讲了那么多我们如何使用或者说在哪里使用呢?难道除了科学上网就没有别的方法了吗?
其实我们只要在移动端打开CSDN这款APP(目前在PC端上还不清楚如何使用,可以期待一下后序更新)。如果没有发现下图的入口可以尝试下载最新的APP版本。
点进入口我们会发现这样的界面。
解读
我们简单点来说就是只要使用英文或者中文就能够跟其交流。看到这里我们可能会有些疑问这跟搜索引擎有什么区别呢?
使用
理论知识
比如我们问一些跟编程有关的问题。
我们可以发现ChatGPT对理论知识的回答还是比较全面的,这对初学者是比较友好的,但是我们也可以发现这个问题它回答的不够深,在一个比较浅的层次,对老司机就不够友好了。
代码
我们试着让它给我们输入一个菱形。
代码如下:
public class HollowDiamond
{
public static void main(String[] args)
{
int size = 5;
for (int i = 0; i < size; i++)
{
for (int j = 0; j < size - i - 1; j++)
{
System.out.print(" ");
}
for (int j = 0; j < 2 * i + 1; j++)
{
if (i == 0 || i == size - 1 || j == 0 || j == 2 * i)
{
System.out.print("*");
}
else
{
System.out.print(" ");
}
}
System.out.println();
}
}
}
我们看到它输出的代码格式还是比较乱的,但是好在运行结果没什么大问题。
我们再试着让它写个杨辉三角形试试。
#include <stdio.h>
int main(void)
{
int i, j;
int a[10][10];
// 定义二维数组
// 初始化数组,设第一行和第一列的数字都是1
for (i = 0; i < 10; i++)
{
a[i][0] = 1;
a[0][i] = 1;
}
// 计算数组中的其他数字
for (i = 1; i < 10; i++)
{
for (j = 1; j < 10; j++)
{
a[i][j] = a[i-1][j] + a[i-1][j-1];
}
}
// 打印杨辉三角
for (i = 0; i < 10; i++)
{ for (j = 0; j <= i; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
运行结果:
代码解释
我们还可以让它解释代码。
当然还有更多功能等待小伙伴自行挖掘,这里受篇幅限制就不过多展开了。
总结
ChatGPT是目前我觉得非常好用的一款AI语言模型,它能够回答我们我们许多问题,能够快速的让人们了解某个知识点,是一款很实用的AI语言模型,但是他目前为止也有许多的不足,不能够解决复杂的工程问题,回答问题比较浅显。
结合它的优缺点我们可以发现,它在可预见的未来不能够代替程序员来写代码,但是它在未来能够很好的辅助IT人员编程,所以未来对相对低门槛的从业人员还是冲击比较大的,所以努力提升自己才不会被淘汰。
欢迎大家的点赞和收藏,有什么更好的想法可以评论区交流哦!