Jina AI创始人肖涵博士分享软件框架开发的3个常见错误及解决方法

每天给你送来NLP技术干货!


来自:Jina AI

点击这里进群—>加入NLP交流群

b4881c86ecd555b5758635cfb976f7fc.gif

回到三个月前

一个晨跑的上午,你突然萌生了一个绝妙的想法在:“我要建立一个 AI 框架!”

你的大脑飞速运转,你的指尖在键盘上飞速敲打,快速地记下此刻的想法和灵感。你梦想着潜在的投资者,全新的应用程序,甚至已经开始想象 Hacker News 和 Product Hunt 对你产品的介绍。

73b063f90b622f0af57c93a3bf637878.gif

但,你并不走运

最初的市场反馈很好,在发布的最初几天里,大批客户涌入,他们积极地使用你的 AI 框架并分享他们的经验。你在 GitHub 收获了数百个星,并且在r/machinelearning 获得了 50 个赞。

但后来,用户增长逐渐趋于平稳甚至开始下滑。几周过去仍看不到起色,你暗自担心倾注的心血是否会功亏一篑,你的 AI 框架是否还能持续发展下去。

“为什么人们不愿意使用我的框架呢?”

你静静地坐着,思考着下一步行动。

fb671232df1e96d4ce7a076fe2b80f7f.gif

这就是最终结局了吗?

cd17431e7e40ee9c3741dc04d823e28f.png

了解 3 个常见错误

成功的故事总是相似的,而失败则各有各的不同。AI 架构的低采用率,初期通常由于三个常见问题导致:关注的方向错误,糟糕的上手体验以及功能上的不完善。本文我将利用插图逐一解释它们,更重要的是,我将向你展示如何解决这三个问题。

每个真正的问题都需要一个解决方案,我们有很多 AI 问题,无论大小,简单或者复杂,只要它们是真实存在的问题,那么都需要解决方案。

让我们用点集代表解决方案,将 AI 解决方案的空间分布 想象成下图:

ae39a95148435a2ddeb0c452ea161eba.png

实际上,解决方案并不是均匀分布,而是聚集在一起的。这是因为不同的问题可能会有相似的解决方案,例如,情感分析和文本分类都可以用不同标签训练同一个语言模型,图像分割和目标检测都可以用 ResNet 解决。因此,真实的 AI 解决方案空间分布图更像是下图:

fe5797fe1774cfa3d73897be71312226.png

AI 解决方案空间分布的聚集性证明了 AI 框架存在的合理性,AI 框架是一种抽象形式,它提供了解决方案集群共享的通用功能,并且用户可以根据自己的需求编写代码。AI 框架提供了一种构建、部署应用的标准方法。如果解决方案是均匀分布的,就意味着无法抽象出通用的模式,也就是说明 AI 问题不需要软件框架。

dbb53593b054d340fdf532c79d796b3f.pngLF AI & Data 基金会项目版图,涵盖 332 个 AI 框架,总计 2,765,397 颗星,市值 13 万 3 千亿美元,融资 196 亿美元。

让我们在下图中回顾一下 问题、解决方案和框架 之间的关系:

fe18053fa1c1c7fc727529b1d17b66b3.png

有了这些清晰明确的概念,我们就能更容易地理解人工智能解决方案空间的构成,从而更容易发现构建软件框架的第一个错误。

错误1:过度关注于微小的细分市场

下图上,气泡 A、B、C、D 分别代表 4 个框架。在关注范围上,很容易看出 A > B > C > D,因为 A 囊括的解决方案最多,能满足最多真实的需求。D 是最糟糕的,因为它没有涵盖任何实际的问题,也就是说它的需求是不真实存在的。因此,长远来看,A 的采用率会是最高的。与此同时,无论你在 Hacker News 提交了多少帖子,在 GitHub 上获得多少星,D 的采用率都很低。

ed7545e563ffb28541599a970ee41e3e.png

你可能会问,“谁会傻到选择 C 或者 D?”

