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

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.rhkb.cn/news/416613.html

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

相关文章

【图解版】Likes Vs Dislikes——C语言提高题【7 kyu】

一、原题 链接:Training on Likes Vs Dislikes | Codewars YouTube had a like and a dislike button, which allowed users to express their opinions about particular content. It was set up in such a way that you cannot like and dislike a video at the…

云原生 | 在 Kubernetes 中使用 Cilium 替代 Calico 网络插件实践指南!

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x00 简述介绍 什么是 Cilium? Cilium 是一款开源软件,它基于一种名为eBPF的新的Linux内核技术提供动力,用于透明地保护使用 Docker 和 Kubernetes 等Linux 容器管理平台中部署的应用程序服务之间的网络连接,Ciliu…

kubernetes中的ParallelizeUntil()框架源码解读与使用

概述 摘要:本文从源码层面解读了kubernetes源码中常用的workqueue.ParallelizeParallelizeUntil()框架的源码实现,并且本文也将举例说明了workqueue.ParallelizeUntil()方法的典型使用场景。 正文 说明:基于 kubernetes v1.18.0 源码分析 …

【Qt 即时通讯系统】信息消息核心类的编写

文章目录 1. 获得唯一的 messageId2. 转成格式化时间3. 把QByteArray数据转成QIcon 1. 获得唯一的 messageId 🐧通过createUuid()可以获得全球唯一的身份标识,Qt中对UUID是有封装的,获取的结果其实是一串十六进制数。 2. 转成格式化时间 …

数字化转型的内容框架解析,附华为数字化转型内容框架及方法论

数字化转型的内容框架是一个系统性、多维度的体系,旨在通过数字技术的融入和应用,对传统业务、流程和模式进行重构、升级,以提升效率、创造更多价值。以下是对数字化转型内容框架的详细阐述: 一、总体要求 数字化转型的总体要求…

Open3D 体素随机下采样

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 三、实现效果 3.1原始点云 3.2体素下采样后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述 体…

AD19基础应用技巧:捕捉对象功能的讲解鼠标”绿色十字”大光标、小光标切换

AD PCB 中心点捕捉功能: 线段、圆、边框中心点捕捉。 有时候不想要鼠标自动捕捉中心点怎么办? 关于Altium Designer 20 的捕抓功能的讲解(https://blog.csdn.net/weixin_44599693/article/details/126177841) ——- AD PCB画板…

详解si5338 si53xx 设计使用及STM32 iic驱动设计

背景 在实际项目中经常使用si5338 si53xx,进行多路时钟的倍频以生成想要的时钟信号,但是针对si5338 si53xx设计使用缺少相关的资料,本文详解si5338 si53xx 设计使用及STM32 iic驱动设计,本文使用工程在项目中得到测试&#xff0c…

虚拟系统VS

定义 虚拟系统VS(Virtual System)是指将一台物理设备PS(Physical System)虚拟成多个相互隔离的逻辑系统。每个VS独立工作,在业务功能上等同于一台独立的传统物理设备,如图2-1所示。 目的 随着网络规模的不…

省钱的开源项目「GitHub 热点速览」

本期,我从上周的热门开源项目中挑选了 5 个既省钱又省事,还好玩的开源项目。 首先,推荐的是省钱的电动汽车智能充电管理平台 evcc,它可以根据分时电价智能安排电动车充电时间,从而降低电费,如果你家还有太阳…

第五篇——数学边界:从毕达哥拉斯定理到费马大定理

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么? 四、总结五、升华 一、背景介绍 数学世界让我敬畏的心,再一次蠢蠢欲动,那些伟大的…

VXLAN 为何采用UDP

VXLAN 简介 VXLAN是一种网络虚拟化技术,它通过在UDP数据包中封装MAC地址和IP信息,使得二层网络(如以太网)能够跨越三层网络(如IP网络)进行扩展。这种封装方式不仅支持TCP流量的传输,还能有效处…

Open3D 点云导向滤波

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 三、实现效果 3.1原始点云 3.2滤波后点云 Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述 点云导向…

香橙派开启vnc

1连接香橙派 2. 更新系统 在SSH会话中,首先更新系统软件包列表并升级现有软件包: sudo apt update sudo apt upgrade3. 安装VNC服务器 安装VNC服务器软件,这里以x11vnc为例: sudo apt install x11vnc 出现如图输入如下代码即可…

AI模拟面试记录

一:Java模拟面试(9.4) 1.哪些问题是HTTPS无法解决的? 1.网络延迟:HTTPS是基于TCP协议的,因此会受到TCP握手和TLS挥手带来的时间延迟,会导致加载的页面时间变长。 2.数据包大小:由…

二进制方式安装K8S

⼀、安装说明 本⽂章将演示Rocky 8 ⼆进制⽅式安装⾼可⽤k8s 1.28.0版本。 ⽣产环境中,建议使⽤⼩版本⼤于5的Kubernetes版本,⽐如1.19.5 以后的才可⽤于⽣产环境。 ⼆、集群安装 2.1 基本环境配置 请统⼀替换这些⽹段,Pod⽹段和service和…

Golang | Leetcode Golang题解之第393题UTF-8编码验证

题目&#xff1a; 题解&#xff1a; const mask1, mask2 1 << 7, 1<<7 | 1<<6func getBytes(num int) int {if num&mask1 0 {return 1}n : 0for mask : mask1; num&mask ! 0; mask >> 1 {nif n > 4 {return -1}}if n > 2 {return n}r…

Hadoop是什么?

Hadoop 是什么 1&#xff09;Hadoop 是一个由 Apache 开发的分布式系统基础架构&#xff1b; 2&#xff09;主要解决&#xff1a;海量数据的存储和海量数据的分析计算问题&#xff1b; 3&#xff09;广义上来说&#xff0c;HADOOP 通常是指——HADOOP 生态圈&#xff1b; H…

v-bind后面不加属性和v-bind的动态属性

v-bind 平常常见的用法我们应该都知道&#xff0c;说一说 v-bind 的不常用的方式&#xff0c;第一个就是 v-bind 后面直接不添加任何属性&#xff0c;此时会将一个对象的所有 property 都作为 prop 传入 先看官网的说法案例&#xff1a; 父组件&#xff1a; <templat…

828华为云征文|华为云Flexus X实例docker部署srs6并调优,协议使用webrtc与rtmp

828华为云征文&#xff5c;华为云Flexus X实例docker部署srs6并调优&#xff0c;协议使用webrtc与rtmp 华为云最近正在举办828 B2B企业节&#xff0c;Flexus X实例的促销力度非常大&#xff0c;特别适合那些对算力性能有高要求的小伙伴。如果你有自建MySQL、Redis、Nginx等服务…