「AI Infra 软件开源不是一个选项,而是必然」丨云边端架构和 AI Infra专场回顾@RTE2024

在这里插入图片描述

在人工智能和开源技术蓬勃发展的当下,AI Infra 项目正经历着日新月异的变革。从跨平台运行时到云边端 AI 基础设施,再到多模态知识助手,创新浪潮席卷而来。这些进步不仅显著提升了技术指标,也为实时音视频处理、边缘计算、大模型应用等场景开辟了新的可能性。

在 RTE 2024 大会上,LLamaIndex 研究员郑钦月、TEN Framework 创始人 halajohn、亚马逊云科技资深开发者布道师郑予彬、声网后端媒体中心负责人曹类、WasmEdge 维护者 Michael Yuan 等行业专家分享了各自的见解和研究成果。

RTE 开发者社区主理人、小樱桃科技 CTO 杜金房主持了主题分享和圆桌讨论环节。

在这里插入图片描述

郑钦月:构建多模态知识助手,高效应用 RAG 框架

在这里插入图片描述

LLamaIndex 研究员郑钦月指出,尽管大语言模型能力不断提升,但在实际应用中仍面临着幻觉、时效性和专业性不足等问题。为解决这些问题,RAG(检索增强生成)技术应运而生,通过外接数据来最大化大模型的能力。然而,简单的 RAG 框架仍存在局限性,无法有效处理复杂任务和多模态数据。

一个理想的知识助手应具备以下特质:

1、高质量的多模态 RAG 框架, 能处理文本、图像、音视频等多种数据类型。
2、强大的任务处理能力, 不仅能回答问题,还能生成报告、制作 PPT、分析数据等。
3、具备行动能力, 能够提供下一步行动建议。

LLamaIndex 提供了一系列工具和框架来实现这一愿景:

1、LLamaParse: 一个文档解析工具,能最大限度保留文档的图表和布局信息。
2、LLamaCloud: 一个 Production-ready 的 RAG 平台,支持简单的数据输入和问答。
3、Agentic RAG: 包括有约束和无约束两种操作流程,允许多个 AI 代理协作完成复杂任务。
4、LLamaIndex Workflow: 一个事件驱动的工作流框架,用于定义和执行复杂的 AI 任务。

在这里插入图片描述

halajohn:基于 TEN Framework 的云边端 AI 基础设施与 AI Agent 应用

在这里插入图片描述

TEN Framework Creator halajohn 提出了目前基于云端的语音交互 AI 应用面临的三大挑战:高昂的云端计算成本、用户数据隐私泄露的风险,以及难以适应不同用户负载的架构扩展性问题。

面对这些挑战,halajohn 提出了他们的解决方案:TEN Framework,一个「云边端互融、跨设备、跨环境的 AI 基础设施」。

他强调了 TEN Framework 的 模块化设计理念 ,允许开发者创建可在各种平台上运行的 Extension 模块。为了方便开发者快速构建应用,「站在巨人的肩膀上」,TEN Framework 支持所有主流编程语言(C++、Python、Golang、JavaScript 等),并推出了 TEN Cloud Store,方便开发者分享和使用现成的模块,如同提供一把便捷的「铲子」,让开发者专注于挖掘应用场景的「金矿」。

TEN Framework 将不同语言编写的模块组合在同一服务中运行,优化实时音视频应用的性能,并避免微服务架构带来的性能瓶颈和跨设备难题,实现成本控制和性能保障。

他还介绍了正在开发的 Graph Designer, 一个可视化工具 ,旨在简化模块的组合、调试和流程管理,并计划引入 动态调试功能 ,方便开发者快速定位问题。

此外,他还提到通过 优化云边端传输 ,将语音交互的响应速度提升至毫秒级,并将成功率提升到 97%-98%。

目前,TEN Framework 已经开源,并期待社区的共同参与和贡献。

在这里插入图片描述

郑予彬:生成式人工智能赋能云上开发全流程

在这里插入图片描述

来自亚马逊云科技开发者体验团队的郑予彬分享聚焦于在生成式 AI 蓬勃发展的当下,云平台如何为个人和组织提供强有力的支持,以及如何通过一系列工具提升开发者体验,最终将创新落地转化为生产力。

