chatgpt技术总结(包括transformer,注意力机制,迁移学习,Ray,TensorFlow,Pytorch)

最近研读了一些技术大咖对chatgpt的技术研讨,结合自己的一些浅见,进行些许探讨。

我们惊讶的发现,chatgpt所使用的技术并没有惊天地泣鬼神的创新,它只是将过去的技术潜能结合现在的硬件最大化的发挥出来,也正因如此,旧有技术的可用性,让各大厂嗅到了快速发展的商机,纷纷跑步入场。

首先我们要了解chatgpt是一种自然语言处理模型 ,也可以理解为文本生成模型 。在框架上chatgpt采用了transformer框架 ,这种框架又被称作变形金刚,因为相对于CNN 只能处理空间信息,像图像处理,目标检测等。RNN 只能处理时序信息,像语音处理,文本生成等,transformer对空间信息和时序信息皆可处理,而且在时序信息的处理上,相比于RNN,它可以记录和处理几千字、上万字甚至更多的文本信息(长序列信息),以及音频和视频等信息的的前后依赖关系,这是传统RNN望尘莫及的,而且transformer所具有的自注意力机制和多头注意力机制,可以强化这种依赖关系(或者说让模型更好的捕捉这种依赖关系)。

此外在训练上,chatgpt采用了预训练技术 ,简单理解就是,先用一些数据对模型进行初步训练,具体而言,是指用大量的无标签数据对模型进行训练,帮助模型在正式训练时可以更好的理解和处理自然语言。另一个微调技术就是在特定任务上进行有监督的训练,可以进一步提高模型的性能。具体而言就是将预训练好的模型参数作为初始状态,然后在目标任务上重新训练模型,以进一步提高模型的性能。相比起从头开始训练一个新的模型,微调技术可以在更短的时间内获得更好的结果,并且可以减少训练时间和计算资源的需求。这两项技术提高了chatgpt的泛化能力和性能。

而且chatgpt也加入了跨语言迁移学习,就是在已有的语言模型基础上,针对另一个语言的任务进行预训练,然后再将其应用到原始语言的任务中。简单理解就是,现在英文语料库中训练英文模型,再在英文模型基础上,基于中文语料库,预训练中文模型,然后将该模型应用到中文语库中。这项技术的应用扩展的chatgpt的应用场景。

最后除了主流的TensorFlowPytorch 框架,我们还要注意一个分布式机器学习框架Ray,这让chagpt的实际训练成为了可能,chatgpt的训练包含以亿为单位的参数,其计算量过于巨大,如何提高其并行计算能力,成为学界研究的重点,chatgpt的训练需要大量的硬件,甚至不同的硬件之上协调训练,而Ray可以将不同硬件作为一个单元来管理,便于确定什么数据去哪里,处理故障等,而且解决了硬件冲突问题,可以跨越不同硬件种类包括,谷歌云、AWS 和其他处理相同问题的产品组合。并且,Ray 还将其他语言中的一个关键编程概念「actor」扩展到 Python。另外Google的JAX作为对标Ray的框架,近来也得到了大量关注。

延伸一下Ray,TensorFlow和Pytorch的联系和区别:

Ray与深度学习框架的关系:Ray 与 TensorFlow、PyTorch 和 MXNet 等深度学习框架互相兼容,在很多应用上,在 Ray 中使用一个或多个深度学习框架都是非常自然的(例如,UC Berkeley 的强化学习库就用到了很多 TensorFlow 与 PyTorch)。

一些分布式技术概念

数据并行:数据并行是指将输入数据分成多个小批次,将这些小批次分配到不同的GPU内存进行处理。这种方法可以大大提高模型的训练速度和处理效率,并且可以帮助模型处理更大规模的输入数据。

模型并行:模型并行是指将模型分解成多个子模型,并将这些子模型分配到不同的GPU芯片上进行处理。这种方法可以提高模型的处理能力,并使其能够处理更大的数据集。

模型平行:这种方法与模型并行很相似,但是不同的是,模型平行将模型分解成多个层,并将这些层分配到不同的GPU芯片上进行处理。这种方法可以帮助模型处理更大的数据集,并提高模型的处理能力。

集群并行:集群并行是指将模型分布式地部署在多个计算机上,并将不同的计算机与GPU连接起来。这种方法可以帮助模型处理更大规模的数据集,并且可以提高模型的处理效率和速度。

整合:这种方法使用以上多种技术的组合,以达到更高的训练速度和处理效率

最后,思考不同的算法和框架在强化学习中的应用。

往期文章

1.Transformer(一)简述(注意力机制,NLP,CV通用模型)-CSDN博客

2.Transformer(二)(VIT,TNT)(基于视觉CV)_笑傲江湖2023的博客-CSDN博客

3.迁移学习(新人必看)_笑傲江湖2023的博客-CSDN博客

4.机器学习方法(一)(决策树,随机森林,线性回归,神经网络,模型评估,集成学习)概述_决策森林 神经网络_笑傲江湖2023的博客-CSDN博客

参考文献

1. ChatGPT的底层架构简介_鹤鹤的森林的博客-CSDN博客

2.ChatGPT背后的开源AI框架Ray,现在值10亿美元_Python正在输入中......的博客-CSDN博客

3.Chatgpt-3数据集处理代码和训练代码使用的主要编程语言和框架_gpt3训练数据-CSDN博客

  1. Chatgpt-3 训练使用的分布式技术和框架_roxxo的博客-CSDN博客

  2. pytorch和tensorflow有什么区别?_程序媛珂珂的博客-CSDN博客

6.深入剖析PyTorch和TensorFlow:理解二者的区别与联系_tensorflow pytorch_Chaos_Wang_的博客-CSDN博客

  1. PyTorch & 分布式框架 Ray :保姆级入门教程_分布式自然进化策略使用pytorch和ray构建_HyperAI超神经的博客-CSDN博客

8.使用 Ray 将 PyTorch 模型加载速度提高 340 倍_单机ray比pytorch快_机器学习社区的博客-CSDN博客9.伯克利AI分布式框架Ray,兼容TensorFlow、PyTorch与MXNet-CSDN博客

10 .Ray和RLlib用于快速并行强化学习_ray.ppo-CSDN博客

11.低成本训练专属ChatGPT的开源框架LMFlow-CSDN博客

相关推荐
泽安AI研习社1 分钟前
Coze 开源了,送上保姆级私有化部署方案【建议收藏】
人工智能
阿鼎08151 分钟前
揭秘大语言模型:从文字到数字,token 是如何变成向量的?
人工智能·算法
用户1395118811246 分钟前
AI日报 - 2025年07月26日
人工智能
大模型真好玩6 分钟前
深入浅出LangChain AI Agent智能体开发教程(四)—LangChain记忆存储与多轮对话机器人搭建
前端·人工智能·python
双向336 分钟前
多智能体系统设计:协作、竞争与涌现行为
人工智能
Q同学7 分钟前
SciMaster:无需微调,在人类最后考试上刷新 SOTA
人工智能·llm·agent
qiyue778 分钟前
AI编程专栏(七)-什么是上下文工程,与提示工程区别
人工智能·ai编程·cursor
love530love8 分钟前
命令行创建 UV 环境及本地化实战演示—— 基于《Python 多版本与开发环境治理架构设计》的最佳实践
开发语言·人工智能·windows·python·conda·uv
wayne21410 分钟前
不写一行代码,也能做出 App?一文看懂「Vibe Coding」
人工智能·ai编程
洞见新研社12 分钟前
谁将统治AI游戏时代?腾讯、网易、米哈游技术暗战
人工智能