探索大型语言模型的开源人工智能基础设施:北京开源AI Meetup回顾
原文参见
Explore open source AI Infra for Large Language Models: Highlights from the Open Source AI Meetup Beijing | Cloud Native Computing Foundation
背景介绍:
最近,在 ChatGPT 的成功推动下,大型语言模型及其应用程序的流行度激增,引发了人们对这些模型背后的技术内部工作的极大兴趣。 为了深入探讨大型语言模型和相关应用背后的基础设施,WasmEdge 在云原生计算基金会(CNCF)的支持下于 7 月 8 日在北京组织了一次开发者聚会。 本次活动汇聚了AI云原生开源社区各个领域的专家和开发者,共同探讨和分析大语言模型开发的生命周期的不同技术。

我们讨论了以下主题
Michael Yuan ——使用 Rust 和 Wasm 构建轻量级 AI 应用程序
CNCF WasmEdge 运行时的创始人 Michael Yuan 探索了利用 WebAssembly (Wasm) 容器基础设施构建大型语言模型 (LLM) 插件。

他概述了当前大语言模型函数和 plugin 的几个关键问题:
- LLM 锁定迫使用户留在单一供应商的生态中。 这限制了灵活性。
- 模型工作流程锁定意味着无法轻松更换分词器或推理引擎等组件。 一切都必须保持在一个整体框架内。
- UI 锁定将 UI/UX 限制为供应商提供的内容,定制空间较小。
- 缺乏对机器输入的支持 - 如今的大语言模型是为具有人工输入的对话模型而构建的。 它们不能很好地处理结构化的、机器生成的数据。
- 大语言模型无法发起对话或主动提供信息。 用户必须驱动所有交互。
现有的开源框架也带来了挑战:
- 即使是基本应用程序,开发者也必须构建和管理基础设施。 无法选择 serverless 方式。
- 一切都依赖于 Python,与 Rust 等编译语言相比,Python 的推理速度很慢。
- 开发者必须编写自定义身份验证和连接器到外部服务(例如数据库)。 这种开销会减慢开发速度。

为了克服这些限制,WebAssembly 和 Serverless 函数是构建轻量级 LLM 应用程序的好方法。 Wasm 提供了启动很快的可移植的运行时,支持多种语言,包括 Rust,它非常适合计算密集型推理。
WasmEdge 构建了一个平台 flows.network,允许开发者在 WasmEdge 中的研发管理、DevRel、营销自动化和培训/学习中运行serverless rust 函数,为大语言模型提供记忆、耳朵、双手和行动能力,从而能够用 serverless 的方式在几分钟内实现大模型应用程序。 这可以将开发时间从几个月缩短到几分钟。 它可以实现新一代可定制的垂直大语言模型应用。
通过本次演讲,观众学会了 3 分钟时间内用 flows.network 以serverless方式构建 AI 应用程序。

王方驰 - FATE-LLM:联邦学习遇见大型语言模型
VMware CTO办公室高级工程师、FATE项目维护者王方驰介绍了FATE-LLM,这是一种将联邦学习与大语言模型技术相结合的前瞻性解决方案。 FATE-LLM 允许多个参与者使用其私有数据协作微调大型模型,确保数据隐私,而无需在本地域之外共享数据。 演讲涵盖了将联邦学习应用于 ChatGLM 和 LLaMA 等大型语言模型的最新成果,讨论了技术挑战、设计概念和未来计划。

联邦学习是解决大语言模型数据隐私问题的一种有前途的方法。 联邦学习有助于克服大语言模型的下列挑战:
- 当公共数据耗尽或不足时使用私有数据
- LLM建设和使用过程中维护隐私
FATE-LLM(FATE 联邦大型语言模型)允许参与者使用自己的私有数据微调共享模型,而无需传输原始数据。 这可以使更多组织从大语言模型中受益。
- 多个客户端可以通过FATE内置的预训练模型支持进行横向联邦学习,并使用私有数据进行大规模模型微调;
- 支持30+参与者进行协作训练
李晨——向量数据库:大模型的长期记忆体
Milvus 运营和生态开发负责人 Li Chen 强调了向量数据库对于构建自定义大型语言模型的组织的重要性。 Milvus 是一个专为云原生环境设计的开源向量数据库。 它采用基于 Kubernetes(K8s)的微服务架构,实现分布式云原生操作。 Milvus 采用存储计算分离的方式,提供弹性可扩展性,允许根据工作负载需求进行无缝扩展和收缩。 其高可用性可确保从故障中快速恢复,通常在几分钟内。
Milvus 的显着能力之一在于它能够处理数十亿个向量,展示了其可扩展性和对大规模应用的适用性。 Milvus 利用消息队列,实现数据的实时插入和删除,保证高效的数据管理。

