怎样让ChatGPT在其内部训练神经网络?先让它想象自己有4块3090

简介: 怎样让ChatGPT在其内部训练神经网络?先让它想象自己有4块3090


热评:想象自己有四块3090,什么赛博唯心主义?

怎样让ChatGPT在其内部训练神经网络?这个话题有点超乎大多数人的理解。

步骤是这样的:

1. 先让它伪装成 Ubuntu 18.04,给它说你安装了 Python 3.9, Pytorch 1.8, CUDA 11.3 和其他训练一个 pytorch 模型所需要的库。

让 ChatGPT 伪装成 Linux 终端,这个梗在外网有过讨论,这里需要让他额外安装(让它自己认为安装了)Python, Pytorch,CUDA,然后把执行指令和你告诉它的话区别开来,这里用 {} 代表告诉它的话,而不带 {} 统统是 Linux 指令


这里我让它想象自己有四块英伟达 3090 显卡安装了,然后看一下,果然执行 nvidia-smi 可以显示四块显卡


2. 另外让它在当前目录生成一个 train.py 里面填上训练一个 4 层 pytorch 模型所需的定义和训练代码。

这里特地用 {} 偷偷告诉它在当前目录生成一个 train.py,在里面用 Python 和 Pytorch 写一个四层神经网络的定义,然后有加载 MNIST 数据集的 dataloader,除此外还要有相应的训练代码,为了以防万一,告诉它你有成功在 MNIST 上训练这个网络的其它一切能力


这里它告诉我写了一个四层的网络,可以执行 python3 train.py 来看输出,这里先偷偷看一下 train.py

这里是它写好的网络定义


这里是它写好的训练代码

3. 最后让它执行 Python3 train.py 命令

默认让它执行了 10 个 Epoch

它就真的训练起来了,最主要的是告诉它不要显示 train.py 内容,因为 ChatGPT 输出有字数限制

当然告诉它修改训练参数,可以多次训练,还可以用上所有(虚拟)GPU 资源!


ChatGPT 机智的跳过了中间 98 个 Epoch!

,时长00:49

更新:为了搞清楚 ChatGPT 是否真的执行了 model 的 forward,可以在 forward 定义中加上 print 让它打印一下输入数据的 shape。

这次使用一个 5 层的神经网络在 CIFAR-10 上训练,指定在 forward 中加入一个 print shape 的操作,且在训练过程中只打印一次


训练一下,果然在训练开始只打印了一次输入的 shape,训练的 loss 下降和 test accuracy 看起来也比较真实。


查看生成的 code,发现 forward 里被插入了一句打印 shape 的命令,训练过程中 forward 会被不断调用,为什么 ChatGPT 能做到不增加计数器而只打印一次?推测 ChatGPT 是使用辅助 hint/comment “Print the shape of input once” 来达到此效果,细心会发现 print 操作与下边的 out=self.layer1 (x) 之间空了一行,目的应该是执行一次这个操作只作用在 print 这条命令上(手动机灵)。


诡异的是,print 里的话(shape of input is)跟实际执行输出 (shape of input passed through the network is) 还差了几个字,这下彻底搞懵逼了!

另外发现,ChatGPT 互动机制是先保持一个对话 session,这个 session 可能随时被服务器关闭(服务器资源不足时),这时为了用户侧仍有对话记忆效果,当前对话再次新建 session 时会把之前暂存的对话(用户发的 requests)一次性发给 ChatGPT 重建 in context learning 环境,这样用户就不会感知掉线后 ChatGPT 把之前的对话记忆给忘了,这一点是在让 ChatGPT 伪装成 Linux 时掉线时才容易发现,如下:


一次执行了之前多个请示,里面还显示了 GPU 占用 64%

分析一下 ChatGPT 可以伪装 Linux,可以训练神经网络的机制:

第一种可能是:ChatGPT 几乎看了绝大部分开源项目,包括 Linux 和 Pytorch,所以它理解一个 Linux 系统的行为该是什么样的,甚至在 ChatGPT 参数里就包含一个 Linux 系统,当然对于更简单的 Pytorch 自然不在话下,知道 Linux 和其它各种软件的交互行为,可以理解为 ChatGPT 是所有软件的超集,可以让它做神经网络计算,包括 Conv, Matmul,国外有小哥让它做 Conv 真就得到了正确的结果,说明 ChatGPT 在它的网络中可以执行一个 Conv,当然网络规模越大,能力越强就是这个道理。

第二种可能是:ChatGPT 没有真正执行神经网络的训练,它只是看过很多的输入输出,对应一个网络训练理解训练参数,网络结构对输出的影响,直接模拟的输出结果

还有一种超越想象的是 ChatGPT 已经找到神经网络各算子的最优解法,可以秒算结果,这种计算方式不是传统形式,类似求梯度这种需要计算量很大的操作,是否找到了人类未知的解法?

原文链接:https://zhuanlan.zhihu.com/p/605163615 (点击「阅读原文」可直接跳转)

相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
696 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
6月前
|
机器学习/深度学习 人工智能 算法
AI 基础知识从 0.6 到 0.7—— 彻底拆解深度神经网络训练的五大核心步骤
本文以一个经典的PyTorch手写数字识别代码示例为引子,深入剖析了简洁代码背后隐藏的深度神经网络(DNN)训练全过程。
1090 56
|
10月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
506 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
4月前
|
机器学习/深度学习 数据可视化 网络架构
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
PINNs训练难因多目标优化易失衡。通过设计硬约束网络架构,将初始与边界条件内嵌于模型输出,可自动满足约束,仅需优化方程残差,简化训练过程,提升稳定性与精度,适用于气候、生物医学等高要求仿真场景。
555 4
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
493 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
机器学习/深度学习 文件存储 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
1258 18
YOLOv11改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
|
12月前
|
机器学习/深度学习 数据可视化 API
DeepSeek生成对抗网络(GAN)的训练与应用
生成对抗网络(GANs)是深度学习的重要技术,能生成逼真的图像、音频和文本数据。通过生成器和判别器的对抗训练,GANs实现高质量数据生成。DeepSeek提供强大工具和API,简化GAN的训练与应用。本文介绍如何使用DeepSeek构建、训练GAN,并通过代码示例帮助掌握相关技巧,涵盖模型定义、训练过程及图像生成等环节。
|
机器学习/深度学习 文件存储 异构计算
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
RT-DETR改进策略【模型轻量化】| 替换骨干网络为EfficientNet v2,加速训练,快速收敛
313 1
|
人工智能 搜索推荐 决策智能
不靠更复杂的策略,仅凭和大模型训练对齐,零样本零经验单LLM调用,成为网络任务智能体新SOTA
近期研究通过调整网络智能体的观察和动作空间,使其与大型语言模型(LLM)的能力对齐,显著提升了基于LLM的网络智能体性能。AgentOccam智能体在WebArena基准上超越了先前方法,成功率提升26.6个点(+161%)。该研究强调了与LLM训练目标一致的重要性,为网络任务自动化提供了新思路,但也指出其性能受限于LLM能力及任务复杂度。论文链接:https://arxiv.org/abs/2410.13825。
261 12
|
机器学习/深度学习 自然语言处理 语音技术
Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧
本文介绍了Python在深度学习领域的应用,重点讲解了神经网络的基础概念、基本结构、训练过程及优化技巧,并通过TensorFlow和PyTorch等库展示了实现神经网络的具体示例,涵盖图像识别、语音识别等多个应用场景。
498 8

热门文章

最新文章