」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 深入探討 CNCF 的雲原生 AI 白皮書

深入探討 CNCF 的雲原生 AI 白皮書

發佈於2024-08-19
瀏覽:749

A Deep Dive into CNCF’s Cloud-Native AI Whitepaper

在 KubeCon EU 2024 期间,CNCF 发布了第一份云原生 AI 白皮书。本文对本白皮书的内容进行了深入分析。

2024 年 3 月,在 KubeCon EU 期间,云原生计算基金会 (CNCF) 发布了第一份关于云原生人工智能 (CNAI) 的详细白皮书 1。本报告广泛探讨了云原生技术与人工智能集成的现状、挑战和未来发展方向。本文将深入探讨本白皮书的核心内容。

本文首发于中型MPP计划。如果您是Medium用户,请在Medium上关注我。非常感谢。

什么是云原生人工智能?

云原生人工智能是指使用云原生技术原理构建和部署人工智能应用程序和工作负载。这包括利用微服务、容器化、声明式 API 以及持续集成/持续部署 (CI/CD) 等云原生技术来增强人工智能应用程序的可扩展性、可重用性和可操作性。

下图是根据白皮书重新绘制的云原生AI架构图。

A Deep Dive into CNCF’s Cloud-Native AI Whitepaper

云原生AI与云原生技术的关系

云原生技术提供了灵活、可扩展的平台,使人工智能应用的开发和运营更加高效。通过容器化和微服务架构,开发者可以快速迭代和部署AI模型,同时保证系统的高可用性和可扩展性。 Kuuch 作为资源调度、自动扩展和服务发现。

白皮书提供了两个例子来说明云原生AI和云原生技术之间的关系,即在云原生基础设施上运行AI:

  • Hugging Face 与 Microsoft 合作在 Azure 上推出 Hugging Face 模型目录2
  • OpenAI 将 Kubernetes 扩展到 7,500 个节点3

云原生人工智能的挑战

尽管为人工智能应用程序提供了坚实的基础,但将人工智能工作负载与云原生平台集成时仍然面临挑战。这些挑战包括数据准备复杂性、模型训练资源要求以及在多租户环境中维护模型安全性和隔离性。此外,云原生环境中的资源管理和调度对于大规模人工智能应用至关重要,需要进一步优化以支持高效的模型训练和推理。

云原生AI发展路径

白皮书提出了云原生人工智能的几条发展路径,包括改进资源调度算法以更好地支持人工智能工作负载、开发新的服务网格技术以增强人工智能应用的性能和安全性以及推动云原生的创新和标准化通过开源项目和社区协作实现人工智能技术。

云原生AI技术格局

云原生人工智能涉及各种技术,从容器和微服务到服务网格和无服务器计算。 Kubernetes 在部署和管理 AI 应用程序中发挥着核心作用,而 Istio 和 Envoy 等服务网格技术则提供强大的流量管理和安全功能。此外,Prometheus 和 Grafana 等监控工具对于维持 AI 应用程序的性能和可靠性至关重要。

下面是白皮书中提供的云原生AI景观图。

  • Kubernetes
  • 火山
  • 无敌舰队
  • 库伯雷
  • Nvidia NeMo
  • Yunikorn
  • 库埃
  • 火焰

分布式训练

  • Kubeflow 训练算子
  • Pytorch DDP
  • TensorFlow 分布式
  • 打开 MPI
  • DeepSpeed
  • 威震天
  • 霍罗沃德
  • 阿普拉

机器学习服务

  • Kserve
  • 谢尔顿
  • VLLM
  • TGT
  • 天空飞行员

CI/CD — 交付

  • Kubeflow 管道
  • MLflow
  • TFX
  • BentoML
  • MLRun

数据科学

  • Jupyter
  • Kubeflow 笔记本
  • PyTorch
  • TensorFlow
  • 阿帕奇齐柏林飞艇

工作负载可观察性

  • 普罗米修斯
  • Influxdb
  • 格拉法纳
  • 权重和偏差 (wandb)
  • 开放遥测

自动机器学习

  • Hyperopt
  • 奥图纳
  • Kubeflow Katib
  • NNI

