您当前的位置:首页 > 电脑百科 > 人工智能

生成式人工智能潜力的释放:软件工程师的MLOps和LLM部署策略

时间:2023-12-18 13:28:51  来源:51CTO  作者:

译者 | 李睿

审校 | 重楼

生成式人工智能最近的爆发标志着机器学习模型的能力发生了翻天覆地的变化。像DALL-E 2、GPT-3和Codex这样的人工智能系统表明,人工智能系统在未来可以模仿人类独特的技能,例如创作艺术、进行对话,甚至编写软件。然而,有效地部署和管理这些新兴的大型语言模型(LLM)给组织带来了巨大的挑战。

生成式人工智能潜力的释放:软件工程师的MLOps和LLM部署策略

本文将为软件工程师提供支持研究的解决方案策略,通过利用机器学习运营(MLOps)最佳实践来顺利集成生成式人工智能,并详细介绍经过验证的技术以部署LLM以优化效率,在生产中对其进行监控,不断更新以提高性能,并确保它们在各种产品和应用程序中协同工作。通过遵循所提出的方法,人工智能从业者可以规避常见的陷阱,并成功地利用生成式人工智能的力量来创造商业价值并让用户受益。

生成式人工智能时代

生成式人工智能是人工智能进步的证明,标志着与传统模型的重大背离。这种方法的重点是根据从大量数据中识别出的模式生成新的内容,无论是文本、图像还是声音。这种能力具有深远的含义。

由于生成式人工智能的应用,从生命科学行业到娱乐行业,各行各业都在见证着革命性的变化。无论是开发新的药物还是创作音乐,这项技术的影响是不可否认的,并将继续塑造许多行业的未来发展轨迹。

理解大型语言模型(LLM)

大型语言模型通常称为LLM,是人工智能模型的一个子集,旨在理解和生成类似人类的文本。它们处理和产生大量连贯和场景相关的文本的能力使其与众不同。然而,LLM具有革命性的特性也带来了复杂性。考虑到这些模型的大小和计算需求,有效地部署和服务这些模型需要一种细致入微的方法。将LLM集成到应用程序中的复杂性强调了对专门策略和工具的需求。

LLM部署框架

1.AI-Optimized vLLM

AI-Optimized vLLM是一个专门的框架,旨在满足当代人工智能应用的需求。这一架构经过精心设计以处理大量数据集,能够确保即使在困难的条件下也能快速响应。

(1)关键特性

  • 高效的数据处理:能够处理大型数据集,没有明显的延迟
  • 快速响应时间:优化周转过程,确保及时交付结果
  • 灵活集:旨在与各种应用程序和平台兼容

(2)优点

  • 可扩展性:可以轻松处理不断增加的数据负载,而不会影响性能
  • 用户友好界:简化模型集成和预测过程

(3)缺点

  • 资源密集型:这可能需要大量的计算资源来实现最佳性能。
  • 学习曲线:虽然用户友好,但对于入门的新手可能需要时间来充分利用它的功能。

(4)示例代码

离线批量服务:

Python/ target=_blank class=infotextkey>Python 
 # Install the required library
 # pip install ai_vllm_library
 from ai_vllm import Model, Params, BatchService

 # Load the model
 model = Model.load("ai_model/llm-15b")

 # Define parameters
 params = Params(temp=0.9, max_tokens=150)

 # Create a batch of prompts
 prompts = ["AI future", "Generative models", "MLOps trends", "Future of robotics"]

 # Use the BatchService for offline batch predictions
 batch_service = BatchService(model, params)

 results = batch_service.predict_batch(prompts)

 # Print the results
 for prompt, result in zip(prompts, results):
 print(f"Prompt: {prompt}nResult: {result}n")

API服务器:

Python 
 # Install the required libraries
 # pip install ai_vllm_library flask

 from ai_vllm import Model, Params
 from flask import Flask, request, jsonify
 App = Flask(__name__)

 # Load the model
 model = Model.load("ai_model/llm-15b")

 # Define parameters
 params = Params(temp=0.9, max_tokens=150)
 @app.route('/predict', methods=['POST'])

 def predict():
 data = request.json
 prompt = data.get('prompt', '')
 result = model.predict([prompt], params)
 return jsonify({"result": result[0]})

 if __name__ == '__main__':
 app.run(port=5000)

2.GenAI文本推理

GenAI文本推理是一个在处理基于语言的任务时以其适应性和效率而表现突出的框架。它提供了一种精简的文本生成方法,强调速度和连贯性。

(1)关键特性

  • 自适应文本生成:能够生成场景相关和连贯的文本
  • 优化架构:完成快速文本生成任务
  • 多功能应用:适用于各种基于文本的人工智能任务,而不仅仅是生成

