关于人工智能:1024-分享|如何打造围绕开源理念的团队工程师文化

5次阅读

共计 3179 个字符,预计需要花费 8 分钟才能阅读完成。

10 月 23 号,在 CCF CED 2022 大会上,Jina AI 联结创始人兼 CTO 王楠博士代表 Jina AI 团队分享了《从神经搜寻到多模态利用:和寰球团队一起打造优良的开源工具》,与全国线上线下的工程师们交换“工程师文化”。

随着寰球数字化转型的飞速停顿,工程师文化在国内也开始越来越被器重甚至遍及。往年 10 月 23 日在北京举办的“CCF CED 2022——第二届 1024 中国工程师文化日”大会,围绕“工程师文化驱动组织翻新”主题,汇聚了寰球数十位的 CTO、大咖、院士为大家带来独特思考视角与案例实际。数千名国内工程师、程序员及软件技术爱好者们共享了这一盛会。

作为一个开源软件公司,Jina AI 打造了以效率晋升和分布式开源协同为外围的工程师文化,吸引到来自寰球十几个国家的工程师以分布式的模式协同工作。在 Jina AI,工程师文化不是加班文化,更不是内卷文化,而是对效率和好奇心的一直谋求。

Jina AI 从成立之始,就是一个推崇工程师文化,拥抱开源的国际化团队。作为践行“工程师文化”的守业公司代表,团队受邀缺席了本次大会,并邀请了社区开发者代表一起到现场交换。Jina AI 联结创始人兼 CTO 王楠博士在流动现场特地分享了《从神经搜寻到多模态利用:和寰球团队一起打造优良的开源工具》。以下是本次分享的内容,咱们心愿弘扬工程师精力,一直激发翻新,也心愿本次分享能够为宽广社区开发者带来一些新的灵感,祝大家 1024 节日快乐!

Jina AI 是一家商业化开源软件公司,咱们专一于打造针对多模态利用的 MLOps 工具,成立两年多来,累计融资 3800 万美金,间断两年登上 CB Insights 寰球 AI 初创排行榜前 100。

咱们先后公布了包含 Jina、DocArray,CLIP-as-service 等多个开源我的项目,累计超过 35k GitHub 关注。在这些问题背地,是咱们来自于十几个国家的寰球团队,和咱们围绕开源理念打造的工程师文化。

分布式

作为⼀家开源软件公司,咱们把分布式开源协同作为咱们⼯程师⽂化的基⽯。

分布式⼯作的关键在于信赖和责任。


咱们采取全球化招募的策略,不限度⼯作地点,⼯作工夫可灵便安顿。对所有团队成员,⼤家每周能够有⼀天居家⼯作。这背地其实是咱们对于团队成员的充沛信赖和以解决问题为导向的价值观。咱们不限度解决⽅案是哪个级别的⼯程师提出的,咱们只在乎问题有没有解决。只有能够解决问题,咱们就会欢送加⼊。要实现分布式⼯作,很重要的是强调⾃驱⼒。所以,分布式合作的另⼀个关键词是责任。咱们⿎励每⼀名团队成员都承担责任,都成为决策者。咱们的每个⼩团队都有充沛的⾃治权力,从技术选型到保护服务,从撰写⽂档到吸引社区客户,每个⼩团队都要对⾃⼰的项⽬负责任。同时,咱们不会让团队成员为谬误买单。因为每个⼈都会犯错误,初创企业其实就是⼀个⼜⼀个谬误⾛过去的,咱们强调的是尽量少犯错误,不犯雷同的谬误,及早发现相似的谬误。

开源

开源不是把代码发到  GitHub 就完结了,开源是⼀种合作⽅式。

咱们外部所有的代码都是全公司可⻅的,绝⼤局部代码也都是开源的,整个世界的程序员也都能够看到。所有⼈都能够去做 Code Review,所有⼈都能够随时去给任何⼀个项⽬去修复 Bug 和提 PR。这样的开源合作⽅式不仅提⾼咱们外部的交换效率,同时也能充分发挥每个⼈的主动性。因为这样的⽅式相似于每个⼈都在公开的⼯作,⼤家⾃然⽽然的会对代码品质提⾼要求。《⽣活⿊客》这本书⾥也提到过这样公开⼯作的⽅式⾮常有利于晋升⼯作效率和按时实现⽬标。可能有⼩搭档会问我分享进来不就让⼤家都学了我的独⻔绝技了?然而,我很同意的⼀个观点是,咱们这个时代短少的不是常识,⽽是专一⼒和意志⼒。⽽别⼈的留神⼒能帮忙提⾼⾃⼰的意志⼒。通过开源这种公开的⼯作⽅式,其实每个⼈的意志⼒都会提⾼,也更有可能实现⼯作。