治理与政策

  • 基弗诺
  • Kyverno-JSON
  • OPA/网守
  • StackRox 管理器

数据架构

  • ClickHouse
  • 阿帕奇皮诺
  • 阿帕奇德鲁伊
  • 卡桑德拉
  • ScyllaDB
  • Hadoop HDFS
  • Apache HBase
  • 急速
  • 三诺
  • Apache Spark
  • Apache Flink
  • 卡夫卡
  • 脉冲星
  • 体液
  • Memcached
  • Redis
  • Alluxio
  • Apache 超级集

矢量数据库

  • 色度
  • Weaviate
  • 象限
  • 松果
  • 扩展
  • Redis
  • Postgres SQL
  • ElasticSearch

模型/法学硕士可观察性

  • • 特鲁伦斯
  • 朗福斯
  • 深度检查
  • OpenLLMetry

结论

最后总结以下要点:

  • 开源社区的作用:白皮书指出了开源社区在推进云原生人工智能方面的作用,包括通过开源项目和广泛合作加速创新和降低成本。
  • 云原生技术的重要性:云原生AI,根据云原生原则构建,强调可重复性和可扩展性的重要性。云原生技术为人工智能应用提供了高效的开发和运行环境,特别是在资源调度和服务扩展方面。
  • 现有挑战:云原生AI虽然带来了诸多优势,但在数据准备、模型训练资源需求、模型安全与隔离等方面仍面临挑战。
  • 未来发展方向:白皮书提出了发展路径,包括优化资源调度算法以支持人工智能工作负载、开发新的服务网格技术以增强性能和安全性、通过开源项目和社区协作推动技术创新和标准化.
  • 关键技术组件:云原生AI涉及的关键技术包括容器、微服务、服务网格、无服务器计算等。 Kubernetes 在部署和管理 AI 应用程序中发挥着核心作用,而 Istio 和 Envoy 等服务网格技术则提供必要的流量管理和安全性。

更多详情请下载云原生AI白皮书4.

参考链接


  1. 白皮书:↩︎

  2. Hugging Face 与 Microsoft 合作在 Azure 上推出 Hugging Face 模型目录 ↩︎

  3. OpenAI 将 Kubernetes 扩展到 7,500 个节点:↩︎

  4. 云原生AI白皮书:↩︎