(2)优点

  • 高质量输出:始终如一地生成连贯且与场景相关的文本
  • 易于集成:简化的API和功能使其易于集成到项目中

(3)缺点

  • 专用性:虽然对于文本任务非常出色,但对于非文本人工智能操作可能不太通用。
  • 资源要求:最佳性能可能需要相当大的计算能力。

Docker集成的Web服务器示例代码

(1)Web服务器代码(app.py)

Python 
 # Install the required library
 # pip install genai_inference flask

 from flask import Flask, request, jsonify
 from genai_infer import TextGenerator
 app = Flask(__name__)
 
 # Initialize the TextGenerator
 generator = TextGenerator("genai/llm-15b")
 @app.route('/generate_text', methods=['POST'])
 
 def generate_text():
  data = request.json
  prompt = data.get('prompt', '')
  response = generator.generate(prompt)
  return jsonify({"generated_text": response})
 
 if __name__ == '__main__':
 app.run(host='0.0.0.0', port=5000)

(2)Dockerfile

Dockerfile 
 # Use an official Python runtime as the base image
 FROM python:3.8-slim

 # Set the working directory in the container
 WORKDIR /app

 # Copy the current directory contents into the container
 COPY . /app

 # Install the required libraries
 RUN pip install genai_inference flask

 # Make port 5000 available to the world outside this container
 EXPOSE 5000

 # Define environment variable for added security
 ENV NAME World

 # Run app.py when the container launches
 CMD ["python", "app.py"]

(3)构建和运行Docker容器:要构建Docker镜像并运行容器,通常会使用以下命令:

Shell 
 docker build -t genai_web_server .
 docker run -p 5000:5000 genai_web_server

(4)API调用:一旦服务器启动并在Docker容器中运行,API调用就可以使用curl或任何HTTP客户端工具对/generate_text端点进行调用:

Shell 
 curl -X POST -H "Content-Type: application/json" -d '{"prompt":"The future of AI"}' http://localhost:5000/g

3.MLOps OpenLLM平台:深入研究

MLOps OpenLLM平台是人工智能框架海洋中的一个灯塔,特别是为LLM量身定制的。它的设计理念促进了LLM在各种环境中的无缝部署、管理和扩展。

(1)关键特性

  • 可扩展架构:用于处理小规模应用程序和企业级系统的需求
  • 直观的API:简化的接口,减少学习曲线,提高开发人员的生产力
  • 优化LLM:专门的组件迎合大型语言模型的独特要求

(2)优点

  • 多功能性:适用于许多应用程序,从聊天机器人到内容生成系统
  • 效率:简化操作,确保快速响应时间和高吞吐量
  • 社区支持:由一个充满活力的社区支持,有助于持续改进

(3)缺点

  • 初始设置的复杂性:虽然平台是用户友好的,但初始设置可能需要更深入的了解。
  • 资源强度:对于更大的模型,平台可能需要大量的计算资源。

Web服务器代码(Server .py):

Python 
 # Install the required library
 # pip install openllm flask
 
 from flask import Flask, request, jsonify
 from openllm import TextGenerator
 app = Flask(__name__)
 
 # Initialize the TextGenerator from OpenLLM
 generator = TextGenerator("openllm/llm-15b")

 @app.route('/generate', methods=['POST'])
 def generate():
  data = request.json
  prompt = data.get('prompt', '')
  response = generator.generate_text(prompt)
  return jsonify({"generated_text": response})
 
 if __name__ == '__main__':
 app.run(host='0.0.0.0', port=8080)

进行API调用:在服务器活动运行的情况下,API调用可以定向到/generate端点。下面是一个使用curl命令的简单示例:

Shell 
 curl -X POST -H "Content-Type: application/json" -d '{"prompt":"The evolution of MLOps"}' http://localhost:8080/gene

4.RayServe:一个具有见地的检查

RayServe是Ray生态系统的一个重要组成部分,在开发人员和研究人员中越来越受欢迎。它是一个模型服务系统,从头开始设计,可以快速将机器学习模型(包括大型语言模型)投入生产。

(1)关键特性

  • 无缝扩展:RayServe可以从一台机器扩展到一个大型集群,而无需修改代码。
  • 框架不可知:它支持任何机器学习框架的模型,没有约束。
  • 批处理和调度:高级功能,如自适应批处理和调度是内置的,优化服务管道。

(2)优点

  • 灵活性:RayServe可以同时服务于多个模型,甚至同一模型的多个版本。
  • 性能:高性能设计,确保低延迟和高吞吐量。

与Ray生态系统集成:作为Ray生态系统的一部分,它受益于Ray的功能,例如分布式训练和细粒度并行性。

