《架构师》2023年6月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

推荐文章|Article

探索OpenAI平台架构

作者 Janakiram MSV 译者 平川 策划 Tina

本文最初发布于THENEWSTACK博客。

自2022年11月推出ChatGPT以来,OpenAI一直受到知识工作者、开发人员以及几乎所有互联网和Web用户的广泛关注。但是,OpenAI已经成立很长时间了,甚至在ChatGPT创建之前就已经存在了,而且为开发人员提供了许多令人兴奋的服务。它是首批通过简单REST API端点开放生成式AI的平台公司之一。

这是OpenAI系列文章的第一篇,我们将探讨OpenAI的总体情况及其平台架构。通过这篇文章,我们将了解OpenAI平台的基本原理和基本构建模块。

OpenAI:生成式AI民主化

OpenAI成立于2015年,是由Ilya Sutskever、Greg Brockman、Trevor Blackwell、Vicki Cheung、Andrej Karpathy、Durk Kingma、John Schulman、Pamela Vagata和Wojciech Zaremba等人创立的一家非营利性研究机构。Sam Altman和Elon Musk是初始董事会成员。

微软在2019年宣布投资10亿美元,并在今年早些时候宣布了新一轮100亿美元的投资,OpenAI成了人们关注的焦点。企业投资者包括Infosys和Khosla,个人投资者则包括Reid Hoffman、Peter Thiel和Jessica Livingston。

虽然人们经常批评OpenAI从一家非营利性人工智能公司转变为一家商业人工智能公司,但它一直处于生成式人工智能研究的前沿。得益于和微软的合作伙伴关系,它获得了由Azure计算服务提供支持的最先进的基础设施。

关于OpenAI的历史和发展情况,这里就不过多介绍了。现在我们看下该公司的现状。

生成式人工智能模型使用大型数据集基于无监督学习(称为基础模型)进行训练。在比较高的层面上,OpenAI包括三个关键的基础模型:GPT、DALL-E和Whisper。GPT是训练用来处理文本内容的最流行的模型之一。DALL-E可以基于自然语言输入生成图像。最后,Whisper是一个将语音转换为文本并将一种语言翻译成另一种语言的模型。

OpenAI支持的所有用例和生成式AI场景都是围绕着这三个基础模型。其中,由于ChatGPT的成功,GPT获得的关注最多。ChatGPT是基于GPT模型的最新版本GPT-4的。GPT模型有多种变体,可以分别支持单词补全、交互式聊天、校订、改写、摘要和文本分类等场景。类似地,DALL-E可用于创建、编辑图像及生成图像变体。Whisper模型可用于音频文件的转录和翻译。

为了方便开发人员嵌入生成式人工智能,OpenAI已经公开了多个与应用场景对应的API。为了集成GPT或DALL-E等模型,开发人员必须获得API密钥并使用它来访问Open AI REST端点。

OpenAI API使人们可以通过简单的REST接口访问最先进的语言和视觉模型,从而使生成式AI民主化。任何了解如何使用API的开发人员都可以将生成式AI的强大功能嵌入到其应用程序中。他们既不需要理解神经网络背后的复杂数学运算,也不需要访问基于高端CPU和GPU的强大的计算基础设施。

OpenAI的基础模型可以通过自定义的私有数据集进行调优。然后,可以使用调优后的模型在私有数据上进行推理,大幅提高生成式人工智能的价值。OpenAI已经将调优功能作为一个API公开,它可以接受基础模型的变种和自定义数据集。

下图概括了OpenAI平台的架构。最底层由基础模型组成,上面一层是各种模型变体,每一个都针对特定的用例做了优化。最上层是REST API,它通过广为人知的端点公开模型。

探索OpenAI生态系统

OpenAI构建了面向开发人员和最终用户的工具、SDK和服务。ChatGPT就是一个面向最终用户的服务的示例。OpenAI主要利用ChatGPT从用户那里获得交互式反馈,这对改进GPT模型有很大的帮助。它还利用输入和提示来分析用户与模型的交互方式。

OpenAI为开发人员提供了一个操练场,可以作为REST API的交互界面,用于测试调优后的模型如何响应相同的输入或提示。开发人员还可以用它来调整影响模型准确性和创造性的参数。

虽然使用cURL这样的工具调用REST API很简单,但OpenAI官方提供了一个Python库,可以简化Jupyter Notebook等环境中的API消费。对于那些喜欢使用JavaScript的人,官方还提供了一个Node.js库工具。OSS社区已经针对C#、C++、Go、Kotlin和Swift等语言构建了各种库。

下图展示了通过cURL调用/vi/completions API:

同样,也可以通过OpenAI官方维护的Python库完成:

OpenAI还发布了将消息转换为词元的工具和库——那是GPT等大型语言模型的基本输入单元。这些工具可以帮助开发人员评估使用OpenAI API所涉及的成本。当你通过PIP安装Python库时,还可以获得一个方便的API测试CLI。

如果你是微软Azure开发人员,则可以注册Azure OpenAI服务,它与微软的云服务实现了紧密的集成,如活动目录、虚拟网络、基于角色的访问控制等。

在本系列的下一篇文章中,我们将深入探讨提示工程以及它在处理GPT方面的重要性。敬请关注!

原文链接https://thenewstack.io/beyond-chatgpt-exploring-the-openai-platform/