0%

LLaVA-Plus 是LLAVA团队最近放出来的LMM工作,对LLaVA进行了改进升级,相比LLaVA对输入图像只能进行文本回答的情况,LLaVA-PLUS则包含相当丰富的功能:

  • 可以调用SD生成与输入类似的图像
  • 可以对图像进行编辑,例如调用Instruct pix2pix在图像上放置一只动物
  • 可以对图像进行物体检测,分割,Cpation,OCR,打标签等多模态处理的功能
  • 还可以调用外部知识来对未知的信息进行检索
  • 支持用户交互,如对用户点击的区域进行实例分割
  • 对图像进行美化,然后生成可以发布到社交媒体上的文案

那么LMM是怎么获得到这么多的多模态能力的呢?论文中提出了一个叫Skill Repository 的概念,就是一些AI 子任务的能力和对应的模型,利用这个Skill Repository来完成丰富的功能。也就是说LLaVA-Plus将用户输入的任务通过进行拆分,然后调用合适的子任务模型来实现,再对结果进行一定的处理返回给用户。

阅读全文 »

1. 说明

今早看到一个好玩的项目,利用Bing Image Creator 来生成每日诗词的图像,研究了一下,发现有人提供了BingImageCreator仓库来调用Bing的API在代码中生成图像,但还需要下载源码,没有提供cli,cookie怎么获取也没有讲太细。

因此我基于这个仓库,做了一些精简和封装,提供了一个可以直接pip安装的工具bing_brush, 获取cookie后可以直接命令行调用。

阅读全文 »

TL;DR:
我基于 LeptonAI 和 Beeware Python 库,利用 88 行的Python,不用写一行Java代码,在手机上做了一个 SDXL text-to-image 的Demo,效果见这里的视频。

作为一个爱折腾写Python比较多的人,我一直在想一个事情:能否将熟悉的Python技术栈的能力带到移动平台中,不用写哪些繁琐的Native开发代码,就能在移动端跑起来一个AI Demo呢?因为相比PC,移动端设备的用户数多得多,每个人都有一台手机,但并不是每个人都有一台电脑。

一次偶然的机会,我发现了 Beeware,一个目标 “Write once. Deploy everywhere.“ 的跨平台 Python 工具箱。基于 Beeware 工具箱写的 Python 程序可以在 PC,Web,Android 和 iOS 上运行,因此正是我想要的。

一切听起来很美好,但实际使用时也遇到很多问题。

阅读全文 »

1. 背景

LeptonAI是贾扬清的创业项目,正如 slogan “Build AI The Simple Way” 所表明的,LeptonAI的目标是简化AI模型的部署。

简单来说,LeptonAI 提供了 Python SDK 和云平台。Python SDK 可以让没有AI领域知识的普通开发者调用2~3行命令就能部署一个AI模型,然后用一个curl语句或几行Python代码就能完成客户端请求;而 LeptonAI 云平台提供了CPU,GPU和存储资源,开发者可以把创建的AI模型部署到这里,就能提供公开对外的AI服务。

AI模型创建支持 HuggingFace,也就是说可以将 HuggingFace 上海量的模型集成到自己的应用中。同时 LeptonAI 也支持从 GitHub 仓库创建 AI 模型,给了开发者更多的选择。

经过一段时间的体验后发现,LeptonAI Python SDK 设计的很优雅,用起来很舒服,而云平台的操作也很丝滑,有贾扬清大神亲自操刀写代码,SDK和云平台的质量绝对是信得过的。

那 LeptonAI 是否解决了一些 AI 部署中的痛点问题呢?我认为是的。根据之前的经验,跑一些 AI 开源模型成本还是挺高的。

阅读全文 »

1. 概述

这是DeepMind 最近发表的一篇论文,题目翻译成中文是“语言模型即压缩”,是一个很简单但也有分量的观点。更有趣的是,论文中作者发现,自己的预训练大模型Chinchilla 70B只在文本训练集上训练后,在ImagNet 图像Patch上压缩率能达到43.4%,优于PNG算法的压缩率58.5%,在LibrSpeech语音数据集上,压缩率达到16.4%,优于语音压缩算法FLAC30.3%的压缩率。

说实话看到这个结论我还是很震惊的。一个是文本数据上训练的模型居然也能用于图像和语音的压缩,而且压缩率还高于常用的领域特定的压缩算法。

除了震惊,还很好奇大模型是怎么被当作压缩器来压缩文本图像和语音数据的。在好奇心的驱使下,我读了几遍这篇论文。

阅读全文 »

Numpy是Python中常用的数值计算库,我们经常需要用到Numpy来打印数值,查看结果。为了能精确地控制Numpy打印的信息,Numpy提供了set_printoptions 函数,包含数个参数,能满足数值打印的需要。

这里以iPython中操作作为示例,从浅入深,一步步地探索set_printoptions提供的功能,如何来满足我们的打印需求。

阅读全文 »

Code Llama 是 Meta 基于 Llama 2 的代码生成AI模型, 在同类开源模型中取得比较好的结果。这里计划写3篇系列文章,从论文细节、代码使用、效果实测方面对 Code Llama 进行解读,欢迎关注我了解后续文章。

1. 背景

2023年8月24日,Meta 开源了基于 Llama 2) 通用 LLM 的代码生成系列模型 Code Llama),支持Python, C++, Java, PHP, TypeScript, C# 和 Bash 编程语言,而且支持学术研究和商业使用。

另外 Code Llama 官方代码只提供了一些简单的使用示例,没有提供生产环境可用的 VSCode 等 工具的插件,搜索了一下也没找到简单易用的第三方开发的插件。相信很快就会有人做出来的。如果你有看到基于 Code Llama 的 VSCode 或者 Vim 插件,欢迎评论指教。

阅读全文 »

1. 概述

论文地址:arxiv
代码地址:ml-fastvit

FastViT 是苹果公司在 ICCV 2023上发表的网络结构设计的论文,在速度和精度上取得比较好的折衷,速度上既能和MobileOne这种轻量级网络匹敌,精度上也不输PoolFormer、ConvNeXt等比较新的大网络结构。

阅读全文 »

1. 背景

用Python跑有大量数据的任务的时候,启用多进程加速效果明显。但因为我之前在使用Python的多进程库时总遇到卡住的问题,后来对这块避而远之,总是用别的方法来加速。最近发现OpenMMLab的一些库提供了多进程并行的函数功能,简单好用。比如一个简单的toy例子,OpenCV读图像,resize然后保存,在8个CPU核的 Mac 上,加速比能达到3.4倍(45ms vs 13ms),也就是以前要跑3个多小时的任务,现在1个小时就能搞定,省了不少时间,更多实际例子也证明了这个函数的加速效果,还是挺实用的。这里写个教程,希望也能方便到别的有同样需要的人,当然同类型的库应该也有很多,这里只是取一瓢饮。

阅读全文 »

1. 引入

git clean 是用来删除 git 仓库中没有被跟踪的文件的命令,在想要快速清理 git 仓库(比如,删除仓库中所有没有跟踪的文件,清除编译生成的临时文件)时很有用。是相比别的git子命令, git clean的配置选项比较少,使用起来简单一些,这里写一个简要教程。
友情提示:git clean真的会删除文件,而且没法用git命令来恢复(因为没有被 git 跟踪),所以使用git clean前务必慎重,建议每次删除文件之前先加--dry-run 选项来验证会删除哪些文件,确保没有误删。

阅读全文 »