前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【LLMOps】Paka:新一代大模型应用管理平台

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

原创
作者头像
Freedom123
发布2024-04-26 17:38:22
1100
发布2024-04-26 17:38:22
举报
文章被收录于专栏:AIGCAIGC

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腾讯技术创作特训营最新征文,快来和我瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 一、核心优势
  • 二、部署使用
  • 小节
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档