Milvus 与目前流行的 AI 生态进行了集成,包括 OpenAl、Langchain、Huggingface 和 PyTorch,提供与流行框架和库的无缝兼容。 此外,它还提供了一套全面的生态工具,例如 GUI、CLI、监控和备份功能,为用户提供了强大的工具包来管理和优化 Milvus 部署。
综上所述,Milvus 提供了分布式、云原生向量数据库解决方案,在可扩展性、容错性以及与不同 AI 生态的集成方面表现出色。 其微服务设计与其广阔的生态系统工具相结合,使 Milvus 成为管理大规模 AI 应用程序的强大工具。
张志——开发中模型量化相关的技术实践
张志,商汤模型量化框架工程师, 深入探讨了广泛应用的神经网络量化技术。 演讲重点讨论了大型语言模型中使用的各种量化技术,例如仅权重量化和分组 kv 缓存量化。 讨论了这些技术的应用场景和性能优势,并对服务器上的模型部署、性能优化以及降低存储和计算成本提供了见解。
模型量化和压缩对于部署大型语言模型至关重要,尤其是在资源受限的设备(例如边缘设备)上。OpenPPL团队研发的 PPQ 等工具可以量化神经网络,以减小其尺寸和计算成本,使它们能够在更广泛的硬件上运行。这次演讲干货满满,讲到了很多实际的大模型量化技术细节,张老师的视频发布在B站上后得到了热烈的好评和欢迎。

茶歇提供了披萨和水果:

总结
对于对云原生和人工智能技术无比热情的与会者来说,这次聚会是一次激动人心的活动。 演讲者围绕大型语言模型,深入探讨了作用于大模型的不同开源项目,包括轻量级 AI 应用开发、大型模型联邦学习、向量数据库、模型量化和 LLM 评估。参会的开发者可以获得对这些技术的复杂细节的宝贵见解,使大家能够利用开源云原生和人工智能项目和应用程序之间的协同作用。
总的来说,这次聚会强调了开源技术如何帮助组织构建和应用大型语言模型。 通过共享知识和协作,人工智能和云原生社区可以共同应对推进和产品化新一代人工智能系统所涉及的挑战。

