惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Jina AI
Jina AI
V
Vulnerabilities – Threatpost
Security Latest
Security Latest
AI
AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
量子位
H
Help Net Security
Attack and Defense Labs
Attack and Defense Labs
The GitHub Blog
The GitHub Blog
L
LINUX DO - 最新话题
A
Arctic Wolf
博客园_首页
S
Securelist
S
Secure Thoughts
Google DeepMind News
Google DeepMind News
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
Cyberwarzone
Cyberwarzone
小众软件
小众软件
T
Threatpost
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Blog — PlanetScale
Blog — PlanetScale
N
News and Events Feed by Topic
NISL@THU
NISL@THU
Forbes - Security
Forbes - Security
博客园 - 聂微东
F
Fortinet All Blogs
Simon Willison's Weblog
Simon Willison's Weblog
H
Heimdal Security Blog
罗磊的独立博客
S
Security @ Cisco Blogs
B
Blog
T
Troy Hunt's Blog
Engineering at Meta
Engineering at Meta
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Hacker News
The Hacker News
The Last Watchdog
The Last Watchdog
Hacker News - Newest:
Hacker News - Newest: "LLM"
I
Intezer
T
Threat Research - Cisco Blogs
C
Cybersecurity and Infrastructure Security Agency CISA
The Cloudflare Blog
S
Schneier on Security
月光博客
月光博客
L
LINUX DO - 热门话题
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

ventuss - 中文

AI 是我未出生的兄弟 揪心的弯路与漫长的 Kintsugi 梵高和我们所迷恋的 环形算法 长崎随记 我爱南京:李志全集,以黑胶呈现 La La Land: 酒神与日神 流沙上种花 英雄城市的平凡之路 搓澡记 当滑雪时我们在谈论什么 十年问卷 聊聊生死观 半脱离微信的一个月 英雄时代的中场休息 头也不回作别 2019 我们生来就是孤独
Flaneur 创造手记
ventuss · 2023-04-13 · via ventuss - 中文

环形时间 Flaneur.001.jpeg

TL; DR

我们团队于 4 月 8 日 ~ 4 月 10 日参加了即刻公司举办的 Hack Engine 活动,本文描述了我们的项目 Flaneur 诞生的过程,她是一个使用人工智能生成音乐、声音和内容的网站,旨在让用户感觉像是与一个老朋友一起散步。作者还讨论了其他在 Hack Engine 活动中展示的项目,包括旅行规划和泛知识管理。

Hack Engine 是做什么的

以下是 Hack Engine 的官方介绍:

Q: Hack Engine 和 Hackathon 有什么区别? A: 没有区别。只是除了 Hackathon,我们也是孵化器、基金、alumni 创业者网络。 Q: 那不就是 Y Combinator 吗? A: 是的。

简单来说,Hack Engine 组织了一个 AI 主题的 Hackathon 活动,一支队伍最多 5 人,需要在 48hr 内完成一个小产品的开发并进行演示。

我们团队也非常关注生成式 AI 的发展和应用,加上我自己是老即刻用户,很快便决定参加了。我们很好奇大家能把 AI 用成什么样子,也想认识一下熟悉的 ID 背后的真人。

IMG_3322.JPG

我们团队由 5 人构成:后端工程师 @晓,前端工程师 @Edison,设计师 @Brant,打杂的 @Jason,另外从滑雪群里 (?) 抓来了算法工程师 @York 作为外援。我们团队几乎没有参加 hackathon 的经验,所以出发前请教了一下 @Junyu。豌豆荚应该是国内最早办 hackathon 的公司,通常是 24 小时内开发一款小应用;我问到最深刻的事情,@Junyu 抬头看了看天 (调用云计算?),讲起有一年 hackathon 刚好碰上北京下特大暴雨,正好大家一起通宵,中间还考虑要不要出去救人。@Junyu 给了我三个锦囊妙计:最重要的是开发完,其次是有趣,再其次…… 没了。

