关于chatgpt:ChatGPT软件技术栈解密

44次阅读

共计 2312 个字符,预计需要花费 6 分钟才能阅读完成。

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

业界对 ChatGPT 的 AI 算法关注得比拟多,然而 OpenAI 曾经演变为服务数亿用户的平台服务。近 3 个月 ChatGPT 的 SLA 大概 99%,也就是说均匀每天大概有 15 分钟不可用,整体技术架构和可靠性也备受关注。

OpenAI 网站近 90 天状态图 (绿色示意可用,其它示意异样)

ChatGPT 没有对外正式分享他们的技术架构,所以很难 100% 精确晓得架构大图,本文尝试从以下几个方面:

  • 互联网公开信息(twitter、linkedIn 等)
  • OpenAI 最新招聘岗位要求
  • OpenAI 几次故障报告
  • Github 代码

绘制了 ChatGPT 的次要软件技术栈大图。

1、云服务

OpenAI 是云时代的 AI 守业公司,所有业务都是架设在私有云上,在守业初期失去 AWS 的反对,上面这个对话是 OpenAI 截止 2021 年公开信息的答复:

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

近两年又失去微软巨额投资,并且明确了要由 Azure 提供服务。能够必定 ChatGPT 是在转向以 Azure 为主的多云计划,AWS 服务会逐步缩小。

另外应用了 Terraform 多云治理服务来做云资源的治理。

2、数据库

首先问 ChatGPT 本人,基本上都没有明确的答案。不过从官网职位和故障报告能够失去比拟精确的信息:

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

2023.2.20 号的故障报告也阐明了主数据库 PostgreSQL 产生问题。并且提到应用了 PgBouncer 的连接池服务。

同时应用了 Redis 集群作为缓存服务,在 2023.3.20 ChatGPT 爆出了安全漏洞,局部用户能够看到其他人的聊天记录,就是因为踩了 Redis-py 在连贯勾销状态下会话错乱的 bug,CEO Sam Altman 也在 twitter 进去赔罪。

另外还在招聘中心愿懂 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 上开源了 (
https://github.com/openai/triton),用于代替 NVIDIA 的 CUDA,指标是能更高效的开发机器学习算法。Triton 的编程语言应用了 c++ 和 python。

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

起源:https://zhuanlan.zhihu.com/p/611464068

6、利用部署与监控运维

容器服务 :Kubernetes

监控与运维 :Prometheues(招聘运维开发工程师提到须要懂 PromQL)

日志服务: Splunk

编程语言: Golang、Python

7、参考文档

  1. ChatGPT 软件工程师岗位形容:

https://openai.com/careers/software-engineer-chatgpt

  1. OpenAI 2023.2.20 故障剖析报告:

https://status.openai.com/incidents/mq5jgswy45fr

  1. OpenAI 开源 Triton 的 Github 地址:

https://github.com/openai/triton

  1. Patrick McFadin 在 Linkin 上探讨 ChatGPT 是否应用了 Cassandra:

https://www.linkedin.com/posts/patrick-mcfadin-53a8046_this-i…

8、最初

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

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

欢送大家留言或者转载!

正文完
 0