ChatGPT 点燃了通用AI浪潮,继农业革命、工业革命、计算机技能革命后,也将或许掀起 AI 技能革命。

业界对 ChatGPT 的 AI 算法重视得比较多,但是 OpenAI 已经演变为服务数亿用户的渠道服务。近3个月 ChatGPT 的 SLA 大约99%,也就是说均匀每天大约有15分钟不可用,整体技能架构和可靠性也备受重视。

ChatGPT软件技术栈解密

OpenAI 网站近90天状态图

OpenAI 网站近90天状态图(绿色表明可用,其它表明反常)

ChatGPT 没有对外正式共享他们的技能架构,所以很难100%精确知道架构大图,本文测验从以下几个方面:

  • 互联网揭露信息(twitter、linkedIn等)
  • OpenAI 最新招聘岗位要求
  • OpenAI 几回毛病陈述
  • Github 代码

制作了 ChatGPT 的主要软件技能栈大图。

ChatGPT软件技术栈解密

ChatGPT软件技能栈大图

1、云服务

OpenAI 是云时代的 AI 创业公司,一切事务都是架设在公有云上,在创业初期得到 AWS 的支撑,下面这个对话是 OpenAI 截止2021年揭露信息的回答:

ChatGPT软件技术栈解密

OpenAI 使用了AWS云服务

ChatGPT软件技术栈解密

OpenAI 截止2021年揭露信息显现使用了AWS云服务

上面这段话来自 OpenAI 的官网前期文章介绍,能够看到曾使用了大量 AWS 服务。

近两年又得到微软巨额出资,而且明确了要由 Azure 供给服务。能够肯定 ChatGPT 是在转向以 Azure 为主的多云计划,AWS 服务会逐步削减。

别的使用了 Terraform 多云办理服务来做云资源的办理。

2、数据库

ChatGPT软件技术栈解密

首先问 ChatGPT 自己,基本上都没有明确的答案。不过从官网职位和毛病陈述能够得到比较精确的信息:

ChatGPT 的中心事务数据保存在联系型数据库 PostgreSQL 中,这个在官方网站有介绍,数亿用户的账号、AK和对话等信息都保存在这里。

2023.2.20号的毛病陈述也说明晰主数据库 PostgreSQL 产生问题。而且说到使用了PgBouncer的衔接池服务。

同时使用了 Redis 集群作为缓存服务,在2023.3.20 ChatGPT 爆出了安全漏洞,部分用户能够看到其他人的聊天记录,就是由于踩了 Redis-py 在衔接取消状态下会话错乱的 bug,CEO Sam Altman 也在 twitter 出来抱歉。

ChatGPT软件技术栈解密

别的还在招聘中希望懂 CosmosDB,这个目前还不承认用在什么场景,CosmosDB 是 Azure 推出的多模数据库,支撑 MongoDB、Cassandra、PostgreSQL、Gremlin 等兼容性接口,是微软在 NoSQL 领域的旗舰产品。

之前 Patrick-McFadin (Cassandra Committer)在 LinkedIn 上说到 OpenAI 使用了 Cassandra,但终究评论下来是 ChatGPT 自己胡说的,还不能承认是否真的使用了 Cassandra 或者是在 CosmosDB 中使用了 Cassandra 的 API。

别的CosmosDB也经过收购过来的Citus供给的分布式PostgreSQL的接口。不承认是否使用了Citus来完成分布式数据库架构。

ChatGPT 使用了 Snowflake 这个新一代的云原生数据仓库,而且使用了 Tableau 来做数据剖析。支撑多云布置的 Snowflake 关于事务从 AWS 到 Azure的跨云迁移是非常有利的。

3、前端

在Web前端方面,比较明确的是使用了 TypeScript 言语和 React 结构。

移动端目前 ChatGPT 还没有正式的 APP 发布,不过已经在招聘 iOS 和 Android 工程师,应该快了。

4、使用与服务编程言语

作为以 AI 为基础的科技公司,OpenAI 挑选 Python 为中心言语,不管是 AI 岗位还是渠道软件工程师岗位,都是需求通晓 Python 言语。

渠道服务挑选 Python,使用了 Python 里比较流行的 Flask 结构,并使用了 OpenAPI 等组件。

5、AI 技能结构

AI 技能结构中心是 Pytorch,或许也使用了 Tensorflow。

OpenAI 自己研发了面向 GPU 的算法结构 Triton,而且在 github 上开源了(
github.com/openai/trit… NVIDIA 的 CUDA,目标是能更高效的开发机器学习算法。Triton 的编程言语使用了 c++和 python。

关于更细节的 AI 训练和布置服务架构还待发掘。下图是来自网上陈巍博士共享的一张大模型典型架构图,供参考:

ChatGPT软件技术栈解密

来源:zhuanlan.zhihu.com/p/611464068

6、使用布置与监控运维

容器服务:Kubernetes

监控与运维:Prometheues(招聘运维开发工程师说到需求懂PromQL)

日志服务: Splunk

编程言语: Golang、Python

7、参考文档

  1. ChatGPT软件工程师岗位描绘:

openai.com/careers/sof…

  1. OpenAI 2023.2.20 毛病剖析陈述:

status.openai.com/incidents/m…

  1. OpenAI开源Triton的Github地址:

github.com/openai/trit…

  1. Patrick McFadin在Linkin上评论ChatGPT是否使用了Cassandra:

www.linkedin.com/posts/patri…

8、最终

本文作者:叶正盛,NineData 程序员,玖章算术CEO,原阿里云资深技能专家。

NineData 官网:www.ninedata.cloud , 供给企业级数据库 SQL 开发工具,数据复制、比照、备份等产品,并供给了类似ChatGPT的SQL服务(SQL AI Copilot),免费使用,无需下载。

欢迎我们留言或者转载!