探索大型语言模型的开源人工智能基础设施:北京开源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 评估。参会的开发者可以获得对这些技术的复杂细节的宝贵见解,使大家能够利用开源云原生和人工智能项目和应用程序之间的协同作用。

总的来说,这次聚会强调了开源技术如何帮助组织构建和应用大型语言模型。 通过共享知识和协作,人工智能和云原生社区可以共同应对推进和产品化新一代人工智能系统所涉及的挑战。

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

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

相关文章

CHI中的error处理

Error Handling Error types 包含两种sub-packet级别的error, 和两种packe级别的error; Packet level error Data Error, DERR □ 访问的地址是正确的,但是访问的数据有错误;通常是在数据崩溃的时候使用,例如ECC&#xf…

JSON对象

目录 简介 创建对象 ​编辑json对象作为属性值 json用于交换数据 简介 json:javascript object notation(js标记对象)是一种轻量化的数据交换模式,特点:体积小,数据量大 在js中,json是以对象的形式存在的&#x…

51单片机学习--按键控制流水灯模式定时器时钟

TMOD负责确定T0和T1的工作模式,TCON控制T0和T1的启动或停止计数,同时包含定时器状态 TF1:定时器1溢出标志 TF0:定时器0溢出标志 0~65535 每隔1微秒计数器1,总时间65535微秒,赋上初值64535,则只…

使用 NVM(Node Version Manager)管理 Node.js 版本

使用 NVM(Node Version Manager)管理 Node.js 版本 步骤一:安装 NVM NVM 是一个用于安装和管理不同版本的 Node.js 的工具。首先,你需要确保你的系统上已经安装了 NVM。可以通过以下命令检查 NVM 是否已经安装: nvm …

红队打靶:FourAndSix2.01打靶思路详解(vulnhub)

目录 写在开头 第一步:主机发现与端口扫描 第二步:NFS渗透 第三步:7z压缩包的密码破解 第四步:ssh私钥登录 第五步:lessvi提权 总结与思考 写在开头 本篇博客根据大佬红队笔记的视频进行打靶,详述了…

黑马头条---day1

手机端查看 docker 容器,镜像操作命令 1、docker删除所有镜像命令 删除所有镜像的命令是Docker中一个非常常见的操作。下面是具体的实现步骤和命令示例: $ docker stop $(docker ps -aq) 停止所有正在运行的容器。 $ docker rm $(docker ps -aq) 删…

selenium的java方式打开IE浏览器

1.下载软件Selenium Driver 官方下载地址: ​ https://www.selenium.dev/downloads/解压selenium-java-3.141.59.zip文件到java项目 seleniumDemo,并降解压的文件放入依赖中(1)双击项目的src打开项目结构,或右键-打开…

python将多张图片拼成一张矩阵图,合成一张大图

用Python实现将多张图片排列成n*m的图像矩阵图 目录 引言环境准备代码实现效果演示总结 引言 在图像处理和图像展示的应用中,将多张图片排列成一个图像矩阵图是一个常见的需求。本博客介绍如何使用Python实现将12张图片排列成n*m的图像矩阵图。 环境准备 为了实…

操作系统专栏2进程管理from 小林coding

进程管理 基本概念进程控制进程上下文切换 线程进程和线程的比较进程通信管道消息队列共享内存信号量信号socket 基本概念 进程:一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元.并行和并发:状态: 其中挂起是指没有给程序分配实际…

学习中遇到的好博客

c日志工具之——log4cpp ECU唤醒的本质就是给ECU供电。 小文件:零拷贝技术 传输大文件:异步 IO 、直接 IO:如何高效实现文件传输:小文件采用零拷贝、大文件采用异步io直接io (123条消息) Linux网络编程 | 彻底搞懂…

机器学习01 -Hello World(对鸢尾花(Iris Flower)进行训练及测试)

什么是机器学习? 机器学习是一种人工智能(AI)的子领域,它探索和开发计算机系统,使其能够从数据中学习和改进,并在没有明确编程指令的情况下做出决策或完成任务。 传统的程序需要程序员明确编写指令来告诉…

QT 视图(view)模型(model)汇总

QStringListModel和QListView UI界面 widget头文件 #ifndef WIDGET_H #define WIDGET_H#include <QStringList> #include <QStringListModel> #include <QWidget>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : publi…

使用AOP切面对返回的数据进行脱敏的问题

1.注解类 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** Author: xiaoxin* Date: 2023/7/21 17:15*/ Retention(RetentionPolicy.RUNTIME) Targe…

python文件处理方式

python文件处理方式 file open(D:\pythonText.txt, r, encodingUTF-8) print(file) # <_io.TextIOWrapper nameD:\\pythonText.txt moder encodingUTF-8> print(type(file)) # <class _io.TextIOWrapper>读取文件 file open(D:\pythonText.txt, r, encodingU…

3d软件动物生活习性仿真互动教学有哪些优势

软体动物是一类广泛存在于海洋和淡水环境中的生物&#xff0c;其独特的形态和生活习性给学生带来了新奇和有趣的学习主题&#xff0c;为了方便相关专业学科日常授课教学&#xff0c;web3d开发公司深圳华锐视点基于真实的软体动物&#xff0c;制作软体动物3D虚拟展示系统&#x…

【visual studio2019】如何打开即时窗口

在 Visual Studio2019 中打开即时窗口&#xff0c;有两种方法&#xff1a; 1、可以通过“调试”菜单&#xff0c;然后选择“窗口”下的“即时窗口”选项 2、直接使用快捷键“Ctrl Alt I” 此时即时窗口将显示在 Visual Studio2019 的底部。在即时窗口中&#xff0c;可以执…

Java读取及生成pb文件并转换jsonString

Java读取及生成pb文件并转换jsonString 1. 效果图2. 原理2.1 Protocol Buffers是什么2.2 支持的语言2.3 根据.proto生成.java2.4 初始化及构建pb&#xff0c;读取&#xff0c;转jsonString 3. 源码3.1 address.proto3.2 PbParseUtil.java 参考 读取pb及生成pb文件pb文件转换jso…

stable diffusion

一&#xff1a;安装。 stable diffusion 安装和使用全教程 - 知乎 Stable Diffusion安装 - 知乎 环境安装&#xff1a; 1&#xff1a;python 3.10安装。 Download Python | Python.org 切记要安装3.10版本&#xff0c;因为Stable diffusion是用3.10版本编写的&#xff0c;所…

【C++】 哈希

一、哈希的概念及其性质 1.哈希概念 在顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找一个元素时&#xff0c;必须要经过关键码的多次比较。比如顺序表需要从第一个元素依次向后进行查找&#xff0c;顺序查找时间复杂度为…

VS Code环境配置问题

VS Code 环境配置问题 文章目录 VS Code 环境配置问题配置 C问题解决不乱码只显示结果避免闪退&#xff0c;中文乱码 配置 Java下载 JDKJDK 环境配置安装插件 配置 C 跟着官网教程&#xff08;英文版&#xff09;和其他博客配置了一遍&#xff0c;却遇到了很多小问题&#xff…