北冥坞“学件”系统

news2024/11/16 0:44:48

简介

学件由周志华教授在 2016 年提出 [1, 2]。在学件范式下,世界各地的开发者可分享模型至学件基座系统,系统通过有效查搜和复用学件帮助用户高效解决机器学习任务,而无需从零开始构建机器学习模型。

北冥坞是学件的第一个系统性开源实现,为学件相关研究提供了一个初步科研平台。有分享意愿的开发者可自由提交模型,学件坞协助产生规约形成学件存放在学件坞中,开发者在这个过程中无需向学件坞泄露自己的训练数据。未来的用户可以通过向学件坞提交需求,在学件坞协助下查搜复用学件来完成自己的机器学习任务,且用户可以不向学件坞泄露自有数据。预计在学件坞拥有数以百万计的学件后,将可能出现“涌现”行为:以往没有专门开发过模型的机器学习任务,可能通过复用若干个现有学件而解决。

学件由性能优良的机器学习模型和描述模型的规约组成。规约刻画了模型的能力,使得模型在未来能够根据用户需求被充分识别和复用。规约由两部分构成:语义规约通过文本描述模型的功能,而统计规约刻画模型所蕴含的统计信息。

[1] Zhi-Hua Zhou. Learnware: on the future of machine learning. Frontiers of Computer Science, 2016, 10(4): 589–590
[2] 周志华. 机器学习: 发展与未来. 中国计算机学会通讯, 2017, vol.13, no.1 (2016 中国计算机大会 keynote)

官网地址:https://bmwu.cloud/

北冥坞不但可以让科研人员和用户像使用HuggingFace一样上传自己的模型,还可以基于基座系统,根据用户的需求进行模型匹配、协作融合,高效处理用户的学习任务。

论文地址:https://arxiv.org/abs/2401.14427

北冥坞系统仓库:https://www.gitlink.org.cn/beimingwu/beimingwu

科研工具包仓库:https://www.gitlink.org.cn/beimingwu/learnware

原理

学件由机器学习模型和描述模型的规约构成,即「学件 = 模型 + 规约」。

学件的规约由「语义规约」和「统计规约」两部分组成:

1)语义规约通过文本对模型的类型及功能进行描述;

2)统计规约则通过各类机器学习技术,刻画模型所蕴含的统计信息。

学件的规约刻画了模型的能力,使得模型能够在未来用户事先对学件一无所知的情况下被充分识别并复用,以满足用户需求。

规约是学件基座系统的核心组件,串联了系统中关于学件的全部流程,包括学件上传、组织、查搜、部署与复用。

就像《天龙八部》中的燕子坞由很多小岛组成一样,北冥坞中的规约也像一个个的小岛一样。

来自不同特征/标记空间的学件,构成众多的规约岛屿,所有规约岛屿共同构成学件基座系统中的规约世界。在规约世界中,如果能够发现并建立不同岛屿之间的联系,那么相对应的规约岛屿将可以进行合并。

在学件范式下,世界各地的开发者可分享模型至学件基座系统,系统通过有效查搜和复用学件帮助用户高效解决机器学习任务,而无需从零开始构建机器学习模型。

北冥坞是学件的第一个系统性开源实现,为学件相关研究提供了一个初步科研平台。

有分享意愿的开发者可自由提交模型,学件坞协助产生规约形成学件存放在学件坞中,开发者在这个过程中无需向学件坞泄露自己的训练数据。

未来的用户可以通过向学件坞提交需求,在学件坞协助下查搜复用学件来完成自己的机器学习任务,且用户可以不向学件坞泄露自有数据。

而且以后,在学件坞拥有数以百万计的学件后,将可能出现「涌现」行为:以往没有专门开发过模型的机器学习任务,可能通过复用若干个现有学件而解决。

北冥坞特性