郑予彬指出,2024 年开发者和组织对云平台的需求已经从单纯的算力转向更便捷的平台和多样化的工具。为此,云平台需要在三个层面提供支持:

1、底层 LLM 部署方面,云平台需要提供优秀的工具和标准化策略, 简化 LLM 部署流程。
2、平台层面上,需要支持企业利用自身数据定制 LLM,将基础模型转化为 专用模型。
3、最后,生成式 AI Agent 需要将模型与前端服务和应用快速连接,将 LLM 调用 融入生产流程。

Amazon Bedrock 平台预置了近十种 LLM,并提供便捷的工具帮助企业定制模型,同时兼顾安全合规。他还特别提到,他们团队更名为 「开发者体验团队」 ,正是因为开发者体验对企业创新能力至关重要。

在这里插入图片描述

曹类:十亿级月活分钟数背后的声网媒体中心架构演进之路

在这里插入图片描述

声网后端媒体中心负责人曹类分享了他在声网七年间,见证公司 从高速增长到追求极致平衡过程中 ,媒体中心架构的演进历程。

从早期的 SDK 到 Restful API,再到如今的云端应用,媒体中心的业务流程经历了多次迭代升级。然而,高速增长也带来了新的挑战:组合业务种类繁多、单一产品功能激增、成本居高不下、业务交付周期长,以及可用性问题频发。

为了解决这些问题,曹类和他的团队制定了针对性的解决方案。通过构建统一可用性系统、整合音视频能力、搭建统一编排引擎、优化资源调度和计量模型等一系列举措,他们成功地实现了降本增效,同时显著提升了系统效率和可用性。

「过去两年,我们的业务用量增长了 39%,而单位成本却降低了 56%,等价 L4 故障数降低了 50%。」

然而,曹类也深刻地认识到,架构演进是一个持续的过程,他将其比作对抗熵增,如同人的成长一样。早期低熵状态下,系统野蛮生长;中期需要积极对抗熵增,保持系统的有序性;后期则需要在可控范围内管理熵增。

在这里插入图片描述

Michael Yuan:在端侧部署多模态大模型的实践与思考

在这里插入图片描述

Michael Yuan,WasmEdge 维护者和 Second State 创始人分享了如何在边缘侧部署多模态大模型,来处理音视频数据。Yuan 开篇展示了一个将 YouTube 英文视频翻译成中文的项目。尽管看似简单,这项任务实际上融合了多个复杂步骤和技术。

Yuan 指出 Python 在大模型部署中的局限性。 虽然 Python 在模型训练阶段被广泛采用,但在推理阶段,尤其是在需要高性能和复杂业务逻辑的场景下,Python 往往会成为性能瓶颈。在云边缘计算环境中,Python 的性能问题尤为突出。Python 在实时交互场景中会导致明显的延迟,并非毫秒级,而是秒级。

Yuan 提出使用 Rust 和 WebAssembly 来解决这一难题。WebAssembly 可以作为 硬件和应用程序之间的新抽象层, 类似于曾经的 Java 虚拟机,但以 Rust 作为主要开发语言。这种方法可以有效解决跨平台部署、安全性和性能等关键问题。

在这里插入图片描述

圆桌讨论:开源 AI 项目的设计哲学和成长方法论

在这里插入图片描述

主题是 「开源 AI 项目的设计哲学和成长方法论」 的圆桌讨论由 FreeSWITCH 的核心维护者杜金房主持,参与讨论的嘉宾有 WasmEdge 维护者 Michael Yuan、TEN Framework 的 halajohn 以及开源社联合创始人林旅强。

halajohn 首先分享了 TEN Framework 的设计理念:帮助开发者快速构建 AI 场景和应用,并强调其 「集百家之长」 的设计哲学有助于快速达成目标。

Michael Yuan 介绍了 WasmEdge,一个跨平台、轻量级、高性能的 AI 运行时。他指出 WasmEdge 的核心目标是实现 「模型与应用一体化」 ,将模型嵌入应用中,并在用户可控的设备上以轻量级运行时运行。

林旅强则从开源社区的角度阐述了 开源基金会的重要作用。 他认为,基金会能够有效地管理和发展开发者捐赠的项目,并构建繁荣的生态系统。他强调,项目长期发展需要基金会化和公司化,以确保其可持续性和高效决策。