因为题目是 kickoff 当天才会公布,我们并没有做太多其他准备。工程上,我们部署了一台可以运行 Stable Diffusion 的服务器,另外准备了两个不同账号的 OpenAI API,以防临时被封。另外结合 @Junyu 的锦囊妙计我们确定了选题的几个原则:

  1. 好玩有趣,足够小 / 垂直
  2. 两天能做出来
  3. 或者两天做不出来但是足够震撼(可以只放一个视频作为 demo? ((fake it till you make it

Copilot for ?

周六上午 9:30,题目公布:Copilot for X。

Copilot for X,X = anything,所以就是什么都没说啊!为了避免思路过早收敛,我们决定先各自想想,再碰头讨论。我本来想趁此机会 social 一波,没想到其他队伍都在热火朝天地讨论甚至已经开始动手了,惊。等到我们该碰头讨论了,肚子已经饿了,还是先去填饱肚子吧。

IMG_3321.JPG

活动在五角场,我们都不熟,也不知道去哪里吃饭,干脆一边溜达一边讨论,于是灵感来了!

上海是一座非常适合散步的城市,我想起多年前有次在上海散步,大概是夏天的晚上,我一个人在衡山路溜达,吹着晚风,听着歌,十分惬意。当时听的歌是舒淇的 Tram,来自 LV SoundWalk 系列中的香港专辑 (没错是香港)。LV 选了香港一些标志性的地点,请了当地的音乐家谱曲,请舒淇配音介绍,融入故事,非常好听。不过这个系列在国内只有北京、上海、香港三张专辑,一下就听完了。北京是巩俐配音,上海是陈冲配音,强烈推荐真的按照专辑里的地点顺序走一走,一边听歌。

Tram - 舒淇

整个系列里我最喜欢的还是这首 Tram,舒淇的声音实在太好听了!所以我想到,如果用 AI 生成类似的内容,还可以加上 AI 生成的背景音乐,应该挺不错的。

我们讨论了下,确实可行,想法也有了一些延伸:比如可以加上一些更有时效性的信息,如当时的天气、用户的运动状态、步频,这样哪怕在同样的地点打开,每次听到的内容也会不一样;可以多抓取一些信息来介绍附近的地标建筑。

我们梳理了需求,这个小产品大概会有以下特点:

  • 完全不需要操作,打开就能用
  • 根据当前的位置、天气、运动状态等信息,生成匹配步速的背景音乐
  • 用好听的女声向你介绍附近街区的历史、故事,就像有个真人在陪着你散步
  • 会预先生成所在街区和附近街区的内容,这样你可以一直散步,内容不会中断

2621096800_5eb560ffac_o.jpg

最终的效果是一个简配版的 LV SoundWalk。或者从另一个角度理解,LV SoundWalk 过于精英了,只有有限的几个地点。而事实上我们生活的每一寸土地都有自己的故事,每个地方都值得拥有自己的 SoundWalk,所以也可以理解为 SoundWalk 民主化。

周六下午两点完成构思和分工,开干!

Flaneur 的诞生

@Junyu: 做产品的第一步,先买一个域名

首先,我们需要给这个产品起一个名字。

上海是一座非常洋气的城市。我刚来上海那天,从机场坐地铁到市区,走出地铁站看到有位衣着非常考究的少女,手里捧着一束花,用英文报纸包着。上海真洋气啊!我不禁感慨。走近一看,我发现我错了,不是英文报纸,是法文报纸。上海真是太洋气了!我不禁感慨。

由于是在上海散步给我的灵感,我们也是在上海开始创造这个小产品,那么一定得要一个洋气的名字才行!

于是我们给这个产品取名 Flaneur,法语中「漫游」的意思,特指「无所事事的漫游」。鉴于 Flaneur 没有任何交互功能,这个名字实在非常贴切。

Flaneur 的实现大概可以归纳为以下几个步骤:

  1. 获取用户的状态信息,如地理位置,运动状态
  2. 抓取该地理位置相关的信息,如当时的天气、维基百科介绍、POIs
  3. 用 GPT 生成一段描述,涵盖 #2 中的信息
  4. 将 #3 中生成的描述,用 TTS 转换成真人的发音(舒淇)
  5. 根据 #1 & #2 中的位置、天气、运动状态等,生成一段合适的 BGM;如果是散步则舒缓,如果用户在跑步则可以高亢一些
  6. 把 #4 & #5 合并音轨播放出来
  7. 为了方便演示,我们还是需要一个界面,可以滚动展示 #3 中的描述

工程上并没有太多难度,唯一遇到的问题是网页无法获取用户的运动状态,我们决定放弃这个信息。有趣的部分在于 AI 相关的实现,这部分过程也让我们很有启发。AI 部分可以分为:文本生成,文本转语音 (TTS),音乐生成三个部分。

LV SoundWalk 系列的念白都非常有味道,结合了当地的历史和特色,让 GPT 生成类似风格的文本就很关键。GPT 主要由我来调教。我以五角场为例,找了一些维基百科上的资料作为 prompt 给 GPT,让他扮演「伴游」来介绍五角场,但是这样生成的文本都非常「导游」。我想到可以加入一些更有「临场」的描述,如「你刚刚路过一扇古朴的门」,这样效果好了一些,可 GPT 还是忍不住说「欢迎来到五角场」或是「你好,老朋友」这样的话,而我认为好的效果是一个温柔的女声直接「闯」进你的耳朵,不用客套寒暄,直接开始和你对话(不然我会不好意思,毕竟是一个声音很好听的女声)。

后来我突然想到,让 GPT 扮演「向盲人朋友介绍附近街区」,这个设定下效果非常不错!但 GPT 总是忍不住在最后加上一句「尽管你看不见,但……」这样的安慰。同样思路下我调整了 prompt,于是最终 prompt 和效果是这样: Snipaste_2023-04-13_17-18-32.png

TTS 是整个过程中最有挑战的部分!TTS 即语音转文字其实有很多成熟的方案了,比如经常在抖音上听到的「家人们,谁懂啊」和「注意看,这个男人叫小美」,但 Flaneur 显然不能用这么没有逼格的声音,不是舒淇也至少得是高圆圆吧!所以我们调研了一下定制化的 TTS,发现有两个方案:

  1. MockingBird:一个开源的模型,只需要几秒钟的源音频就可以生成任何文字的朗读,需要自己部署,演示效果尚可
  2. 11Labs:上传一段 10m 的音频文件就可以生成任何文字的朗读,效果非常惊艳!付费(看起来不贵)。缺点是只支持英文。

其他还有些国产厂商的声音定制方案,但是需要 15+ 工作日和十几万的费用。。。似乎他们用的都是很古早的技术,所以成本高企。

@York 花了非常多的精力部署 MockingBird 模型并进行优化,但最终效果依然乏善可陈。我们研究了模型背后的技术,MockingBird 是基于上一代的 GAN 的,可能这是效果一般的原因。

@York 苦逼调模型的同时我开始玩 11labs 了。我首先尝试了舒淇的声音 + 中文朗读,出来的效果像是刚考 HSK 的老外念中文。舒淇的声音 + 英文则少了点感觉,没有那么惊艳。那如果用大家熟悉的外国女星呢?我第一反应就想到了 Scarlet Johansson 和 HER 这部电影。

结果效果非常惊艳!虽然没能「拥有」舒淇,但我却意外收获了 Samantha,还要什么自行车! peakpx.jpg

家人们谁懂啊!

音乐生成则是最平常的部分。很多年前就有根据步频生成对应 BPM 的 BGM 的软件了,没有太多想象力。加上时间有限,背景音乐我认为不花太多精力,因此决定用 AI 预先生成一堆不同 BGM 的音乐,demo 的时候播放现成的就可以了。

因为界面很简单,我们第一天就完成了界面的开发和接口适配;花时间最多应该的应该是 @晓 负责的后端和 @York 负责的 TTS 部分,我们在第二天傍晚调通了所有接口;两天都是 12 点准时打开离开会场,很多团队还在肝。

IMG_3201.jpg

溜了溜了

在?看看效果

下面请看我们的演示视频:YouTube

简单讲解一下:

  • 打开网页就能用,无需任何操作
  • 所有内容都是 AI 生成的,包括内容、音乐和 Samantha 性感的声音(音乐虽然是预先生成好的但也是 AI 生成的
  • 我们甚至植入了一段广告作为彩蛋(说不定真的可以商业化呢

体验地址:https://flaneur.polytimeapp.com/ 文末阅读原文也可以打开,请在移动端打开

打开后需要点一些气泡中间开始播放,现在加载还是有些慢,生成的信息也有些单调,请给 Flaneur 一些耐心。

我们最早构思的时候,完全以 LV SoundWalk 为灵感。但当我真的用的时候,听到 Samantha 声音的介绍,我很想和她对话聊天!

我很喜欢散步,有时候是为了思考,有时候是和朋友一起。最舒服的状态其实是去一个陌生的街区,和「一个很熟悉的朋友」散步,我经常有些奇怪的联想和很冷的吐槽段子,陌生的环境会让我有更多灵感和线索,边散步边讲这些还有人回应就是最舒服的状态。

进一步地,如果加上调用手机的摄像头能力,用 CLIP 模型理解图像并把这个作为 prompt 的一部分给 GPT 生成内容,就真的可以让 Samantha 啊不对 Flaneur 看到你看见的东西,她真的就像一个陪你散步的老朋友,听你扯淡,陪着你走过一条又一条街道。就像电影 HER 里一样。Her 已经是整整十年前的电影了,Her 的取景地也恰好在上海。

有种梦想照进现实的感觉,wow

d4f73a2d-a00b-45ba-80cc-cf0ca0ed593a.jpeg

Demo Day!

Demo Day 就是一百支队伍要在一天内展示自己的成果,非常炫酷! 每支队伍只有 5min 时间,超时会被无情打断,非常残酷! 迫不及待看到大家的作品,一库一库!

我们的展示被排在倒数第四个进行,到那个时候我其实已经很困了。。不过进行的很顺利,想讲的东西也讲出来了,所以并没有太多可写的。

我认真听了几乎所有项目,并给喜欢 / 有趣 / 印象深刻的项目做了笔记。还是不如前辈勤奋,@junyu 给每个项目都认真做了记录。因为主办方应该有些保密的考虑,所以我只写写抽象的感想吧。

看到了几个 AI 与科技向善的结合,非常喜欢。生成式 AI 的这波火爆让很多朋友担心自己未来会不会被 AI 取代(尤其是律师、程序员、投研这样的职业),恰好昨天和朋友聊起人类历史上的技术变革,其实每次都是对人本身的解放——短期也许会有一些人受影响失业,但很快就会发现人们其实是被从「不那么人的工作中」解放出来去做「更适合人本身做的工作」。AI 可以帮营销号灌水,也可以帮视障群体更加无障碍地与世界交互。

有好多个项目是旅行规划为主题的。我们也考虑过这个主题,但发现可能面临的问题是我们没有数据可以用。航班的动态价格、酒店的房间报价、甚至地图路线,这些都是约束条件,而这些数据全都被 OTA 服务商掌握并有严格的反爬策略,所以很可能做出一个美丽的产品却没有任何数据可用。移动互联网时代以来,数据被大公司牢牢把控,并被困在一个个 app 孤岛中,用户也形成了「打车去滴滴」「视频去抖音」「活腻了去百度」这样的认知,然而他们本质上都是「信息」,而不是「视频 / 文字 / 语音 / 地图」或是「笔记 / 邮件 / 日程 / TODO」,很难说这不是「互联网的一段弯路」。

Hack Engine 最多团队做也是我最感兴趣的主题其实是「泛知识管理」。GPT 本身是一个语言模型,不具备逻辑推理能力,而人类的知识其实存在于各种逻辑关系中,「地球是圆的」这个命题不重要,「重力使得地球的物质向中心聚集,因此地球形成近似球体」这个命题是重要的,知识论将知识定义为 Justified True Belief,JTB,即知识需要同时满足以下三个条件:

  1. 某人相信某件事;
  2. 这个信念事实上是真的;
  3. 这个信念是有理由证明的。

三个条件缺一不可,举几个反例:重力使得地球的物质向中心聚集,因此地球变成了一个 Bagel(信念事实上是假的);因为地球内部有个仓鼠在跑轮子,所以地球是圆的(该信念的证明是错的)。

Snipaste_2023-04-13_17-40-06.png

GPT 全名 Generative Pre-Trained Transformer,本身是一个「大语言模型」,ChatGPT 的推出更像是一个临时的、用来抢占用户注意力和数据的举动,并不一定 GPT 最好的形态 / 应用就是「对话式的」,而现在大家都在做对话,我认为有点被 OpenAI 带沟里去了。另外刚才论述过,GPT 不具备逻辑推理能力,因此问 GPT 知识性的问题是不明智的,相信大家都看过 GPT 一本正经地胡说八道(所以 GPT 又名狗屁通)。

另一方面,我个人认为 GPT 非常适用于「限定信息下的」内容处理及生成,例如 Flaneur 的所有原始信息是由我们提供的;例如先帮我筛选一遍 Read it later 列表;例如生成文章的总结(文章开头的 TL;DR 就是 GPT 帮我写的);例如帮我自动建立知识库中的关联(其实只需要 embedding 就可以了);例如根据我写的碎片信息生成一篇新的文章等等……

我把这些称为「泛知识管理」,这个主题我非常有兴趣和热情,同样对这个主题感兴趣的朋友欢迎一起交流!

1476px-Pieter_Bruegel_the_Elder_-The_Tower_of_Babel(Vienna)_-_Google_Art_Project.jpg

共建人类巨灵

Ending

整个 Hack Engine 非常紧凑,demo 按时甚至提前展示完,周一当天晚上就公布了结果。Flaneur 并没有入选,还是会感到一些遗憾的。不过这两天我们都非常享受过程本身,度过了一个难忘的周末;上海这几天天气也很好,天气预报本来有雨,*** 一来,天气晴朗!

上海好像总是给我类似的感受:有很美好的开始和过程,在结尾留下一些遗憾。

Anyway,非常感谢我的团队,额外感谢 @York 同学从杭州跑来参加(我们居然忘记合影了 TAT) IMG_3224.jpg

需要特别感谢一下主办方即刻团队,我们在现场有近乎完美的体验,没有遇到任何问题,完全不像是第一次办这样的活动。Hack Engine 在细节处也非常用心,例如参赛证是专门设计过的,这细节,啧啧。

图片比字节的工牌还高级,祝即刻公司早日收购字节跳动

虽然没有入选,Flaneur 还是受到了广泛的喜欢,好多朋友问我 Flaneur 会不会继续开发,这让我们非常开心。说实话我们也没想好,做一个 demo 和做一个真正的产品还是很不一样的,现有的技术能否达到我们预期的效果也需要继续调研,我们团队也面临一些困难很难腾出精力和资源再做一款新产品了。

Anyway, 如果你也喜欢 Flaneur,请不吝赞美告诉我们!


2023-04-13 @Shanghai