微链接: 利用 MinIO 实现计算和存储的还原

news2024/11/16 0:46:41

Microblink 是一家专门从事图像检测的 AI 公司。他们从 BlinkID、BlinkID Verify 和 BlinkCard 等产品开始进入身份空间。最近,他们的图像检测能力催生了可以处理其他类型图像的产品。例如,可以对收据执行产品检测,从而使用收据上的产品描述来查找产品 SKU 和其他详细信息。以下是 Microblink 产品的完整列表和描述。

BlinkID - 扫描和提取身份证件(如驾照和护照)中的数据。身份数据以 JSON 格式返回。

BlinkID 验证:确认身份证件的有效性。可以检查扫描的身份证件上任何条形码的真实性、人脸照片篡改、影印检测、数据不一致和屏幕检测,从而检测身份证件是否确实是显示在另一个屏幕上的图像。

BlinkCard:扫描并提取信用卡中的数据。它还通过检测屏幕的使用(用户实际上并不拥有信用卡)、卡上是否有手(用户实际上持有信用卡)和卡的复印件来检查信用卡是否存在欺诈。

BlinkReceipt:此产品将收据的图像转换为文本。然后,它可以获取产品描述或代码并查找 SKU 和 SKU 级数据。

BlinkShelf:产品识别,用户可以使用移动设备扫描杂货店货架并检测产品,包括产品的通用产品代码 (UPC)。

这些产品的核心都是为适当的图像识别任务训练的 AI 模型。但是,其中许多产品超出了简单的图像分类(欺诈或有效)。他们的许多产品都将图像转换为结构化数据。创建可以执行这种级别图像识别的 AI 模型需要数百小时的训练和多次遍历您的训练数据。最佳实践是进行多个实验来测试不同的模型架构和超参数选项。让我们来看看 Microblink 的数据基础设施多年来发生了怎样的变化,以处理需要不断增加的数据量的更苛刻的 AI 工作负载。

起初

当 Microblink 在 2012 年左右刚开始时,他们的基础设施是一组服务器,其数据驻留在这些服务器的各种文件系统上。如果驻留在多个服务器上的工作负载需要数据集,则会为每个工作负载创建数据集的副本。不幸的是,从来没有单一的真相来源。想象一下,一个数据集使用新数据进行更新,或者工程师为数据集找出一组更好的特征(一种通常称为特征工程的技术)。当这些更新发生时,无法确定谁需要更新。即使有谁需要更新的记录,仍然需要通过网络传输数据集的副本,这效率很低。每个 AI 工程团队都是以这种方式开始的,在使用文件系统手动管理数据时,拥有多个事实来源是一个常见问题。Microblink 决定尝试云供应商来解决他们的数据问题。

迁移到云

Microblink 的 AI 数据基础设施的下一个版本使用了 Google Cloud Platform (GCP)。目标是解决当必须将数据从一个服务器复制到另一个服务器时产生的“多个事实来源”问题。然而,随着数据的增长,GCP 成为摩擦的根源,因为 GCP 云存储无法满足训练模型的需求。此外,GPU 价格昂贵,无法按需使用,也无法按需扩展。您必须购买通常未得到充分利用的大型机器,从而产生大量成本。Microblink 决定将计算迁移到本地。

遣返计算

为了解决这个问题,Microblink 决定在 GCP 与其本地数据中心之间设置同步。我们的想法是 GCP 可以成为所有数据的单一事实来源,并且训练将在本地进行,其中将设置本地服务器以提供对数据的更快访问。换句话说,GCP 将容纳数据的主副本。当需要训练数据集时,同步会将其移动到本地,以便在模型训练期间进行高速访问。这最初提供了在训练实验期间更快地访问数据,并且还降低了成本,因为训练所需的计算现在在本地进行,并且云中的计算成本很高。不幸的是,在云和本地服务器之间同步数据带来了一系列新问题。同步的速度不是很好,同步本身不断崩溃。因此,Microblink 再次对他们处理数据的方式并不满意,他们的数据正在快速增长。大约在同一时间,Microblink 的本地数据中心开始配备 Kubernetes 集群。Microblink 决定现在是时候做一些强大而伟大的事情,一劳永逸地解决他们的数据问题了。“当我们的数据中心有了 Kubernetes 后,我告诉我的团队,现在是构建强大而伟大的东西的黄金时机。”Filip Suste,Microblink 平台团队工程经理

用于数据遣返的 MinIO