相关文章:
探索大型语言模型的开源人工智能基础设施:北京开源AI Meetup回顾
原文参见Explore open source AI Infra for Large Language Models: Highlights from the Open Source AI Meetup Beijing | Cloud Native Computing Foundation 背景介绍: 最近,在 ChatGPT 的成功推动下,大型语言模型及其应用程序的流行度激…...
Langchain 的 Conversation buffer window memory
Langchain 的 Conversation buffer window memory ConversationBufferWindowMemory 保存一段时间内对话交互的列表。它仅使用最后 K 个交互。这对于保持最近交互的滑动窗口非常有用,因此缓冲区不会变得太大。 我们首先来探讨一下这种存储器的基本功能。 示例代码&…...
电流源电路
3.3.3电流源电路 镜像电流源 电路 分析 仿真 比例电流源 电路 分析 仿真 加射极输出器的电流源1 电路 分析 仿真 加射极输出器的电流源2 电路 分析 仿真 威尔逊电流源 电路 分析 仿真...
iOS开发-CMMotionManager传感器陀螺仪
iOS开发-CMMotionManager传感器陀螺仪 之前开发中遇到需要使用陀螺仪判断是否拍照时候水平判断,如果没有水平拍照,则给出提示。方便用户拍照合适的题目图片。 一、CMMotionManager CMMotionManager是什么 CMMotionManager 是 Core Motion 库的核心类&…...
影刀下载,插件安装
1、下载 在影刀官网下载:www.yingdao.com 2、谷歌插件安装 参考: 影刀插件安装各种方式 浏览器安装插件说明 - 影刀帮助中心 安装说明:驱动外置 Chrome 需要安装插件,并且保证此插件处于开启状态 方式一:用户头…...
Linux的tcpdump命令详解
tcpdump 一款sniffer工具,是Linux上的抓包工具,嗅探器 补充说明 tcpdump命令 是一款抓包,嗅探器工具,它可以打印所有经过网络接口的数据包的头信息,也可以使用-w选项将数据包保存到文件中,方便以后分析。…...
springboot运行报错Failed to load ApplicationContext for xxx
Failed to load ApplicationContext for报错解决方法 报错Failed to load ApplicationContext for 报错Failed to load ApplicationContext for 网上找了一堆方法都尝试了还是没用 包括添加mapperScan,添加配置类 配置pom文件 [外链图片转存失败,源站可能有防盗链机…...
[SQL挖掘机] - 内连接: inner join
介绍: 内连接是一种多表连接方式,用于将两个或多个表中的数据通过共同的列值进行匹配,并返回满足连接条件的匹配行。简单来说,内连接能够将相关联的数据组合在一起,以便进行更复杂和全面的数据分析。 内连接的工作原理如下&…...
mysql(四)数据备份
目录 前言 一、概述 二、备份的类型 (一)物理与逻辑角度 (二)数据库备份策略角度 三、常见的备份方法 四、完整备份 (一)打包数据库文件备份 (二)备份工具备份 五、增量备份 六、操…...
Spring 拦截器
上篇博客链接:SpringAOP详解 上篇博客我们提到使用AOP的环绕通知来完成统一的用户登陆验证虽然方便了许多,但随之而来也带来了新的问题: HttpSession不知道如何去获取,获取困难登录和注册的方法并不需要拦截,使用切点没办法定义哪…...
【libevent】http客户端3:简单封装
LibEventHttp: 适用于简单的http请求 LibEventHttp/* Copyright (c) MediaArea.net SARL. All Rights Reserved.** Use of this source code is governed by a BSD-style license that can* be found in the License.html file in the root of the source tree.*///--------…...
JavaScript的函数中this的指向
JavaScript的函数中this的指向 JavaScript 语言之所以有 this 的设计,跟内存里面的数据结构有关系。 以下例子来简单描述this在不同情况下所指向的对象。 var obj {aa: function(){console.log(this.num)},num: 5 };var aa obj.aa; var num 10;obj.aa(); // …...
Caddy 中实现自动 HTTPS
要在 Caddy 中实现自动 HTTPS,您可以按照以下步骤进行操作: 步骤 1:安装 Caddy 首先,您需要安装 Caddy 服务器。您可以从 Caddy 的官方网站(https://caddyserver.com/)下载适用于您的操作系统的最新版本。…...
SK5代理(socks5代理)在网络安全与爬虫应用中的优势与编写指南
一、SK5代理(socks5代理)的基本概念 SK5代理是一种网络代理协议,它允许客户端通过代理服务器与目标服务器进行通信。相较于HTTP代理,SK5代理在传输数据时更加高效且安全,它支持TCP和UDP协议,并且能够实现数…...
【LeetCode-简单】剑指 Offer 06. 从尾到头打印链表(详解)
题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 题目地址:剑指 Offer 06. 从尾到头打印链表 - 力扣(LeetCode) 方法1:栈 思路 题目要求我们将链表的从尾到投打印一…...
【LeetCode】114.二叉树展开为链表
题目 给你二叉树的根结点 root ,请你将它展开为一个单链表: 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。展开后的单链表应该与二叉树 先序遍历 顺序相同。 示例 1&…...
DAY3,Qt(完成闹钟的实现,定时器事件处理函数的使用)
1.完成闹钟的实现,到点播报文本框的内容; ---alarm.h---头文件 #ifndef ALARM_H #define ALARM_H#include <QWidget> #include <QTimerEvent> //定时器处理函数类 #include <QTime> //时间类 #include <QPushButton> //按钮…...
TL-ER3220G设置vlan
TL-ER3220G是企业宽带路由器。 自带5个RJ45接口。 其中接口1到接口4都可以接入宽带线路。最多可以并接4路。 本例由接口1接入宽带,默认接口2到接口4组成1个vlan,名称vlan。其中接口5特殊,带宽最大100M。 计划将接口2和接口4组成第一个vlan&…...
PHPWord 实现合并多个word文件
PHPWord 本来想着当调包侠呢,结果翻了一遍文档,没有这种操作支持,阿这😂 GPT 不出意外的一顿胡扯,给👨🦳气的要中风啦 思路 word 也就是docx结尾的文件本质上就是xml字符串, …...
rust持续学习Box::leak
Box就是unique_ptr 这个函数的功能是消费box返回一个全局变量! 写一个函数,想要真的返回全局变量,感觉用这个是个好的做法 fn Foo()->Option<&static mut A> {let a Box::new(A());Some(Box::leak(a)) }这样就能当真拿到这个全…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
今日科技热点速览
🔥 今日科技热点速览 🎮 任天堂Switch 2 正式发售 任天堂新一代游戏主机 Switch 2 今日正式上线发售,主打更强图形性能与沉浸式体验,支持多模态交互,受到全球玩家热捧 。 🤖 人工智能持续突破 DeepSeek-R1&…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
JVM 内存结构 详解
内存结构 运行时数据区: Java虚拟机在运行Java程序过程中管理的内存区域。 程序计数器: 线程私有,程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都依赖这个计数器完成。 每个线程都有一个程序计数…...
