【LLMOps】Paka:新一代大模型应用管理平台

2024-04-26 17:38:22 浏览数 (1)

toc


简介

paka 是一种多功能的 LLMOps 工具,只需一个命令即可简化大型语言模型 (LLM) 应用的部署和管理。

一、核心优势

  • 与云无关的资源预置:Paka 首先打破了云供应商锁定的障碍,目前支持 EKS,并计划扩展到更多云服务。
  • 优化模型执行:paka 专为提高效率而设计,可在 CPU 和 Nvidia GPU 上运行 LLM 模型,确保最佳性能。根据 CPU 使用率、请求速率和延迟自动扩展模型副本。
  • 可扩展的批处理作业管理:paka 擅长管理动态横向扩展和横向扩展的批处理作业,无需人工干预即可满足不同的工作负载需求。
  • 无缝应用程序部署:paka 支持将 Langchain 和 LlamaIndex 应用程序作为函数运行,提供零和备份的可扩展性,以及滚动更新以确保不会停机。
  • 全面的监控和跟踪:嵌入了对通过 Prometheus 和 Grafana 收集指标的内置支持,以及通过 Zipkin 进行跟踪。

1.运行时推理 : 当前的运行时推理是通过出色的 llama.cpp 和 llama-cpp-python 项目完成的。vLLM 支持即将推出。每个模型都在单独的模型组中运行。每个模型组都可以有自己的节点类型、副本和自动缩放策略。

2.无服务化容器 : 使用 knative 将应用程序部署为无服务器容器。但是,用户也可以将其应用程序部署到原生云产品,例如 Lambda、Cloud Run 等。

3.并行执行:可以为 celery 作业配置可选的 redis 代理。作业工作人员会根据队列长度自动缩放。

4.向量数据库:向量存储是用于存储嵌入的键值存储。Paka 支持配置 qdrant。

5.监控:Paka 内置了对监控和跟踪的支持。指标是通过 Prometheus 和 Grafana 收集的,跟踪是通过 Zipkin 完成的。用户还可以启用 Prometheus Alertmanager 进行警报。

6.持续化部署:Paka 支持通过滚动更新进行持续部署,以确保不会停机。应用程序可以构建,推送到容器注册表,并使用单个命令进行部署。

7.构建:应用程序、作业代码是使用 buildpack 构建的。无需编写 Dockerfile。但是,用户仍然需要安装 docker 运行时。

二、部署使用

1.安装paka

代码语言:shell复制
pip install paka

2.构建集群配置文件

代码语言:shell复制
aws:
  cluster:
    name: example
    region: us-west-2
    nodeType: t2.medium
    minNodes: 2
    maxNodes: 4
  modelGroups:
    - nodeType: c7a.xlarge
      minInstances: 1
      maxInstances: 3
      name: llama2-7b
      resourceRequest:
        cpu: 3600m
        memory: 6Gi
      autoScaleTriggers:
        - type: cpu
          metadata:
            type: Utilization
            value: "50"

3.构建集群

代码语言:shell复制
paka cluster up -f cluster.yaml -u

4.部署应用

创建Profile文件和.cnignore文件,在 Procfile 中,添加用于启动应用程序的命令。例如,对于 flask 应用程序,它将是 web: gunicorn app:app。 在 .cnignore 中,添加要在生成过程中忽略的文件。

若要固定语言运行时的版本,请添加带有版本号的runtime.txt文件。例如,对于 python,它可以是 python-3.11.*。

对于 python 应用程序,需要 requirements.txt 文件。

要部署应用程序,请运行 'paka function deploy <function_name> --name --source <source_path> --entrypoint <Procfile_command>。例如:

代码语言:shell复制
paka function deploy --name langchain-server --source . --entrypoint serve

5.销毁集群

代码语言:shell复制
paka cluster down -f cluster.yaml

小节

本节我们介绍了paka以及paka的使用,Paka 使用单命令方法简化了大型语言模型 (LLM) 应用程序的部署和管理,为大语言模型的开发和部署,管理提供了更好的管理方式,本节只对paka作了简单介绍,后面我们会逐步深入学习。

小编是一名热爱人工智能的专栏作者,致力于分享人工智能领域的最新知识、技术和趋势。这里,你将能够了解到人工智能的最新应用和创新,探讨人工智能对未来社会的影响,以及探索人工智能背后的科学原理和技术实现。欢迎大家点赞,评论,收藏,让我们一起探索人工智能的奥秘,共同见证科技的进步!

我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

0 人点赞