使用 Python 编写具有多处理支持的 Llama 2 API

Code-a-Llama-2-API-with-multiprocessing.webp

Meta 在发布 Llama 2 大型语言模型 (LLM) 方面做出了重大贡献。这个“开源”工具免费提供,可用于研究和商业用途,证明了 Meta 致力于促进人工智能的开放性。它为广泛的测试、创新和改进提供了一个平台,使开发人员能够启动 AI 驱动的项目。

Llama 2 是预训练和微调模型的集合,其规模范围从 7 亿到 70 亿个参数不等。微调版本Llama-2-chat专门针对对话用例进行了优化。这些模型使用公开的在线数据进行预训练,并使用人类反馈强化学习(RLHF)进一步完善,采用拒绝抽样和近端策略优化(PPO)等方法。

在性能方面,Llama 2及其变体在大多数基准测试中都优于其他开源聊天模型,使其成为闭源模型的可行替代品。这些模型已经过有用性和安全性评估,与 Meta 负责任 AI 开发的愿景一致。

具有多处理功能的骆驼 2 API

下面的视频教程提供了有关为 Llama 2 语言模型创建 API 的宝贵见解,重点是使用 PyTorch 支持多处理。Llama 2 语言模型已与 Flask API 一起安装在 EC2 实例中,该 API 与聊天 GPT 兼容并在端口 5000 上运行。

非常规编码还强调了在初始测试阶段遇到的挑战,即最小的模型7B模型,以及如何解决这些问题。例如,当端口已在使用中以及运行较大的模型时,会出现问题。为了克服这些问题,2B 模型的 MP 变量设置为 13,8B 模型的 MP 变量设置为 70,表示运行模型所需的不同进程数。

然后修改 API 以在多个进程中运行模型,但不在 Flask 中运行。它被进一步改进为使用 PyTorch 的多处理功能将模型分布到多个进程。API 现在通过初始化进程列表、启动所有 Llama 进程、等待 Llama 初始化,然后初始化 Flask 来运行。

Llama 2 API 从请求队列中读取并写入响应队列,使其能够处理来自多个进程的请求和响应。它与聊天 GPT API 兼容,可以从单个 Python 文件运行。该 API 可以公开访问,目前没有 API 密钥系统。

本教程还解决了将响应拆分为块的问题,这需要进一步修改 API。现在,它将响应内容拆分为多个部分并为每个部分创建响应来工作。API 对可以生成的数量有限制,可以根据需要进行调整。

Llama 2 代表了 AI 社区的重大进步,提供了一个多功能且功能强大的工具,符合 Meta 开放和负责任的 AI 开发愿景。本教程为有兴趣为 Llama 2 语言模型创建 API 的开发人员和研究人员提供了全面的指南,并使用 Python 提供多处理支持。

未经允许不得转载:统信UOS之家 » 使用 Python 编写具有多处理支持的 Llama 2 API

相关文章