Microblink 决定实施一种云原生对象存储解决方案,该解决方案既可以是其所有数据的主副本,也可以是在训练模型时快速提供数据的平台。他们最初尝试使用 Ceph,但事实证明它太难维护了。然后他们来到了 MinIO。Microblink 更容易设置和维护 MinIO,但他们从 MinIO 获得的最大好处是性能得到提高。目前,他们有 75 TB(以每年 8 TB 的速度增长)的身份数据和来自世界各地的身份文件,这些数据和身份文件由小图像(低分辨率)和小文件组成,从而产生大量对象。MinIO 在模型训练期间提供的速度和带宽使他们每天可以运行更多实验。众所周知,您可以运行的训练实验越多,新想法得到验证的速度就越快,一旦新想法被证明可行,就可以更快地交付价值。Microblink 目前每天运行大约 30 个实验。“对我们来说,一个惊喜是,在网络升级后,我们注意到 MinIO 的性能提高了。” 节省成本也是一个重要的好处。使用 MinIO 来存储所有数据意味着云存储成本大大降低。此外,不再需要与云同步,因此入口和出口费用也大大降低。底线是节省了 62% 的成本。如今,Microblink 仅使用 GCP 进行数据获取。处理新数据并将其发送到 MinIO 后,它就会从云存储中删除。

未来

Microblink 存储的 75 TB 数据中,大约有一半是从客户扫描的各种图像中提取的结构化数据。为了改进这些结构化数据的存储并允许他们的产品利用它做更多的事情,Microblink 将构建一个现代数据湖(也称为数据湖仓一体)。现代数据湖是一半的数据湖(用于图像等非结构化数据)和一半数据仓库(用于结构化数据),两者都使用 MinIO。现代数据湖是通过 Netflix、Uber 和 Databricks 分别提出的 Apache Iceberg、Apache Hudi 和 Deltalake 开放表格式实现的。一旦 Microblink 建立了他们的现代数据湖,他们将拥有一个完整的平台来存储他们的所有数据。他们将能够使用现代 Datalake 数据仓库端的高级功能分析其结构化数据,并将使用其数据湖进行高速模型训练。

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

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

相关文章

Update Azure OpenAI npm Package to 2023-12-01-preview Version

题意:将 Azure OpenAI npm 包更新到 2023-12-01-preview 版本 问题背景: I am currently using the azure-openai npm package in my project with version 2023-03-15-preview. As per the latest updates, version 2023-12-01-preview is available a…

【论文分享】MyTEE: Own the Trusted Execution Environment on Embedded Devices 23‘NDSS

目录 AbstractINTRODUCTIONBACKGROUNDARMv8 ArchitectureSecurity statesTrustZone extensionsVirtualization Communication with Peripherals MOTIVATIONATTACK MODEL AND ASSUMPTIONSYSTEM DESIGNOverviewExecution Environments IsolationDMA FilterExternal DMA controlle…

负载均衡--资源申请说明(三)

1.负载方式:分为四层负载和七层负载 2.负载协议:四层负载为TCP和UDP,七层负载为HTTP和HTTPS 4.负载端口:填写虚地址的端口(一般与后端服务端口保持一致) 5.真实服务IP:指被负载的后台真实服务…

零售自动化新趋势:AI 智能名片与 S2B2C 商城系统助力零售业变革

摘要:本文深入探讨零售业所面临的多重压力,分析客户期望不断提高的现状,强调零售商追求自动化的必要性。引入零售自动化的概念,阐述其通过技术实现零售体验自动化或半自动化,提供线上线下无缝连接、快速和个性化体验的…

MATLAB实现跳频多频移键控通信系统仿真

1. 简介 在现代无线通信系统中,跳频技术和多频移键控(MFSK)调制被广泛应用于抗干扰和提高通信系统性能。本文将通过 MATLAB 仿真分析跳频 MFSK 通信系统的性能,特别是在不同信道干扰条件下的误码率(BER)表…

ultralytics框架实现ByteTrack目标追踪算法

在ultralytics框架中,提供了两种用于目标追踪的算法,分别是ByteTrack算法与Botsort算法,这两种算法都是在Sort算法的基础上改进的,今天,我们学习一下ByteTrack算法。 存在问题 首先,我们看下ByteTrack所解…

《数字信号处理》学习04-离散时间系统中的线性时不变系统

