赞
踩
本系列根据 Create 2024 百度AI开发者大会「大模型与深度学习技术论坛」嘉宾分享整理。本文来自飞桨框架产品负责人-张军的主题分享——「产业级深度学习开源开放平台飞桨与开源社区」。
开源项目(Open Source Project),顾名思义是指开放源代码的可以被公众使用的软件项目,在开源合规的基础上,其他开发者可以对软件进行使用、修改和发行。基于「共建共治共享」的开源理念,许多开源项目汇聚了一批拥有共同兴趣爱好的开发者,形成了一个个独特的开源社区(Open Source Community)。据第三方数据显示,飞桨开源社区已成为国内 Top 的开源社区,作为社区维护者,我们做对了什么?
在 GitHub PaddlePaddle 组织下,有 90+ 个开源的代码仓库。
累计 Commits 超过 93 万次,PR & ISSUE 的贡献者超过 18000 人。
飞桨框架位列 GitHub 中国项目活跃度榜首。
全球开源项目中,开源动力指数位列前 30。
飞桨(PaddlePaddle)以百度多年的深度学习技术研究和业务应用为基础,集核心框架、基础模型库、端到端开发套件、丰富的工具组件、飞桨星河社区于一体,是中国首个自主研发、功能丰富、开源开放的产业级深度学习平台。飞桨在业内率先实现了动静统一的框架设计,兼顾科研和产业需求,在开发便捷的深度学习框架、大规模分布式训练、高性能推理引擎、产业级模型库等技术上处于国际领先水平。
飞桨端到端自适应混合并行训练技术以及压缩、推理、服务部署的协同优化,高效支撑以文心一言为代表的文心大模型的生产与应用。
当前飞桨已凝聚 1295 万开发者,基于飞桨创建 89.5 万个模型,服务 24.4 万家企事业单位,飞桨助力开发者迅速实现AI想法,创新AI应用,作为基础平台支撑越来越多行业实现产业智能化升级。
截至 2023 年 8 月,飞桨开源社区累计提交 Commits 超过 93 万次,以 PR 或 ISSUE 提交形式的开源贡献者超过 18000 人。
谁开发了飞桨
飞桨作为一个开源项目,其开发团队由多方力量组成。
我们今天对开源社区及开发者的讨论,会聚焦到 Individual Contributors 群体。当前,个人贡献者群体已经成为飞桨开源社区必不可少的研发力量,在提升开源项目影响力、社区活跃度、扩大开源声量方面,更是有着十分重要的意义。
从开源社区的角度来看,我们一直在思考这样一个问题:作为飞桨这样一个源自中国的开源项目,我们在构建飞桨开源社区时应该采取什么样的定位和思路。这是一个重要的议题,因为社区的成功与否直接关系到飞桨项目的可持续发展和影响力。
我们对飞桨开源项目进行了一些总结。
1、飞桨不是孤立存在的,而是需要与整个开源构成的软件开源项目的数字基础设施相结合,融入整个生态链中。
因此,我们会与上下游的开源项目进行广泛的生态合作。例如,当我们发布一个新的飞桨版本时,需要确保它能够适配多种操作系统,包括不同的发行版本,以及在不同版本的操作系统上运行。同时,还需要确保与多个版本的Python兼容。
2、飞桨需要运行在多种AI加速卡上。
因此需要适配多种AI硬件及其相应的软件站,以确保飞桨能够发挥这些硬件的最佳性能。
3、使用飞桨训练出来的模型不仅限于必须在飞桨的软件栈上运行。
因此,我们在模型互通方面做了大量工作,例如实现模型格式的互通。一个著名的开源项目TVM也能够加载飞桨模型,并支持不同的编程语言,如Java,以便进行应用开发。同时,飞桨的模型也加入了HuggingFace生态,并与许多AI硬件公司共同构建飞桨模型库。这是我们在这方面的思考,我们会与全球上下游的开源项目进行紧密的生态合作。
4、飞桨需要社区贡献者。
从社区参与的角度来看,我们会本土化地构建社区,举办一些本地化的活动。
这是一些 2023 年至今社区开发者为飞桨核心框架做出的代码贡献合辑,可以看到从工程效能优化、文档体验提升,到飞桨内核十分重要的 PHI 算子库独立编译,社区开发者都做出了非常重要的贡献。值得一提的是,飞桨 2.4 版本中发布的 API 有三分之一是由社区开发者完成的,到飞桨 2.6 版本,新增的 API 贡献几乎都来自社区开发者。
除此之外,在飞桨的端到端开发套件 PaddleOCR、PaddleClas、PaddleDetection、PaddleSeg,以及大模型套件 PaddleNLP、PaddleMIX 中,社区开发者贡献了许多 SOTA 的算法模型、训推一体 pipeline、tutorials&demo,与飞桨团队共同打磨易用的深度学习框架与工具组件。
技术实力与开源影响力提升
飞桨社区开源项目覆盖深度学习框架、模型、应用全领域,你想提升的技术,这里全都有;
与飞桨产研团队紧密沟通协作,和飞桨共同成长;
开源贡献行为全部公开可查,飞桨社区丰富的开源贡献活动助你树立个人开源影响力;
鼓励社区孵化项目,你可以在这里找到志同道合的小伙伴,把想法变成现实。
荣誉证书、现金激励与工作机会
颁发开源贡献证书、社区曝光度、奖状徽章等,致敬每一位贡献者;
举办丰富社区赛事,提供奖金/奖品激励与权威机构认证;
开源社区贡献者在招聘中会被优先考虑。
硬件支持
提供线上 V100 开发环境,随时可以开发与编译。
社区主导项目:Community over Code
Community over Code 是 Apache 软件基金会的项目中最广为人知的理念。尽管在社区的沟通方式上,跟 ASF 所鼓励的用邮件组来沟通不一样,飞桨社区的绝大部分沟通方式是在大家熟悉的微信群里,但从解决 「Good First Issue」 加入进来的社区开发者们, 在熟悉了社区之后,同样可以迸发更大的能量。
作为源自百度的开源项目,飞桨的运营团队通常可以接触到一些第三方办赛的邀请,这次找到我们的是第六届『中国软件开源创新大赛』,这是一个由中国计算机学会(CCF)主办,西北工业大学、绿色计算产业联盟、CCF 开源发展委员会联合承办的大型赛事,联合百度、清华大学等企业单位以及多所高校共同设置赛题,飞桨参与了『开源任务挑战赛』赛道,发布了 16 道具有一定难度的、需要参赛选手自行拆解与项目管理的开源任务。我们称其为 「HappyOpenSource Pro」 ,快乐开源进阶版。
让我们惊喜的是,这些即使是内部研发团队都觉得棘手的开发任务,被一批高水平的开发者完美地解决了。以飞桨赛道一等奖项目:赛题五:将 xdoctest 引入到飞桨框架工作流中 为例,项目涉及修改 1400+ API,数十万行代码,24 位开发者近 3 个月协2同工作,队长 megemini 成长为 Reviewer,800 万飞桨用户从中受益。
这件事情让我们愈发相信开源的力量,即使是如此历史包袱重、项目管理难、工程量巨大的开源任务,在找到合适的 owner,提供足够资源支持的情况下,都是有可能被社区开发者们联合解决的。
如果你正在寻找一个开源项目做贡献,或有意向加入一个开源组织 or 社区,我们非常欢迎你来飞桨开源社区玩,与我们一起执桨破浪,让深度学习技术的创新与应用更简单。你可以遵循这样的路径:
入门:快乐开源、启航计划
「快乐开源活动」 旨在鼓励更多的开发者参与到飞桨社区的开源建设中,帮助社区修复 bug 或贡献 feature,加入开源、共建飞桨。如果你是刚接触飞桨 or 开源社区的小白,我们十分推荐你从打卡任务开始:
任务一:修改飞桨文档,完成你的第一个 PR,练习 git 操作,熟悉 GitHub 开源协作方式
任务二:拉取 Paddle 代码,完成本地编译,让你对 Paddle 代码有更深入的理解,便于参与后续的框架开发任务
任务三:在 PaddleMIX 中跑通 Stable-Diffusion 训练推理,你会快速掌握飞桨开发套件的使用,便于参与后续的套件开发任务
在 2022 年 12 月份的时候,通过代码扫描工具发现了飞桨框架的 100 多个小 bug
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。