开源也意味着分享。每个星期的咱们都会有公司内⼯程团队的分享,每个⽉⼯程团队还会和社区在 Office Hours 等社区活动中分享咱们最新的停顿和社区⼀起探讨问题。分享的作⽤不仅仅在于分享常识,更在于帮忙⼤家造成定期思考和总结的习惯,从⽽一直的去⾃我晋升和改善产品。开源的另⼀个经常被忽视的动作是要经常性地公布新版本。公布新版本不仅仅是为了放弃疾速的开发节奏,⽽且能够⿎舞团队的⽃志。

协同

协同的核⼼是标准化、⾃动化,缩小能量耗散,让团队更关注核⼼代码。


Code Review 是咱们对每个⼯程师的要求。在 Jina AI,每个⼈每天都会有固定的工夫去 Review 其余成员的代码。咱们在外部设⽴的各种⽅便搭建 AFR 的的机制,包含 Team Alias,Slack 揭示,合并前强制 CR 等等。屡次 Commit,尽早提 PR。咱们对每个新⼊职的成员都会要求尽早实现⼀个 PR。咱们强调 PR 的 merge 才是⼯作的完结,咱们会要求 PR 要尽量在 2-3 个⼯作⽇内合并。尽量避免⼤型 PR,激励多个⼩ PR。因为代码库是对全公司凋谢的,每个⼈都能够 CR,也能够参加探讨。这样帮忙高级⼯程师疾速成⻓,同时探讨也可能迫使⼈去思考代码的实现是否正当。统⼀的编程⻛格。咱们强制进⾏⾃动化的代码⻛格查看。提⾼协同效率的⼀个要害是尽可能⾃动化⼀切流程。咱们⾼度依赖 GHA,有⾃动化的 Release Notes ⽣成、⽂档⽣成、版本公布、代码⻛格查看等等。⾃动化的另⼀个要求就是尽可能多的写测试。咱们⾮常强调测试的覆盖率,要求项⽬的覆盖率都要在 75% 以上。充沛的测试能力保障咱们可能⾼频次的公布和流程的⾃动化。

从神经搜寻到多模态应⽤

⼯程师⽂化对于科技企业是维持⾼效率的要害。作为 Jina AI 的核⼼项⽬之⼀,Jina 在过来两年的工夫内曾经实现了三个主版本的迭代,迭代背地其实就是咱们⼯程师⽂化在⽀撑。咱们的⼯程师团队会踊跃回复社区发问,也会认真的总结反馈,咱们的三次迭代都是依据⽤户反馈进⾏的⾃我降级。咱们⽤了 8 个⽉的工夫公布 Jina 1,公布后收到很多反馈说东⻄好⽤,然而学习曲线太平缓,学习老本太⾼。所以咱们很快的做出调整,简化概念,优化设计,在 6 个⽉后推出 Jina 2,社区反映热烈。Jina 2 推出后,咱们外部的⼯程师留意到开发者在部署到⽣产环境时的艰难,次要是因为咱们对于 Kubernetes 不能做到原⽣⽀持。于是咱们⼜开始了第三次重构,在重写了两万多⾏代码之后,咱们公布了 Jina 3,也迎来了咱们社区增⻓的⼜⼀个⾼潮。

截⾄⽬前,Jina 代码仓库曾经累计播种 GitHub 上的 16,370 开发者的珍藏。从 Jina 0.0.5 到 Jina 3.10.1,咱们⼀共公布了 360 个版本,累计新增代码 88,240 ⾏,删除 18,309 ⾏。除了代码的疾速迭代之外,咱们的⽂档⽔温和社区问答的活跃度也失去了社区的广泛认可,工程师在日常工作中会被动参加⽂档撰写和社区论坛保护。

在 Jina 3 之前,咱们把⾃⼰定位在神经搜寻畛域。在开发 Jina 3 的过程中,咱们外部的⼯程师也留神到咱们底层⽤于封装多模态数据的数据结构其实⾮常通⽤,齐全能够当做⼀个独自的⼯具使⽤,于是⼀个新的项⽬ DocArray 应运⽽⽣。随着 Jina3 和 DocArray 的推出,咱们的社区⾥开始衍⽣出很多 MLOps 相干的应⽤,包含有社区⼩搭档⽤ Jina 去搭建 NLU 平台,咱们⾃⼰也尝试⽤ Jina 和 DocArray 去搭建⼀些⽣成 AI 的应⽤,推出了 Dall·E Flow 和 DiscoArt 这两个开源项⽬,也取得了⾮常⼤的胜利,纷纷冲上了 GitHub 的寰球 Trending 排⾏榜。在最近,咱们也尝试和⽤ Jina 去搭建了基于 Whisper 模型的语⾳到⽂字⽣成 AI 应⽤。

从神经搜寻到 MLOps 平台的演变背地,咱们外部强调疾速开源协同的⼯程⽂化施展了⾮常⼤的作⽤。

现场精彩回顾

小助手情谊揭示

流动回放请关注 Jina AI 视频号

点击直播回放

正文完
 0