但事实上,当你在慢跑时灵光一闪,或者在阅读本文时正在构建一个新框架,那么你很有可能正处在 C 或 D 之中。原因如下:

  • 此时的你还不能看到 AI 解决方案空间的全貌,你的视角受限于你在 AI 和行业方面的知识和经验。

  • A 和 B 背后的市场是充满大鱼(并且还很饥饿)的海洋,你还没有足够的资源游得那么快或咬得那么紧。

  • 你的经验和知识使你高估了 C、D 涵盖的解决方案和需求的总量。

  • 作为一名工程师,你很容易沉迷于框架概念本身,而忽略它在现实世界中的应用价值。

无论如何,不要成为 D。如果你在 C 中,也不要沮丧。解决方案空间巨大且动态发展,并且它会随着时间不断变化。一旦新的问题和需求出现,旧的需求就是不必要的了。2021 与 2022 年的 生成式 AI 市场就是一个很好的例子,早在 2021 年,我们还很少看到任何关于生成式 AI 的搜索,但现在它迎来了爆发式增长。

1f8a7f589f669e8d94869edc444cff55.png

假设你现在有一个很好的关注点,并且你的框架在概念上涵盖了真正的需求。恭喜你!让我们继续,看看你可能会陷入的另外两个常见陷阱。

错误2:糟糕的上手体验和教程资源

让我们放大一个框架“气泡”:

4f3b525f32f4293aad298f3bfea4ac28.png

首先要强调的是你和用户之间的知识差距,你的框架可能涵盖用户需要的所有功能,但是由于缺乏说明文档和糟糕的上手体验,用户可能并不知道你的框架可以解决他们的问题。这直接会导致框架的采用率低。

和你不同(你对自己的框架无所不知),用户是从完全不同的角度了解框架。他们只能从你的文档、教程、参考资料、视频或者代码中学习框架。事实上,缺乏耐心的用户只会根据优质的资源学习。一旦他们觉得上手难度大,他们会立刻放弃,并寻求其他方案。他们没有你那么坚定和热情。

开发人员常犯的一个错误是在构建框架时忽略了教程资源和 DocOps 的重要性。他们天真地认为只要功能提交到了 master 分支,用户就会使用;只要在 commit message 中写了几个模糊的功能关键词,用户就会理解这个功能;只要做出重大更改,用户就会相应地修改自己的代码。

不,用户不会。

  • 用户不会为了理解功能的工作原理,去花时间研究单元测试。

  • 用户不会阅读你谜语一样的 commit message 或 pull request 标题来猜测你的新功能。

  • 用户不会检查垃圾邮件,来阅读你的框架的突破性进展的 Newsletter。

  • 用户不会阅读写得糟糕的文档,也不会为了一些无法执行的代码片段,还向你报告 bug。

如果你不花费时间引导他们,他们自然也不会在你的软件上浪费时间。

因此,你开始竭尽全力减少知识差距:良好的文档、详细的教程、教学视频、线上线下见面会、每日推文和每周的 Newsletter。

你完成了以上所有的工作,并且绕开了第一个错误,确定了重点,但是框架的使用率依然很低,这次又是因为什么呢?

错误3:过时和缺失的功能

bafb8c139f495777a9fb321822cda8ed.png

AI 领域飞速发展,市场竞争日益激烈。而你的框架则过时了,像是一个已经淘汰的遗迹。

每天都有数百篇论文在 ArXiv 上发表,benchmark 排行榜也在不断刷新,GitHub 上热门的代码库层出不穷。如果你的框架不能追赶前沿的技术,那么它很快就会过时,再也无法吸引用户的注意力。

第二个错误是用户不知道可以使用你的框架完成他们的需求,但现在的错误是用户知道他们不能使用你的框架完成自己的功能。对你来说,游戏结束了。

你是否厌倦了这种竞争?但这是你自己选择的构建 AI 框架,不是吗?这是一片充满机会与金钱的蓝海。到底是要迎接压力还是仓皇而逃呢?还有,你的梦想呢?