(3)缺点

  • 学习曲线:虽然功能强大,但由于其广泛的功能,新手最初可能会觉得具有挑战性。
  • 资源管理:在集群环境中,谨慎的资源分配对于防止瓶颈至关重要。

Web服务器代码(Server .py):

Python 
 # Install the required library
 # pip install ray[serve]
 import ray
 from ray import serve
 from openllm import TextGenerator
 
 ray.init()
 client = serve.start()
 
 def serve_model(request):
  generator = TextGenerator("ray/llm-15b")
  prompt = request.json.get("prompt", "")
  return generator.generate_text(prompt)
 
 client.create_backend("llm_backend", serve_model)
 client.create_endpoint("llm_endpoint", backend="llm_backend", route="/generate")

 if __name__ == "__main__":
  ray.util.connect("localhost:50051")

API调用的查询:随着RayServe服务器的运行,API查询可以被分派到/generate端点。下面是使用curl命令的示例:

Shell 
 curl -X POST -H "Content-Type: application/json" -d '{"prompt":"The intricacies of RayServe"}' http://localhost:8000/generate

软件工程师的注意事项

随着技术的发展,软件工程师发现自己处于创新和实用性的十字路口。部署大型语言模型(LLM)也不例外。由于这些模型具有强大的功能,它们带来了挑战和顾虑,工程师必须解决这些挑战和顾虑,以充分利用它们的潜力。

部署LLM的技巧和最佳实践:

  • 资源分配:考虑到LLM的计算量,确保足够的资源分配是必不可少的。这包括内存和处理能力,以确保模型运行最佳。
  • 模型版本控制:随着LLM的发展,维护一个透明的版本控制系统可以帮助跟踪变化,调试问题,并确保可再现性。
  • 监控和记录:密切关注模型的性能指标和记录异常情况,可以先发制人,确保顺利操作。
  • 安全协议:考虑到LLM可能处理的数据的敏感性,实施强大的安全措施是不可协商的。这包括数据加密、安全API端点和定期漏洞评估。

CI/CD在MLOps中的作用

持续集成和持续部署(CI/CD)是MLOps实现的支柱。它们的意义是多方面的:

  • 简化更新:随着LLM的不断发展,CI/CD管道确保更新,改进或错误修复无缝集成和部署,而不会中断现有服务。
  • 自动化测试:在任何部署之前,自动化测试可以验证模型的性能,确保任何新的更改不会对其功能产生不利影响。
  • 一致性:CI/CD确保了从开发到生产的一致环境,减轻了“它在我的机器上工作”综合症。
  • 快速反馈循环:任何问题,无论是模型还是基础设施,都可以快速识别和纠正,从而使系统更具弹性。

总之,对于踏上LLM部署之路的软件工程师来说,将最佳实践与CI/CD的健壮性相结合,可以为在不断发展的MLOps环境中取得成功铺平道路。

原文标题:Generative AI Unleashed: MLOps and LLM Deployment Strategies for Software Engineers