如下图所示,北冥坞学件基座系统作为学件的初步科研平台,首次实现了学件范式中的核心流程:

  • 提交阶段:系统内置了多重检测机制,以确保上传学件的质量。另外,系统会根据已有的学件规约,训练一个异构引擎,用于合并不同的规约岛屿,以及为学件赋予新规约。随着更多学件的上传,系统的异构引擎将持续更新,目标是通过系统内学件规约的持续迭代,构建更加精准的规约世界。
  • 部署阶段:用户上传任务需求后,系统会自动选择是推荐单学件还是多学件组合,并提供高效的部署方式。无论是单个学件还是多学件组合,系统均提供了便捷的学件复用接口。

此外,北冥坞系统还具备以下特性:

  • 学件规约生成:北冥坞系统在 learnware Python 包中提供规约生成接口,支持多种数据类型(表格、图像和文本),可以在本地高效生成。
  • 学件质量检测:北冥坞系统内置了多重检测机制,以确保系统中每个学件的质量。
  • 学件多样查搜:北冥坞系统同时支持语义规约和统计规约的查搜,覆盖的数据类型包括表格、图像、文本。另外,对于表格型任务,系统额外支持初步的异构表格学件的查搜。
  • 学件本地部署:北冥坞系统在 learnware Python 包中同时提供学件部署与学件复用的接口,帮助用户以统一的方式便携地部署与复用学件。
  • 保护原始数据:北冥坞系统所涉及的学件上传、查搜、部署均无需用户泄露原始数据,生成统计规约的过程在用户本地进行且代码公开。
  • 面向社区开源:北冥坞系统面向社区开源,包括 learnware Python 包与前后端代码。其中 leanrware 包高度可扩展,未来新的规约设计、学件系统设计、学件查搜和复用方法都能轻松集成进来。

北冥坞系统总体架构

如下图所示,北冥坞的系统架构包含四个层次,从学件存储层至用户交互层,首次自底向上系统性地实现了学件范式。四个层次的具体功能如下:

  • 学件存储层:管理以zip包格式存储的学件,并通过学件数据库提供相关信息的获取方式;
  • 系统引擎层:囊括了学件范式中的所有流程,包括学件上传、检测、组织、查搜、部署和复用,并以learnware Python包的形式独立于后端和前端运行,为学件相关任务和科研探索提供了丰富的算法接口;
  • 系统后端层:实现了北冥坞的工业级部署,提供了稳定的系统在线服务,并通过提供丰富的后端API支撑了前端和客户端的用户交互;
  • 用户交互层:实现了基于网页的前端和基于命令行的客户端,为用户交互提供了丰富且便捷的方式。

基于上述系统架构,北冥坞项目一共包含如下五个子项目: 

  • 系统引擎:实现了学件范式中的核心组件和算法,并提供了一个基于命令行的客户端以便于用户交互,同时将其作为 learnware 包发布。
  • 系统前端:提供了用户与系统交互的界面和功能,包括主系统和管理员系统。
  • 系统后端:负责处理系统的运行逻辑和数据操作,确保系统的稳定性和高性能。
  • 系统文档:维护系统的文档,包括用户指南、开发指南等,确保系统的易用性。
  • 系统部署:负责管理系统的部署配置,包括前后端的部署文件。

实验评估

在论文中,研究团队还构建了各种类型的基础实验场景,评估表格、图像和文本数据上进行规约生成、学件识别和复用的基准算法。

表格数据实验

在各种表格数据集上,团队首先评估了从学件系统中识别和复用与用户任务具有相同特征空间的学件的性能。

而且,由于表格任务通常来自不同的特征空间,研究团队还对来自不同特征空间的学件的识别和复用进行了评估。

同质案例

在同质案例中,PFS数据集中的53个商店充当53个独立用户。

每个商店利用自己的测试数据作为用户任务数据,并采用统一的特征工程方法。这些用户随后可以在基座系统上查搜与其任务具有相同特征空间的同质学件。