版本聲明 本文轉載於:https://dev.to/huizhou92/a-deep-dive-into-cncfs-cloud-native-ai-whitepaper-3ic3?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    版本5.6.5之前,使用current_timestamp與時間戳列的current_timestamp與時間戳列有什麼限制?
    在時間戳列上使用current_timestamp或MySQL版本中的current_timestamp或在5.6.5 此限制源於遺留實現的關注,這些限制需要對當前的_timestamp功能進行特定的實現。 創建表`foo`( `Productid` int(10)unsigned not ...
    程式設計 發佈於2025-06-09
  • 如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    如何從PHP中的Unicode字符串中有效地產生對URL友好的sl。
    為有效的slug生成首先,該函數用指定的分隔符替換所有非字母或數字字符。此步驟可確保slug遵守URL慣例。隨後,它採用ICONV函數將文本簡化為us-ascii兼容格式,從而允許更廣泛的字符集合兼容性。 接下來,該函數使用正則表達式刪除了不需要的字符,例如特殊字符和空格。此步驟可確保slug僅包...
    程式設計 發佈於2025-06-09
  • 我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    將我的加密庫從mcrypt升級到openssl 問題:是否可以將我的加密庫從McRypt升級到OpenSSL?如果是這樣,如何? 答案:是的,可以將您的Encryption庫從McRypt升級到OpenSSL。 可以使用openssl。 附加說明: [openssl_decrypt()函數要求...
    程式設計 發佈於2025-06-09
  • 表單刷新後如何防止重複提交?
    表單刷新後如何防止重複提交?
    在Web開發中預防重複提交 在表格提交後刷新頁面時,遇到重複提交的問題是常見的。要解決這個問題,請考慮以下方法: 想像一下具有這樣的代碼段,看起來像這樣的代碼段:)){ //數據庫操作... 迴聲“操作完成”; 死(); } ? > ...
    程式設計 發佈於2025-06-09
  • 如何實時捕獲和流媒體以進行聊天機器人命令執行?
    如何實時捕獲和流媒體以進行聊天機器人命令執行?
    在開發能夠執行命令的chatbots的領域中,實時從命令執行實時捕獲Stdout,一個常見的需求是能夠檢索和顯示標準輸出(stdout)在cath cath cant cant cant cant cant cant cant cant interfaces in Chate cant inter...
    程式設計 發佈於2025-06-09
  • 如何使用Python有效地以相反順序讀取大型文件?
    如何使用Python有效地以相反順序讀取大型文件?
    在python 反向行讀取器生成器 == ord('\ n'): 緩衝區=緩衝區[:-1] 剩餘_size- = buf_size lines = buffer.split('\ n'....
    程式設計 發佈於2025-06-09
  • PHP未來:適應與創新
    PHP未來:適應與創新
    PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。 引言在編程世界中,PHP一直是網頁開發的中流砥柱。作為一個從1994年就開始發展...
    程式設計 發佈於2025-06-09
  • 大批
    大批
    [2 數組是對象,因此它們在JS中也具有方法。 切片(開始):在新數組中提取部分數組,而無需突變原始數組。 令ARR = ['a','b','c','d','e']; // USECASE:提取直到索引作...
    程式設計 發佈於2025-06-09
  • 在GO中構造SQL查詢時,如何安全地加入文本和值?
    在GO中構造SQL查詢時,如何安全地加入文本和值?
    在go中構造文本sql查詢時,在go sql queries 中,在使用conting and contement和contement consem per時,尤其是在使用integer per當per當per時,per per per當per. [&​​​​&&&&&&&&&&&&&&&默元組方...
    程式設計 發佈於2025-06-09
  • 如何使用組在MySQL中旋轉數據?
    如何使用組在MySQL中旋轉數據?
    在關係數據庫中使用mySQL組使用mySQL組進行查詢結果,在關係數據庫中使用MySQL組,轉移數據的數據是指重新排列的行和列的重排以增強數據可視化。在這裡,我們面對一個共同的挑戰:使用組的組將數據從基於行的基於列的轉換為基於列。 Let's consider the following ...
    程式設計 發佈於2025-06-09
  • 查找當前執行JavaScript的腳本元素方法
    查找當前執行JavaScript的腳本元素方法
    如何引用當前執行腳本的腳本元素在某些方案中理解問題在某些方案中,開發人員可能需要將其他腳本動態加載其他腳本。但是,如果Head Element尚未完全渲染,則使用document.getElementsbytagname('head')[0] .appendChild(v)的常規方...
    程式設計 發佈於2025-06-09
  • Java數組中元素位置查找技巧
    Java數組中元素位置查找技巧
    在Java數組中檢索元素的位置 利用Java的反射API將數組轉換為列表中,允許您使用indexof方法。 (primitives)(鏈接到Mishax的解決方案) 用於排序陣列的數組此方法此方法返回元素的索引,如果發現了元素的索引,或一個負值,指示應放置元素的插入點。
    程式設計 發佈於2025-06-09
  • 如何從PHP中的數組中提取隨機元素?
    如何從PHP中的數組中提取隨機元素?
    從陣列中的隨機選擇,可以輕鬆從數組中獲取隨機項目。考慮以下數組:; 從此數組中檢索一個隨機項目,利用array_rand( array_rand()函數從數組返回一個隨機鍵。通過將$項目數組索引使用此鍵,我們可以從數組中訪問一個隨機元素。這種方法為選擇隨機項目提供了一種直接且可靠的方法。
    程式設計 發佈於2025-06-09
  • 切換到MySQLi後CodeIgniter連接MySQL數據庫失敗原因
    切換到MySQLi後CodeIgniter連接MySQL數據庫失敗原因
    無法連接到mySQL數據庫:故障排除錯誤消息要調試問題,建議將以下代碼添加到文件的末尾.//config/database.php並查看輸出: ... ... 迴聲'... echo '<pre>'; print_r($db['default']); echo '</pr...
    程式設計 發佈於2025-06-09

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3