0%

2023年对我来说是一个惊喜的年份,因为可爱的女儿降生了。也是一个难言的年份,在零基础学带娃+长途通勤+家庭矛盾+工作压力的组合作用下,时常burnout,切身体会到人到中年的不容易。好在娃娃的每一个笑容都如此治愈,陪我度过艰难的2023。

技术

技术上,这一年开始担任组内一些项目的Owner,负责与外部团队对接。对于之前习惯做单点技术的我来说,还是个不小的挑战,在小组内沟通、任务规划与拆解、按期交付等方面都需要改进。

在开源项目上,主要做了两个项目。

一个是周刊类的项目 weekly-post,记录我每周看到的一些技术文章,希望给国内的技术同行们一些信息来源和灵感启发。不过在年中的时候断更之后再没更新。反思了下, 本身没有做中文翻译,且只有GitHub一个途径,因此触达的用户不多,反馈也少,很容易坚持不下去,未来或许还会继续尝试这种项目,参考潮流周刊等项目的经验。

另一个是语音聊天对话AI talkGPT4All,语音输入问题,GPT产生回复,再通过TTS合成声音。本身是一个简单的缝合项目,不过是实现了我长久以来一直想做的对话Bot的功能。未来考虑在手机上迁移,触达更多的普通人。当然这类App要做到真正好玩,还需要大量的开发工作。

别的还有一些小的AI工具,都发布到PyPI了,可以pip直接安装:

  • bing_brush: DALLE-3图像生成工具
  • dinov2-retrieval: 基于DINO V2的图像检索工具
  • mp-face-stylizer: 基于MediaPipe的人脸风格化工具

生活

2023年5月,女儿出生,这是过去一年最值得纪念的事情。女儿的到来给我们二人组近十年的二人生活带来了太多惊喜,爸妈也过来一起带娃,五人的家庭是全新的体验,有乐也有苦,总归是度过最难的时候了。

下面是这一年和身边的人的相聚,虽然相聚的机会不多,但每一次相聚都值得铭记:

  • 1月12日大团队年会。
  • 1月14日去小营巷钱学森故居参观。
  • 1月14和董政潇哥去刘旸家聚餐。
  • 2月12日游黄龙洞和保俶塔。
  • 2月18日和彤彤金沙湖春游。
  • 4月8日带父母游西湖。
  • 5月5日女儿出生。
  • 5月14日东升和老婆来看王茗溪小朋友。
  • 5月19日团队京城一锅聚餐。
  • 6月21日,团队在华夏之心闻老头聚餐。
  • 6月23日下午,张凯来看娃,带了好多水果还有孩子看的书。
  • 7月2日参加何同学线下测试活动,见到了何同学本尊并合影。
  • 8月11日参加淘天三年醇活动。
  • 8月19日去净慈寺,尝素烧鹅,捐了48元一片瓦,内心愉悦。净慈美术馆《山中妙音》画展很不错。
  • 9月20日带父母去临平体育中心看亚运会男排比赛。
  • 国庆和彤彤带娃回家看彤彤爷爷。坐飞机到兰州,坐高铁去秦安,再打车回庄浪。返程先去咸阳,再坐飞机回杭。
  • 10月19日团队疆小羊聚餐。
  • 10月22日游飞来峰,韬光寺和永福寺。韬光寺第二次来,桂花还是谢了,半路买茶叶的老人还在。永福寺第一次去,里面很大。
  • 10月31日下午和团队参加云栖大会。
  • 11月10日晚,和刘旸,董政,杨珈蒙去嘉里中心吃了云南菜一坐一忘。
  • 12月31日,和赵彤同事们一起去径山寺

书籍

看完的:

  • 刘少奇传
  • 一百年,许多人,许多事:杨苡口述自传
  • 朱德传
  • 南京大屠杀
  • 己亥杂诗
  • 爱你的一万种方式

在看的:

  • 植物的战斗
  • 迷路员
  • 我在北京送快递
  • 创造:用非传统方式做有价值的事
  • 史蒂夫乔布斯传
  • 生活蒙太奇
  • 荷花淀

电影和电视剧

  • 流浪地球2
  • 拾荒者统治
  • 中国奇谭(小妖怪给看哭了)
  • 椒麻堂会
  • 最后生还者第一季
  • 过往人生
  • 阿索卡
  • 曼达洛人第三季
  • 伯爵
  • 我是格鲁特第二季
    没看完的:
  • 三体电视剧
  • 五月十二月
  • 银河护卫队3
  • 奥本海默
  • 星条红与皇室蓝
  • 忠犬八公
  • 流人第二季
  • 蓝眼武士
  • 万神殿第二季
  • 公寓大楼里的谋杀案
  • 足球教练
  • 史前星球第二季

面向2024

2024年,不奢望太多,孩子健康成长就好。

1. 概述

talkGPT4All是基于GPT4All的一个语音聊天程序,运行在本地CPU上,支持Linux,Mac和Windows。它利用OpenAI的Whisper模型将用户输入的语音转换为文本,再调用GPT4All的语言模型得到回答文本,最后利用文本转语音(TTS)的程序将回答文本朗读出来。

今年4、5月份的时候,我发布了talkGPT4All 1.0版本和2.0版本,链接见下:

talkGPT4All: 基于GPT4All的智能语音聊天程序
talkGPT4All 2.0:现在支持8个语言模型了

大家反馈最大的问题是TTS太机械了,听着很难受(具体可以看前面两篇文章的评论区)。而最近TTS领域的进展很多,例如很受欢迎的 coqui-ai的TTS 库,提供了TTS、声音克隆和声音变换的功能。上周末尝试了一下,发现内置了一些开箱即用的TTS模型,刚好可以集成到 talkGPT4All 中,解决目前采用的 pyttsx3合成声音太机械的问题。

阅读全文 »

昨天在读龚自珍《己亥杂诗》的时候,看到一句“千秋名教吾谁愧?愧读羲之誓墓文”,怎么想都想不明白这句什么意思。

突发奇想,既然大语言模型进展突飞猛进,能否帮助我来解读这句诗是什么意思呢?

阅读全文 »

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 插件,欢迎评论指教。

阅读全文 »