Jack-Cui · 5月6日

又火一个惊艳的AI项目,开源了!

大家好,今天继续聊聊科技圈发生的那些事。

一、tiny-gpu

GPU,到底是啥?

有的人说,GPU 就是显卡嘛。又有的人探出头说,不对,GPU 是显卡上的一块芯片。

image.png

那么 GPU 有什么用呢?常玩游戏的小伙伴说到,打游戏的时候需要显卡帮忙渲染呗,用来打游戏的!做人工智能的小伙伴说,需要算力来跑数据呗!再狠一点的,用来挖矿,赚点币花!

说了这么多,我们有没有真正的想过一个问题:GPU 到底是怎么工作的呢?似乎我们一直都没有研究过。

tiny-gpu 这个项目实现了一个最小的 GPU ,用于从基础开始学习 GPU 的工作原理。它的特点是,没有针对特定硬件的细节进行阐述,而是强调所有架构的一般原理。

项目主要分成三个大点:

  • 架构 - GPU 的架构是怎样的?最重要的元素是什么?
  • 并行化 - SIMD 编程模型是如何在硬件中实现的?
  • 内存 - GPU 如何在有限的内存带宽限制下工作?

image.png

于是我们就能看到,项目从 GPU 的结构入手,逐渐往下进行介绍。运用一个一次只能执行一个内核的 GPU,项目手把手实现了 GPU 完整的工作原理。比如,演示 SIMD 编程,使用 GPU 执行的概念验证,以及渲染流水线等等。

作者说到,关于 CPU 的工作原理,大家可以很轻松的找到教程,而 GPU 市场竞争激烈,大家都想保护自己的技术,这导致了连底层的原理介绍都微乎其微。这就是这个教学向的项目创建的原因。

对 GPU 工作原理感兴趣的小伙伴,可以进项目自行学习看看。

项目地址:https://github.com/adam-maj/tiny-gpu

二、CoreNet

一向抠门的苹果,这回居然开源了自家训练神经网络的库。

CoreNet,苹果公司自家开源的一个深度神经网络工具包。它允许开发人员训练标准和新型的各种模型,以完成各种任务,包括基础模型(如 CLIP 和 LLM)、对象分类、对象检测和语义分割。

CoreNet 的青春版本叫 CVNets,当时是一个专注于计算机视觉的库,现在苹果对其进行了一次“升级进化”,现在它的功能面更广,不仅仅局限于视觉领域。

image.png

开发团队列出了使用 CoreNet 的项目列表,可以看到还是有不少实际应用的。不知道大家有没有关注近日苹果发布的开源大模型 OpenELM,用的就是它。

image.png

项目的主页更像是一个指导手册,比如提供使用实例,提供一些训练配方,数据集等等。毕竟这是人家自用的库,具体怎么用最合适,还是得专业人士自己才知道。

不过我们若是想体验,项目主页也提供了部署方法和使用教程,比如下面这个文件:

image.png

话说回来,连苹果都舍得开源大模型和训练大模型的库了,我们还不一起关注一下吗?感兴趣的小伙伴可以持续跟进了解 CoreNet 和苹果家的开源大模型。

项目地址:https://github.com/apple/corenet

三、IDM-VTON

老黄,今天不穿皮衣了?

image.png

这样的效果,是使用 IDM - VTON 实现的。虚拟试衣项目也是咱们的老朋友了,不过之前似乎没有细说什么是 VTON,事实上就是 virtual try-on,虚拟试穿嘛。

我们再来看几个示例:

image.png
image.png

嗯,这样看来,哈卷这裤子一换,还挺配这专辑封面的配色的。霉霉和碧梨也是风格各异,别说,还真是别有一番风味。

虚拟试衣类型的项目咱们分享的也不少了,比如先前的 OOTDiffusion 和 IP - Adapter,不同的项目都有其不同的长处。而这次的 IDM - VTON 更像是集大成者,它结合了这些项目的特点,并进行整合提升。

image.png

项目依旧是基于扩散模型实现。简单看看模型的架构,大致分为三部分:

  • TryonNet:主UNet,用于处理人物图像。
  • IP-Adapter:图像提示适配器,用于编码服装图像的语义。
  • GarmentNet:并行UNet,用于提取服装的低级特征。

image.png

首先第一步,提供输入,整合数据。IDM - VTON 使用两个不同的模块对服装图像的语义进行编码;将从视觉编码器中提取的高级语义融合到交叉注意层,然后将从并行 UNet 中提取的低级特征融合到自我注意层。最后,输出结果。

项目的效果非常不错,在提供输入的时候还可以给定一句话的 prompt 进行描述,使生成效果更好。团队也提供了 Huggingface 的在线体验地址,感兴趣的小伙伴可以自行体验一下。

在线体验地址:https://huggingface.co/spaces/yisol/IDM-VTON

项目地址:https://github.com/yisol/IDM-VTON

四、Mini-Gemini

Mini-Gemini 是一个多模态 VLM 框架。VLM 即 Vision-Language Model,视觉语言模型。

我们对 Mini-Gemini 进行一次发问:

image.png

首先我们提供了一张可爱的 meme 图,我们尝试让 Mini-Gemini 对其进行解释,看看它能不能 get 到这个搞笑的点。同时,再让它生成一张周末到来时的图片。

image.png

不错,它居然真的看懂了,甚至还正确的给出了“期盼周末”这样的prompt。

作者团队在设计 Mini-Gemini 时,主要有以下三个侧重点:

  • 高分辨率视觉 token,高分辨率与识别图上的细节部分紧密相关
  • 高质量数据
  • 扩展 VLM 应用场景

image.png

模型的实现,利用双视觉编码器,提供低分辨率视觉嵌入和高分辨率候选;提出补丁信息挖掘,在高分辨率区域和低分辨率视觉查询之间进行补丁级挖掘;利用 LLM 将文本与图像结合起来,同时进行理解和生成。

image.png

在近期的更新中,作者团队更新了在线体验的地址。现在,我们也可以一起感受一下这款强大的 VLM 模型了!

在线体验地址:https://huggingface.co/spaces/wcy1122/MGM

项目地址:https://github.com/dvlab-research/MGM

好了,本期的内容就是这么多,我们下期再见!

END

作者:陈同学
原文:Jack Cui

系列篇

更多AIoT领域有趣的算法应用及产品请关注有趣的AIoT应用专栏。
推荐阅读
关注数
2143
内容数
24
介绍有趣好玩的AIoT 实战项目,算法应用及软硬件产品。
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息