AI小实验:大语言模型能否帮助我们理解古诗?
昨天在读龚自珍《己亥杂诗》的时候,看到一句“千秋名教吾谁愧?愧读羲之誓墓文”,怎么想都想不明白这句什么意思。
突发奇想,既然大语言模型进展突飞猛进,能否帮助我来解读这句诗是什么意思呢?
昨天在读龚自珍《己亥杂诗》的时候,看到一句“千秋名教吾谁愧?愧读羲之誓墓文”,怎么想都想不明白这句什么意思。
突发奇想,既然大语言模型进展突飞猛进,能否帮助我来解读这句诗是什么意思呢?
LLaVA-Plus 是LLAVA团队最近放出来的LMM工作,对LLaVA进行了改进升级,相比LLaVA对输入图像只能进行文本回答的情况,LLaVA-PLUS则包含相当丰富的功能:
那么LMM是怎么获得到这么多的多模态能力的呢?论文中提出了一个叫Skill Repository
的概念,就是一些AI 子任务的能力和对应的模型,利用这个Skill Repository来完成丰富的功能。也就是说LLaVA-Plus将用户输入的任务通过进行拆分,然后调用合适的子任务模型来实现,再对结果进行一定的处理返回给用户。
今早看到一个好玩的项目,利用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 上运行,因此正是我想要的。
一切听起来很美好,但实际使用时也遇到很多问题。
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 开源模型成本还是挺高的。
这是DeepMind 最近发表的一篇论文,题目翻译成中文是“语言模型即压缩”,是一个很简单但也有分量的观点。更有趣的是,论文中作者发现,自己的预训练大模型Chinchilla 70B只在文本训练集上训练后,在ImagNet 图像Patch上压缩率能达到43.4%,优于PNG算法的压缩率58.5%,在LibrSpeech语音数据集上,压缩率达到16.4%,优于语音压缩算法FLAC30.3%的压缩率。
说实话看到这个结论我还是很震惊的。一个是文本数据上训练的模型居然也能用于图像和语音的压缩,而且压缩率还高于常用的领域特定的压缩算法。
除了震惊,还很好奇大模型是怎么被当作压缩器来压缩文本图像和语音数据的。在好奇心的驱使下,我读了几遍这篇论文。
Code Llama 是 Meta 基于 Llama 2 的代码生成AI模型, 在同类开源模型中取得比较好的结果。这里计划写3篇系列文章,从论文细节、代码使用、效果实测方面对 Code Llama 进行解读,欢迎关注我了解后续文章。
2023年8月24日,Meta 开源了基于 Llama 2) 通用 LLM 的代码生成系列模型 Code Llama),支持Python, C++, Java, PHP, TypeScript, C# 和 Bash 编程语言,而且支持学术研究和商业使用。
另外 Code Llama 官方代码只提供了一些简单的使用示例,没有提供生产环境可用的 VSCode 等 工具的插件,搜索了一下也没找到简单易用的第三方开发的插件。相信很快就会有人做出来的。如果你有看到基于 Code Llama 的 VSCode 或者 Vim 插件,欢迎评论指教。
论文地址:arxiv
代码地址:ml-fastvit
FastViT 是苹果公司在 ICCV 2023上发表的网络结构设计的论文,在速度和精度上取得比较好的折衷,速度上既能和MobileOne这种轻量级网络匹敌,精度上也不输PoolFormer、ConvNeXt等比较新的大网络结构。
用Python跑有大量数据的任务的时候,启用多进程加速效果明显。但因为我之前在使用Python的多进程库时总遇到卡住的问题,后来对这块避而远之,总是用别的方法来加速。最近发现OpenMMLab的一些库提供了多进程并行的函数功能,简单好用。比如一个简单的toy例子,OpenCV读图像,resize然后保存,在8个CPU核的 Mac 上,加速比能达到3.4倍(45ms vs 13ms),也就是以前要跑3个多小时的任务,现在1个小时就能搞定,省了不少时间,更多实际例子也证明了这个函数的加速效果,还是挺实用的。这里写个教程,希望也能方便到别的有同样需要的人,当然同类型的库应该也有很多,这里只是取一瓢饮。