谈及 AI Infra 和开源的关系,Michael Yuan 说,如果基础软件不开源,几乎不可能得到机会。不开源意味着无法让大家试用,这会让人对基础软件的可靠性产生怀疑。在今天,做基础软件的人几乎没有不开源的选择—— 开源不是一个选项,而是必然。

在这里插入图片描述

在个人成长经验分享环节,三位嘉宾也提供了宝贵的建议。Michael Yuan 强调了 为开源项目贡献代码的重要性, 认为这是伴随终身的宝贵财富。halajohn 提出了三点建议: 保持追根究底的精神、勇于尝试、运用费曼学习法。 林旅强则以《鸟哥的 Linux 私房菜》为例,说明了 把握时代需求、持续输出 的重要性。

这场圆桌讨论不仅涵盖了开源 AI 项目的技术层面,更深入探讨了个人成长和社区建设。正如林旅强总结道:「紧跟时代需求,持续输出,创造人人需要的产品,无论是书籍、TEN 框架还是 WasmEdge,只要能够帮助他人,社区就会给予回报,这对于项目发展和个人成长都至关重要。」

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/472011.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【重生之我要苦学C语言】深入理解指针6

深入理解指针6 sizeof和strlen的对比 sizeof 操作符 整型&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int a 10;printf("%zd\n", sizeof(a));printf("%zd\n", sizeof(int));printf("%zd\n", sizeo…

创建vue插件,发布npm

开发步骤&#xff1a;1.创建一个vue项目&#xff0c;2.开发一个组件。 3.注册成插件。 4.vite和package.json配置。5.发布到npm &#xff11;.创建一个vue项目 npm create vuelatest 生成了vue项目之后&#xff0c;得到了以下结构。 在src下创建个plugins目录。用于存放开发的…

Java垃圾回收算法

垃圾回收之标记算法 1、引用计数法 通过判断对象的引用数量来决定对象是否被回收每个对象实例都有一个引用计数器&#xff0c;被引用则1&#xff0c;完成引用则-1 优点&#xff1a; 执行效率高&#xff0c;程序执行受影响小 缺点&#xff1a; 无法检测出循环引用的情况&#…

文献阅读 | Nature Communications:使用自适应图注意自动编码器从空间解析的转录组学中解读空间域

文献介绍 文献题目&#xff1a; 使用自适应图注意自动编码器从空间解析的转录组学中解读空间域 研究团队&#xff1a; 张世华&#xff08;中国科学院数学与系统科学研究院&#xff09; 发表时间&#xff1a; 2022-04-01 发表期刊&#xff1a; Nature Communications 影响因子…

新手小白学习docker第八弹------实现MySQL主从复制搭建

目录 0 引言1 实操1.1 新建主服务器容器1.2 书写配置文件1.3 重启master实例1.4 进入mysql-master容器master容器实例内创建数据同步用户 1.5 新建从服务器容器1.6 书写配置文件1.7 重启slave实例1.8 查看主从同步状态1.9 进入mysql-slave容器1.9.1 配置主从复制1.9.2 查看主从…

学习threejs,使用TWEEN插件实现动画

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.PLYLoader PLY模型加…

HarmonyOS Next星河版笔记--界面开发(5)

1.字符串 1.1.字符串拼接 作用&#xff1a;把两个或多个字符串&#xff0c;拼成一个字符串。&#xff08;通常是用来拼接字符串和变量&#xff09; hello world > helloworld 加好作用&#xff1a;拼接 let name:string 小明 console.log(简介信息,名字是 name) …

24.11.13 机器学习 特征降维(主成份分析) KNN算法 交叉验证(K-Fold) 超参数搜索

导包小总结(不全面): from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.feature_extraction import DictVectorizer(字典数据集的划分) from sklearn.feature_extraction.text import CountVectorizer(特征提取…

基于SpringBoot+RabbitMQ完成应⽤通信

前言&#xff1a; 经过上面俩章学习&#xff0c;我们已经知道Rabbit的使用方式RabbitMQ 七种工作模式介绍_rabbitmq 工作模式-CSDN博客 RabbitMQ的工作队列在Spring Boot中实现&#xff08;详解常⽤的⼯作模式&#xff09;-CSDN博客作为⼀个消息队列,RabbitMQ也可以⽤作应⽤程…

react+hook+vite项目使用eletron打包成桌面应用+可以热更新

使用Hooks-Admin的架构 Hooks-Admin: &#x1f680;&#x1f680;&#x1f680; Hooks Admin&#xff0c;基于 React18、React-Router V6、React-Hooks、Redux、TypeScript、Vite2、Ant-Design 开源的一套后台管理框架。https://gitee.com/HalseySpicy/Hooks-Adminexe桌面应用…

【C++】string(一)

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家了解C的string类&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 1. 标准库中的string类1.1 string类(了解)1.2 string类的常用接口说明(A) string类对象的…

新版Apache tomcat服务安装 Mac+Window双环境(笔记)

简介&#xff1a;Tomcat服务器器的下载和安装&#xff1a; 安装前提 1&#xff09;电脑需要有java环境&#xff0c;jdk8以上&#xff0c;否则启动不不成功 2&#xff09;已经安装Sublime⽂文件编辑软件 3&#xff09;window电脑需要显示⽂文件拓拓展名 官网&#xff08;https:…

see的本质是什么?

see的本质是什么&#xff1f;see的本质&#xff0c;就是一条蛇&#xff1a; see s蛇 e眼 e眼 ee是两只大眼睛&#xff0c;长在蛇的脑袋上&#xff0c;代表着蛇头和跟随性观察。 如果你喜欢看【龙虎斗】&#xff0c;看【猫蛇大战】相关的视频&#xff0c;你会发现&#xff0c…

0x00基础算法 -- 0x05 排序

1、离散化 排序算法的第一个应用&#xff1a;离散化。 “离散化”就是把无穷大&#xff08;无限&#xff09;的集合中的若干个&#xff08;有限&#xff09;元素映射为有限集合以便于统计的方法。 例如&#xff1a;问题的范围定义在整数集合&#xff0c;但是只涉及其中m个有限的…

深度学习在边缘检测中的应用及代码分析

摘要&#xff1a; 本文深入探讨了深度学习在边缘检测领域的应用。首先介绍了边缘检测的基本概念和传统方法的局限性&#xff0c;然后详细阐述了基于深度学习的边缘检测模型&#xff0c;包括其网络结构、训练方法和优势。文中分析了不同的深度学习架构在边缘检测中的性能表现&am…

博物馆实景复刻:开启沉浸式文化体验的新篇章

随着数字化技术的飞速发展&#xff0c;博物馆的展览形式正在经历一场前所未有的变革。3数字博物馆和3D线上展览&#xff0c;这种创新的展览方式不仅打破了时间和空间的限制&#xff0c;更让文化遗产的保护与传承迈上了一个新的台阶。 本文将深入探讨博物馆实景复刻虚拟展厅的兴…

服务器上安装Orcale数据库以及PL SQL工具(中文)

一、前期准备 1、oracle数据库安装包–>Oracle下载地址&#xff0c;版本根据当时情况就下最新的就行&#xff0c;下载时间可能有点长&#xff0c;耐心点。 2、PL SQL工具下载地址–>PL SQL下载地址&#xff0c;百度网盘可以共享【限速&#xff0c;没办法&#xff01;&am…

除了 TON, 哪些公链在争夺 Telegram 用户?数据表现如何?

作者&#xff1a;Stella L (stellafootprint.network) 在 2024 年&#xff0c;区块链游戏大规模采用迎来了一个意想不到的催化剂&#xff1a;Telegram。随着各大公链争相布局这个拥有海量用户基础的即时通讯平台&#xff0c;一个核心问题浮出水面&#xff1a;这种用户获取策略…

JSON.stringify的应用说明

前言 JSON.stringify() 方法将 JavaScript 对象转换为字符串,在日常开发中较常用&#xff0c;但JSON.stringify其实有三个参数&#xff0c;后两个参数&#xff0c;使用较少&#xff0c;今天来介绍一下后两个参数的使用场景和示例。 语法及参数说明 JSON.stringify()&#xf…

java:接口,抽象,多态的综合小练习

package 综合抽象接口练习;public class person {protected String name;protected int age;person(){}person(String name,int age){this.namename;this.ageage;}public void setName(String name){this.namename;}public String getName(){return name;}public void setAge(i…