探索大型语言模型的开源人工智能基础设施:北京开源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)) }这样就能当真拿到这个全…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...