如何修正这些错误呢

历史总是充满错误,这就是我们学习和成长的方式。不要害怕犯错,面对错误往往是我们生活的一部分。

6e2f2b99d75c461388470c33d0ea72b4.png但如果你老板像这样👆的话,也许你要考虑一份新工作

https://jobs.lever.co/jina-ai,Jina AI 持续招人中

跨越障碍的第一步就是认识自己的错误,听起来很容易,但在低采用率的巨大压力下,你可能会轻易跳出结论,认为自己犯了所有错误,口头上承认错误就像说“这没用”一样容易,如果你不剖析自己的错误,就找不到任何的行动点。在你有限的资源下,你又该如何确定优先级,逐一解决这些问题呢?

修正错误1:重新瞄准更大的需求

如果关注点错误,你就需要重新定位,摒弃做框架的执念,多去了解人们的需求。在搭建框架之前做更多的备选方案,并且发现它们之间的联系;做好用户调研和市场分析,找到更大、更有趣的蛋糕。

也有可能是你的关注点已经足够好了,但是你的品牌叙事却很糟糕,用户同样不会买账。在这种情况下,重新整理你的宣传内容,宣传重点放在真正重要的功能上,隐藏除了你没有人关心的复杂细节。

修正错误2提升用户上手体验

如果框架的上手体验做的很糟糕,那么你就需要修改文档并组织教育用户的资源。软件框架需要不同层次的教程 —— API 参考文档、教程、代码片段、高级应用和行业基准。一个从文档字符串中自动生成的 API 参考文档是远远不够的。

回想一下你是如何学习英语的,一开始你会使用字典查找单词(即 API 参考文档),第一年你的课本里全部是日常对话(即代码片段),教你如何打招呼和买东西;进入二年级,你的课本里开始有更长的故事,帮助你掌握基本的语法和写作(即高级应用)。为了提高自己的语言技能,你开始看电影或者阅读著名作家写的书(即行业基准)。

你的用户和你是一样的,第一天,他们只是新手。但随着时间的推移,他们会吸收你教育的知识,不断取得进步。你的任务就是尽可能提供各级资源,帮助用户以最快的速度成长。等他们轻车熟路之后,你就可以松口气了,这时他们已经可以在没有你的情况下产出高质量的内容了。

上手教程的形式不要只停留文字上,最好是多模态联合,可以多多尝试使用播客、视频、线上线下的会议等等。

修正错误3:终身学习,快速行动

如果你的功能已经过时了,你需要了解前沿的研究,并及时更新自己的框架。学习流行的开源框架的 API 、设计模式和算法,密切关注他们的 Pull Request 和 Release Notes,并且思考把它添加进你的框架是否合适。始终要保持你的知识和代码库都是最新的。不时地回顾你设计的 Roadmap,确定自己的方向是否正确,添加的功能是否具有实用价值。

在开源的世界里,没有绝对的先进。这是一场关于速度的竞争,而你总是可以从其它软件中汲取经验。如果你暂时落后,但却进步得很快,最终还是可以跟上大部队。但如果你停止更新,捕食者很快就会把你当作午餐吃掉。速度是开源软件的生命线。

作者简介

肖涵,Jina AI 创始人兼 CEO

原文链接

https://jina.ai/news/why-dont-people-use-your-software-framework/


📝论文解读投稿,让你的文章被更多不同背景、不同方向的人看到,不被石沉大海,或许还能增加不少引用的呦~ 投稿加下面微信备注“投稿”即可。

最近文章

COLING'22 | SelfMix:针对带噪数据集的半监督学习方法

ACMMM 2022 | 首个针对跨语言跨模态检索的噪声鲁棒研究工作

ACM MM 2022 Oral  | PRVR: 新的文本到视频跨模态检索子任务

统计机器学习方法 for NLP:基于CRF的词性标注

统计机器学习方法 for NLP:基于HMM的词性标注


点击这里进群—>加入NLP交流群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值