Tags:MLOps   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
生成式人工智能潜力的释放:软件工程师的MLOps和LLM部署策略
译者 | 李睿审校 | 重楼生成式人工智能最近的爆发标志着机器学习模型的能力发生了翻天覆地的变化。像DALL-E 2、GPT-3和Codex这样的人工智能系统表明,人工智能系统在未来可以...【详细内容】
2023-12-18  Search: MLOps  点击:(116)  评论:(0)  加入收藏
轻松掌握MLOps的操作指南
译者 | 崔皓审校 | 重楼摘要本文强调MLOps(机器学习运营)的重要性,并详细介绍了其五个关键阶段:问题框架、解决方案框架、数据准备、模型构建和分析以及模型服务和监控。文章通...【详细内容】
2023-09-13  Search: MLOps  点击:(370)  评论:(0)  加入收藏
MLOps的角色是什么?
你有兴趣成为一名 MLOps 工程师吗?今天详细了解 MLOps 工程师角色。所以已经建立了一个机器学习模型。它在验证数据集上达到了预期的性能。很高兴能够应用数据科学和机器学习...【详细内容】
2023-04-27  Search: MLOps  点击:(68)  评论:(0)  加入收藏
AI新概念MLOps横空出世,赋能AI加速(附股)
随着ChatGPT的推出,人工智能相关产业链受到持续关注和热议,其中涌现了一系列新兴的技术趋势。首先,AIGC(全称:AI生成内容)成为一个热门话题,随后由于算力需求的不断增长,CPO(全称:云原...【详细内容】
2023-04-04  Search: MLOps  点击:(246)  评论:(0)  加入收藏
DataOps、MLOps和AIOps,你要的是哪个Ops?
两年前,由于我领导的运维团队效率低下,我“赢得”了耻辱的勋章。我具有数据科学和机器学习的背景,因此,我们想当然的从工程团队的同事那里学来了 DevOps。...【详细内容】
2021-02-05  Search: MLOps  点击:(447)  评论:(0)  加入收藏
MLOps介绍:机器学习技术债
作者:Vincent Tatan编译:ronghuaiyang正文共:3392 字 8 图预计阅读时间:10 分钟导读为什么机器学习是你最大的噩梦。 你最大的机器学习噩梦【凌晨3点】快来!我们的定价全搞砸了!我...【详细内容】
2020-06-30  Search: MLOps  点击:(482)  评论:(0)  加入收藏
▌简易百科推荐
多方热议人工智能产业新机遇
编者按  从前沿科技展会到高层对话平台,从上海、重庆到博鳌,从线上到线下……一场场高规格、大规模的盛会中,人工智能正在成为各界热议的高频词。赋能千...【详细内容】
2024-04-08    中国家电网  Tags:人工智能   点击:(4)  评论:(0)  加入收藏
​人形机器人时代来了吗
日前,由中国人形机器人(11.080, -0.05, -0.45%)百人会主办的人形机器人大赛在北京经济技术开发区开赛。工作人员向参观者展示一款人形机器人。参观者与一款陪护型人形机器人...【详细内容】
2024-04-08    中国青年报  Tags:​人形机器人   点击:(4)  评论:(0)  加入收藏
AI重塑社交:腾讯与字节跳动的新赛场
文|新火种 一号编辑|美美最近,腾讯和字节跳动这两大互联网巨头几乎同步推出了各自的AI社交产品,尽管腾讯和字节跳动在前段时间刚刚“破冰”,但这一举措不仅意味着这两大巨头之...【详细内容】
2024-04-07    蓝鲸财经  Tags:AI   点击:(7)  评论:(0)  加入收藏
第一批用 Kimi 做内容的网红已经杀疯了
作者:王东东 文章来自:斗战圣佛小组技术信仰派 VS 市场信仰派 朱啸虎和月之暗面老板杨植麟在前几天有一场不算 battle 的 battle。battle 的争论点是:大模型有没有戏。技术派...【详细内容】
2024-04-04    斗战圣佛小组  Tags:Kimi   点击:(4)  评论:(0)  加入收藏
昆仑万维发布面向人工智能时代的六条人才宣言
过去的一年多,是人工智能取得非凡进步的一年。在这充满突破性技术飞跃和备受争议的一年里,我们见证了人工智能的快速发展和广泛的影响,人工智能已经迅速地融入了我们的生活,深刻...【详细内容】
2024-04-03    砍柴网  Tags:昆仑万维   点击:(7)  评论:(0)  加入收藏
AI干掉声优?音频大模型追逐“图灵时刻”
七十年前,“人工智能之父”图灵提出,如果人无法判断屏幕的另一侧究竟是人还是机器,就证明机器具备了人一样的智能。这一经典的图灵测试如同北斗星一般,指引着AI行业的工作者们不...【详细内容】
2024-04-03    第一财经网  Tags:AI   点击:(5)  评论:(0)  加入收藏
生成式人工智能有哪些新趋势?
相较于去年,当下我们所能体验的人工智能技术的范围已经大幅提升。从搜索引擎、电商平台再到社媒平台,只要是以搜索结果为导向的内容,都会出现它的身影。但其实,人工智能的应用场...【详细内容】
2024-04-03  品谈教师帮    Tags:人工智能   点击:(6)  评论:(0)  加入收藏
AI世界的新难题:互联网的信息不够用了!
高质量数据的紧缺正成为AI发展的重要障碍。4月1日,据媒体报道,随着OpenAI、Google等企业不断深入发展AI技术,科技巨头们遇到了一个新问题:现有的互联网信息量可能不足以支撑他们...【详细内容】
2024-04-02  硬AI    Tags:AI   点击:(6)  评论:(0)  加入收藏
今天起,ChatGPT无需注册就能用了!
 来源:量子位    金磊 克雷西 发自 凹非寺  就在刚刚,OpenAI狠狠地open了一把:从今天起,ChatGPT打开即用,无需再注册帐号和登录了!  像这样,直接登录网站,然后就可以开启对...【详细内容】
2024-04-02    量子位   Tags:ChatGPT   点击:(7)  评论:(0)  加入收藏
AI时代,面对死亡有了第二种选择?
今年春节期间,罗佩玺瞒着妈妈用AI技术“复活”了外婆,她将妈妈现在的模样和外婆留下的老照片合成在一起。时隔60多年,妈妈和外婆终于又“见面”了,这是她送给妈妈的生日礼物。收...【详细内容】
2024-04-02    中国青年报  Tags:AI时代   点击:(7)  评论:(0)  加入收藏
站内最新
站内热门
站内头条