如何利用ChatGPT自动完成6个数据科学领域的任务

ChatGPT编程2年前 (2023)发布 一起用AI
691 0 0

ChatGPT仿佛是Google、StackOverflow和Readthedocs三者的组合体

图片由James A. Molnar在“Unsplash”杂志上提供

或许,你已经听说过ChatGPT了。

这是一款由OpenAI开发的新型人工智能聊天机器人,OpenAI是GPT-3、DALL.E2及其他产品的幕后开发公司。

ChatGPT横空出世,它和以前的聊天机器人完全不同。令人难以置信的是:它能就各种主题生成详细而全面的答案。例如,它可以回答哲学、数学或计算机科学中的技术问题、可以和ChatGPT闲聊、写与机器学习相关的诗,甚至可以改变它的写作风格。

更为有趣的是, ChatGPT可以非常出色地编写和解释代码。

在本博中,将用一些涉及机器学习和软件工程的编程问题来挑战ChatGPT。

作者将要求它编写常用的代码片段和函数,看看它是否能自动完成。

笔者将在交互式GIF中提供ChatGPT对每个问题的答案以及它生成的代码。

来一探究竟吧!

为机器学习模型创建一个FastAPI

当需要搭建机器学习模型时,首选的web框架绝对是FastAPI。然而,当涉及编写基本例程时,往往总会忘记语法。

ChatGPT可以刷新我的记忆:当要求它创建一个预测端点时,它会生成以下内容。

GIF由作者提供

不错吧?它不仅能生成正确的API代码,而且还对代码进行注释,并通过示例进行详细解释。

它甚至使用Pydantic风格来进行输入和输入验证。

下面是代码。当然,可以根据实际用例进行调整。

如何利用ChatGPT自动完成6个数据科学领域的任务

使用Python和弹性搜索创建搜索引擎

当需要利用搜索引擎来查询文本数据时,通常依赖于弹性搜索。

当使用弹性搜索时,首先应创建一个索引和一个映射。

要了解如何定义和创建对象,无需通读文档(再一次强调!),让我们来看看ChatGPT说了些什么:

GIF由作者提供

不出所料,ChatGPT直接生成了文档和示例。

以下是ChatGPT生成的代码:

用PyTorch训练图像分类的卷积神经网络

当需要训练一个神经网络时,通常是从以前的项目中复制粘贴样板代码。

问一下ChatGPT不是更香吗?

如何利用ChatGPT自动完成6个数据科学领域的任务

GIF由作者提供

生成的代码几乎是完美的:出于某种原因,ChatGPT在前向阶段停止了,且没有使用梯度更新权重。

有趣的是,在训练中使用的参数值(学习率、epochs数目、内数目和核大小)都是真实的。

代码:

为NLP任务训练XGBoost模型

接下来,看是否能够要求ChatGPT利用XGBoost构建一个文本分类器,实现文本数据的特征工程。

ChatGPT对此做了下述响应,它使用了一个Tfidf矢量转换器,看上去不错!

如何利用ChatGPT自动完成6个数据科学领域的任务

GIF由作者提供

不知道它是否可以用词嵌入来修改答案

代码:

如何利用ChatGPT自动完成6个数据科学领域的任务

使用MLflow来跟踪机器学习实验

当需要运行不同的机器学习实验并对它们进行比较时,通常会用MLflow在中央服务器中跟踪机器学习实验。

以下是可重复使用多次的代码片段。(衷心感谢,ChatGPT )

如何利用ChatGPT自动完成6个数据科学领域的任务

GIF由作者提供

代码:

编写GitHub操作,以自动部署FastAPI应用程序

如果需要将应用程序投入生产,很可能依赖某些CI/CD管道来自动化部署,或在代码库上运行一套集成测试。

通常使用以下Github动作。

GIF由作者提供

这是ChatGPT对该话题的看法。

代码:

如何利用ChatGPT自动完成6个数据科学领域的任务

结论

ChatGPT提供了卓越的代码生成能力,预计很快会成为开发人员的工具箱。

然而,它无法提供(尚没有)推理或优化复杂问题的解决方案。如果出现了什么问题,不能依赖ChatGPT来修复错误代码。

在我看来,ChatGPT是一种浓缩的开放知识库,可以用自然语言来实现复杂的查询。但这并不意味着可以用它做一些过火的事,也不意味着可以盲目地依赖它。

用最好的判断力来提出正确的问题。

© 版权声明

相关文章