楼主: sense5
69 0

【架构】【AI Engineering: Building Applications with Foundation Models】AI工程化:从基础 ... [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

42%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
50 点
帖子
4
精华
0
在线时间
0 小时
注册时间
2018-9-9
最后登录
2018-9-9

楼主
sense5 发表于 2025-11-20 07:00:01 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

AI工程解析

本文参考《AI Engineering: Building Applications with Foundation Models》,探讨AI工程的具体组成部分,旨在为设计如BI with AI工程相关架构提供灵感与思路。

一、工程师的工作方面:从适应到运维的全链条

在AI工程领域,工程师的工作不仅限于编码,而是涵盖了应用开发、模型开发和基础设施三个层面的全流程。随着基础模型的兴起,工程师的工作重心从“建模”转向了“适应”。这意味着工程师需要处理从原型设计到产品化的整个过程。

在应用开发层,工程师经常接触的是将现有的模型(如GPT系列)适配到特定的任务中。这涉及到提示工程(Prompt Engineering)和检索增强生成(RAG),例如设计输入提示来指导模型生成客服回应。工程师需要尝试不同的提示变体,确保输出的可靠性和准确性。

在模型开发层,工程师专注于模型的微调和优化。这包括从模型库(如Hugging Face)中选择合适的模型,使用少量数据进行微调,或者进行数据集工程,如数据清洗和特征生成。AI工程相比传统的机器学习更加重视参数高效的微调(PEFT),因为大型模型的资源消耗较大。此外,工程师还需要处理模型压缩(如量化)以减少推理成本。

在基础设施层,工程师负责模型的部署和监控。这包括通过API暴露模型服务和管理GPU集群等资源。尽管AI工程继承了机器学习工程中的监控原则,但由于AI模型规模更大,工程师需要特别注意延迟和成本控制。

除了跨层协作外,工程师还需要与数据科学家合作评估模型偏见(伦理方面),与DevOps团队集成CI/CD流程。安全性和模型漂移是两个重要的关注点,前者防止提示注入攻击,后者确保系统的长期稳定性。

这些工作的开展使得工程师从“实验者”转变为“系统构建者”。建议从小型团队实验开始,逐步扩大规模。

二、这些方面如何工程化:构建可治理的pipeline

工程化的目标是将AI工作流转化为标准化、可重复的pipeline,这是AI工程的一个核心转变,旨在避免“从0到60容易,从60到100困难”的困境。治理的关键在于自动化、版本控制和风险管理,形成一个闭环。

整体pipeline的设计类似于“流水线工厂”,从数据摄入到部署迭代。实施过程中,可以使用DAG工具(如Airflow)构建流程:数据 → 适应/微调 → 评估 → 部署 → 监控。

治理的具体措施包括:使用DVC管理模型和数据的版本控制,通过A/B测试提示进行自动化测试,以及利用GitHub Actions触发微调等CI/CD集成操作。

三、对于后端工程:关键方面与推荐架构

后端工程是AI工程的重要组成部分,涉及到模型的高效运行和服务的稳定提供。关键方面包括模型的服务化、性能优化和安全性保障。推荐的架构应该支持高并发、低延迟和易于扩展的特点。

四、各个方面的技术栈与细节:实用推荐

在AI工程的技术栈选择上,应考虑项目的具体需求和技术成熟度。推荐的技术栈包括但不限于:使用TensorFlow或PyTorch进行模型开发,使用Kubernetes进行资源管理和调度,使用Prometheus和Grafana进行监控,以及使用Nginx或Envoy作为反向代理。

细节方面,模型的部署可以通过Docker容器化,利用Kubernetes进行自动扩缩容。数据处理和特征提取可以借助Spark或Flink等大数据处理框架。安全性方面,应采用多层防护策略,包括数据加密、访问控制和定期的安全审计。

为什么这样设计?由于AI的概率性输出容易发生变化,因此在工程化过程中需要规避风险,确保结果的可复现性。

分层工程化

应用层: 提示和RAG模块化,通过用户评分驱动的反馈循环来治理和迭代系统。

模型层: 实现微调pipeline的自动化(例如使用Hugging Face Trainer),并通过数据治理防止模型漂移。

基础设施层: 利用容器化(Docker)和编排(Kubernetes)实现自动扩缩容。

扩充治理: 引入可观测性(例如使用Prometheus监控指标),合规审计(例如偏见检测),以及“fail-fast”原则(早期评估)。书中强调,通过将实验跟踪(例如使用MLflow)融入日常操作,可以防范法规变化(例如GDPR)带来的风险。实际操作中,建议从简单的pipeline开始,逐步添加AIOps工具,实现“业务指标到AI指标”的映射。

AI工程Pipeline治理架构图

以下是典型pipeline的流程图(简化表示):

Start: 业务痛点评估
|
v
数据摄入 (e.g., Datasets库) --> 模型适应 (Prompt/RAG/微调)
|
v
评估循环 (Metrics: 准确率、延迟; Tools: Evaluate)
|          ^
| Feedback |
v          |
部署 (Docker/K8s) --> 监控 (Prometheus) --> 迭代 (CI/CD)
|
v
End: 生产优化
  

此图强调了反馈闭环的重要性:监控数据回流评估,驱动迭代。实际应用中,可以扩展为DAG图,包含分支(例如条件微调)。

对于后端工程:关键方面与推荐架构

后端工程是AI系统的“脊梁”,连接模型与用户。书中将其置于基础设施层,但强调与应用层的集成(例如API支持RAG)。作为架构师,应关注以下关键方面:

关键方面

  • 模型服务: 后端托管推理,处理高并发(例如数千查询/秒)。书中指出基础模型计算密集,后端需优化serving。
  • 数据集成: 支持检索(例如向量数据库连接),实现实时知识注入。
  • API设计: 使用RESTful/gRPC接口,处理多模态输入。扩展:集成认证(OAuth)以防止攻击。
  • 监控与日志: 跟踪延迟/错误,书籍强调生产级指标。
  • 边缘案例: 错误重试、缓存频繁请求。

推荐架构

微服务架构: 首选,将服务拆分(例如模型服务、检索服务),用Spring Boot/FastAPI构建,Kubernetes编排。为什么?分层栈天然适合微服务,便于独立扩展。

Serverless架构: 对于突发负载,使用AWS Lambda。细节:按需计费降低成本,集成API Gateway管理流量。

事件驱动架构: 使用Kafka处理异步任务(例如批量微调)。细节:无状态设计易于扩展。

细节考虑:负载均衡(Nginx)、缓存(Redis)、安全(JWT加密)。书中建议继承ML原则,例如监控,但适应大模型需TensorRT优化推理。这种架构确保后端从“瓶颈”转为“加速器”。

微服务架构简化表示

User Requests --> API Gateway (e.g., Kong)
|
+--> Model Service (FastAPI + TensorRT for Inference)
|    |
|    +--> Model Registry (Hugging Face)
|
+--> Retrieval Service (RAG with Pinecone Vector DB)
|    |
|    +--> Cache (Redis)
|
+--> Monitoring Service (Prometheus + Grafana)
|
v
Database/Storage (e.g., S3 for Data)
  

此图展示了服务解耦:API Gateway路由请求,服务间通过gRPC通信。Kubernetes可管理pod扩展。

各个方面的技术栈与细节:实用推荐

选择技术栈需考虑开源、易集成和社区支持,如下可参考各个层的推荐框架:

应用开发层

LangChain/LlamaIndex(RAG框架)、OpenAI API。细节:使用few-shot模板;评估ROUGE分数;A/B测试变体。

模型开发层

Hugging Face Transformers/PyTorch(微调)、Datasets(数据工程)、Optimum(优化)。细节:使用PEFT如LoRA减少参数;使用WandB跟踪实验;量化至8-bit。

基础设施层

Docker/Kubernetes(部署)、Prometheus(监控)、Ray(serving)。细节:GPU自动扩缩容;监控TPOT指标;使用spot instances降低成本。

评估与治理

Evaluate(指标)、MLflow(pipeline)。细节:使用AIF360进行偏见检测;使用GitHub Actions实现CI/CD。

FastAPI(用于API开发)、FAISS(用于高效检索)和Redis(作为缓存解决方案)是构建现代应用的关键技术。这些工具和技术在提高性能和效率方面发挥着重要作用。

例如,gRPC因其高吞吐量的特点,成为微服务间通信的理想选择,而批量推理(batch inference)则通过减少延迟来提升用户体验。这些技术的结合使用,能够显著提升系统的整体性能。

此外,云平台如AWS SageMaker提供了一站式的机器学习解决方案,使得从模型训练到部署的整个过程更加简便高效。对于初学者或小规模项目,可以从本地Docker环境开始实验,逐步扩展到云端,同时监控成本,确保每次查询的成本低于0.1元。

在应用开发中,伦理问题也不容忽视。使用Fairlearn等工具可以帮助开发者检测和减轻算法中的偏见,确保技术的公平性和透明性。

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Applications Application Engineering foundation engineerin

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
扫码
拉您进交流群
GMT+8, 2026-2-1 04:51