当用户没有标注数据或标注数据量有限时,团队对不同的基准算法进行了比较,所有用户的平均损失如下图所示。左表显示,无数据方法比从市场上随机选择和部署一个学件要好得多;右图表明,当用户的训练数据有限时,识别并复用单个或多个学件比用户自训练的模型性能更优。

左表显示,无数据方法比从市场上随机选择和部署一个学件要好得多;右图表明,当用户的训练数据有限时,识别并复用单个或多个学件比用户自训练的模型性能更优。

异构案例

根据市场上学件与用户任务的相似性,异构案例可进一步分为不同的特征工程和不同的任务场景。

  • 不同的特征工程场景:

下图左显示的结果表明,即使用户缺乏标注数据,系统中的学件也能表现出很强的性能,尤其是复用多个学件的AverageEnsemble方法。

  • 不同的任务场景:

上图右显示了用户自训练模型和几种学件复用方法的损失曲线。

很明显,异构学件在用户标注数据量有限的情况下实验验证是有益的,有助于更好地与用户的特征空间进行对齐。

图像和文本数据实验

此外,研究团队在图像数据集上对系统进行了基础的评估。

下图显示,当用户面临标注数据稀缺或仅拥有有限数量的数据(少于 2000 个实例)时,利用学件基座系统可以产生良好的性能。

团队还在基准的文本数据集上对系统进行了基础评估。通过统一的特征提取器进行特征空间对齐。

如下图所示,即使在没有提供标注数据的情况下,通过学件识别和复用所获得的性能也能与系统中最好的学件相媲美。

此外,与从头开始训练模型相比,利用学件基座系统可以减少约2000个样本。

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

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

相关文章

客户端字符集小于数据库字符集导致乱码