目录 一,系统及离散时间系统 二,离散时间系统中的线性时不变系统 1,线性系统 1) 可加性 2) 比例性(齐次性) 3)叠加原理(叠加性质) 2,时不变系统(移不变系统) 通过前几篇文章的学习,此时我对序列的相关概…

毒枸杞事件启示录:EasyCVR视频AI智能监管方案如何重塑食品卫生安全防线

一、方案背景 近年来,食品安全问题频发,引发了社会各界的广泛关注。其中,毒枸杞事件尤为引人关注。新闻报道,在青海格尔木、甘肃靖远等地,部分商户为了提升枸杞的品相,违规使用焦亚硫酸钠和工业硫磺进行“…

深度学习5从0到1理解RNN(包括LTSM,GRU等):内容丰富(下)

续 5.4.4 LSTM 举例 网络里面只有一个 LSTM 的单元,输入都是三维的向量,输出都是一维的输出。这三维的向量跟输出还有记忆元的关系是这样的。假设 x2 的值是 1 时, x1 的值就会被写到记忆元里;假设 x2 的值是-1 时,就…

时序数据库 IoTDB 为什么选择 TPCx-IoT 基准测评?

IoTDB 在 TPCx-IoT 榜单的 What 与 Why 解答! 去年,我们发布了 IoTDB 多项性能表现位居国际数据库性能测试排行榜 benchANT(Time Series: DevOps)第一名的好消息。 刚刚落幕的数据库顶级会议 VLDB 上,我们又收获了一则…

如何优化浏览器缓存

每当用户访问您的网站,他他们的浏览器需要从服务器上下载页面显示所需的资源(图片、CSS、JavaScript 和字体等),这些资源的下载会占用带宽,并需要一定的传输时间。但通过正确配置,您可以告知用户的浏览器保…

JavaScript面向对象小挑战

// 编码挑战 #4 /* 重新创建挑战 #3,但这次使用 ES6 类:为 “CarCl ”类创建一个 “EVCl ”子类将 “charge ”属性设为私有; 实现对该类的 “accelerate ”和 “chargeBattery ”方法进行链式处理的功能,同时更新 “CarCl ”类…

IOS 21 发现界面(UITableView)单曲列表(UITableView)实现

发现界面完整效果 本文实现歌单列表效果 文章基于IOS 20 发现界面(UITableView)歌单列表(UICollectionView)实现 继续实现发现界面单曲列表效果 单曲列表Cell实现 实现流程: 1.创建Cell,及在使用UITable…

datagrip链接sql server2005报错

错误信息 第一次报 DBMS: Microsoft SQL Server (no ver.) Case sensitivity: plainmixed, delimitedexact [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client pr…

汽车电子行业知识:关于车载中控屏

文章目录 1. 车载中控屏的功能2. 最新技术3. 最新产品4. 未来趋势5. 车载中控屏的供应商5.1. 电子元件制造商5.2. 显示技术公司5.3. 软件和系统集成商5.4. 汽车制造商5.5. 新兴科技公司 车载中控屏是现代汽车中不可或缺的组成部分,它不仅提供了车辆信息的显示&#…

爬楼梯[简单]

优质博文:IT-BLOG-CN 题目 假设你正在爬楼梯。需要n阶你才能到达楼顶。 每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n 2 输出:2 解释:有两种方法可以爬到楼顶。 1阶…

前端模拟面试:如何检查JavaScript对象属性是否存在?

你正在参加一场关键的前端开发面试,面试官提出了一个经典的JavaScript问题:“在JavaScript中,如何检查对象是否包含某个属性?请你详细介绍几种不同的方法,并解释它们的区别。” 这个问题不仅考验你对JavaScript的基础掌…

注册表分析

目录 介绍步骤regsports 介绍 RegRipper 是一个开源工具,用 Perl 编写,用于从注册表中提取/解析信息(键、值、数据)并将其呈现以供分析。 RegRipper 由两个基本工具组成,它们都提供类似的功能。 RegRipper GUI 允许分…

Mac工程动态库配置和加载探究

缘起 最近在做Mac程序的打包,其中涉及到Mac程序引用了Hoops的第三方动态库。在之前的工程配置中,Project的Run Script是这么来处理动态库的: FRAMEWORKS_DIR${TARGET_BUILD_DIR}/${EXECUTABLE_NAME}.app/Contents/Frameworks/ mkdir -p ${F…

FastDFS分布式存储:概念、集群案例

FastDFS FastDFS:Fast DistributedFileSystem,快速分布式文件系统 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等&…