一、现象 使用plsql或者sqlplus客户端 查询某个表的数据库均显示乱码,如下图所示: 二、原因分析 1、查看数据库的字符集 2、查看客户端的字符集 3、比较 数据库的字符集AL16UTF18(服务端)是大于en_US.UTF-8(客户端&…

【Linux】gcc(工具篇)

文章目录 背景知识gcc的使用预处理(进行宏替换)编译(生成汇编)汇编(生成机器可识别代码)连接(生成可执行文件或库文件) gcc选项函数库函数库一般分为静态库和动态库两种C/C静态库的安…

Python 程序设计基础教程

Python 程序设计基础教程 撰稿人:南星六月雪 第 一 章 变量与简单数据类型 1.1 变量 先来观察以下程序: world "Hello Python!" print(world)world "Hello Python,I love you!" print(world)运行这个程序,将看到两…

一个利用率超高的大数据实验室是如何练成的?

在当今这个数据爆炸的时代,大数据已成为推动各行各业创新与发展的核心动力。一个高效运转、利用率超高的大数据实验室,不仅是技术创新的摇篮,更是企业竞争力的重要体现。那么,如何构建并维持这样一个实验室呢?本文将探…

【机器学习】软输出和硬输出的基本概念和区别、如何选择软输出还是硬输出、联系函数的作用以及线性判别分析和逻辑回归的基本概念(含python代码)

引言 在机器学习中,“软输出”(Soft Output)和"硬输出"(Hard Output)是两种不同的预测输出形式,通常用于分类问题中 文章目录 引言一、软输出和硬输出1.1 硬输出(Hard Output&#xf…

深入理解C语言指针原理——深入底层机制

概述 在C语言中,指针是处理内存的核心工具。为了更好地理解指针如何工作,我们需要深入了解指针与底层硬件和操作系统之间的交互方式。本文将探讨指针的底层实现、内存布局、以及它们如何影响程序的行为。 内存模型 虚拟内存 现代操作系统为每个进程提…

Java算法—排序篇之快速排序(Quick sort)

快速排序(Quick sort) 核心思路: 从数列中挑出一个元素,一般都是左边第一个数字,称为 “基准数”;创建两个指针,一个从前往后走,一个从后往前走。先执行后面的指针,找出第一个比基…

io进程----库

目录 一丶定义 二丶分类 1.静态库 2.动态库 三丶静态库制作 四丶动态库制作 总结: 一丶定义 当使用别人的函数时除了包含头文件以外还需要有库 头文件:函数声明、结构体等类型定义、头文件、宏定义、其他头文件等 库:把一些常…

Java 使用QQ邮箱的接收发送功能,入门级教程

进入qq邮箱主页面,点击账号 下滑找到POP3...如果没有开启,需要开启,开启后,点击管理服务 然后点击生成授权码 按照步骤执行完成后,会给你需要的授权码 1.拿到授权码后,导入相关依赖,和yml相关配…

基于STM32开发的智能家居温度控制系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 系统初始化温度监测与显示风扇/加热器控制Wi-Fi通信与远程监控应用场景 家庭环境的智能温度管理办公楼的节能温控系统常见问题及解决方案 常见问题解决方案结论 1. 引言 随着人们对生活质量…

OZON电子类目解封,OZON新品飙升榜

Ozon电子类目的解封对于商家来说是一个重要的机会,可以重新进入市场并恢复销售。 Ozon电子类目解封选品:m6z.cn/5H6fQR(复制浏览器打开) Top1 便携式音响 Портативная колонка Bluetooth с караоке м…

多意图指令识别项目调研及整理

多意图算法及专利调研整理 AGIF: An Adaptive Graph-Interactive Framework for Joint Multiple Intent Detection and Slot Filling 短文本多意图解析 https://zhuanlan.zhihu.com/p/405096922 多意图语义解析包括多意图发现MID(Multi-intent discovery&#xf…

搭建go开发环境

下载go软件压缩包 解压压缩包到D:/Program Files 验证是否安装成功 配置系统环境变量Path

甄选范文“论软件质量保证及其应用”,软考高级论文,系统架构设计师论文

论文真题 软件质量保证(Software Quality Assurance, SQA)是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,这些活动贯穿于软件生产的整个生命周期。质量保证人员负责质量保证的计划、监督、记录、分析及报告工作,辅助软件开发人员得到高…

arthas源码刨析:arthas 命令粗谈 dashboard watch retransform (3)

文章目录 dashboardwatchretransform 前面介绍了 arthas 启动相关的代码并聊了聊怎么到一个 shellserver 的建立。 本篇我们来探讨一下几个使用频次非常高的命令是如何实现的。 在开始之前,我们先概要地了解一下 arthas 命令的几个思路。 自定义命令,普通…

【Hexo】hexo-butterfly主题添加非主站提示

本文首发于 ❄️慕雪的寒舍 说明 因为hexo可以很方便的在多个平台上免费部署,为了让自己的博客能uptime更久一段时间,很多老哥都和我一样,把自己的hexo博客在好多个平台上都部署了一份。 但是我一直想要一个功能,就是在别人访问…

可商用插画

可商用插画 https://www.88sheji.cn/favorites/free-illustration

5G+智慧工业园区解决方案

1. 智慧工业园区架构概览 智慧工业园区采用多层架构设计,包括展示层、应用层、服务层、数据层和安全保障体系。此架构利用云计算、物联网和移动通信技术,实现园区管理的数字化和智能化。 2. 园区大脑功能 园区大脑作为智慧园区的“中枢神经”&#xf…

校园招聘,在线测评包括哪些内容?

一年两次的校园招聘(秋招和春招),面对众多职业测评的时候,很多人都会觉得无从下手,从而在竞争中失利。根据实践中的情况来看,校园招聘时的测试其实不难,求职者提前准备,想通过在线测…

SLAM十四讲ch3课后习题

1.验证旋转矩阵是正交矩阵。 2.验证四元数旋转某个点后,结果是一个虚四元数(实部为零),所以仍然对应到一个三维空间点。 注意:目前市面上所有的博客都说旋转四元数的逆是共轭除以模的平方 ,这么算很正确但…