近日,AI工程化领域的美女开发者,畅销书《设计机器学习系统(Designing Machine Learning Systems)》的作者Chip Huyen(@chipro)发布了一篇博文,对外分享了她在分析了近900个最热门的开源AI项目后的一些洞察。
她的研究方法是在github上检索了 带有gpt、llm 和generative ai等关键词的项目,并将搜索范围限制在至少有 500 个star。最终确定了 896 个项目,这其中 51 个是教程(如 dair-ai/Prompt-Engineering-Guide)和汇总列表(如 f/awesome-chatgpt-prompts)。实际进行分析软件项目为 845 个。
下面是她的一些研究发现。
新的AI技术栈(AI stack)
Chip Huyen将AI技术栈分为四层: 基础设施(infrastructure), 模型开发(model development), 应用开发工具(application development) 及 应用(applications)。
除此之外,还有一个类别,即模型库,存储和共享与模型相关的代码。这类 repos 的例子有 CompVis/stable-diffusion、openai/whisper 和 facebookresearch/llama。
AI 技术栈的演进
2023 年,随着Stable Diffusion和 ChatGPT 爆火,新的AI工具出现了爆炸式增长。
曲线在 2023 年 9 月似乎趋于平缓,这可能有三个原因。作者认为有三个原因,一是新的项目可能还没有到500星的筛选要求,二是好出成果的项目已经做 得差不多了,三是大家对生成式AI的追捧已经趋于理性和务实。
2023 年,增幅最大的是应用层和应用开发工具层。基础架构层略有增长,但与其他层的增长水平相差甚远。
1)应用
最受欢迎的应用类型是编程、机器人(如角色扮演、WhatsApp 机器人、Slack 机器人)和信息聚合(如 "让我们把这个连接到我们的 Slack,让它总结每天的信息")。
2)AI工程(AI Engineering)
2023年是AI工程年。作者进一步细分为以下几类:提示工程(Prompt engineering)、AI界面(AI interface)、Agent 和AI工程(AIE)框架。
提示工程远不仅包含调试提示,还包含输出结构化、长期记忆管理、提示测试与评估等内容。
AI界面为最终用户提供了与AI应用进行交互的界面。一些受欢迎的界面包括:
- Web和桌面应用。
- 浏览器扩展,让用户在浏览时快速查询AI模型。
- 通过聊天应用程序的机器人,如Slack、Discord、微信和WhatsApp。
- 插件,让开发人员将AI应用程序嵌入到VSCode、Shopify和Microsoft Offices等应用程序中。插件方法对于可以使用工具完成复杂任务(Agent)的AI应用程序很常见。
AIE框架是一个总称,指的是所有帮助开发AI应用的平台。许多平台围绕RAG构建,但也提供其他工具,如监控、评估等。
Agent是一个奇怪的类别,因为许多Agent工具只是复杂的提示工程,约束性生成(例如,模型只能输出预定的操作),以及插件集成(例如,让Agent使用工具)。(笔者注:Agent也应该包含在AIE中)
3)模型开发
在ChatGPT之前,AI领域主要以模型开发为主导。2023年模型开发的最大增长来自对推理优化、评估和参数高效微调领域(这些都归为建模和训练)。
推理优化一直很重要,但如今基础模型的规模使得它对延迟和成本至关重要。优化的核心方法仍然保持不变(量化、lora、剪枝、蒸馏),但许多新技术特别针对transformer架构和新一代硬件进行了开发。例如,2020年,16位量化被认为是最先进的技术。如今,我们看到了2位量化甚至低于2位的情况。
同样,评估一直是至关重要的,但如今许多人将模型视为黑匣子,评估变得更加重要。有许多新的评估基准和评估方法,比如比较评估和让AI作为裁判。
4)基础设施
基础设施是关于管理数据、计算和工具,用于提供、监控和其他平台工 作。 尽管生成式 AI 带来了许多变化,但开源 AI 基础设施层基本保持不变。 这也可能是因为基础设施产品通常不是开源的。
这一层增加的新的类别为向量数据库,公司如Qdrant、Pinecone和LanceDB。
开源AI开发者
开源软件,就像很多事情一样,遵循长尾分布。少数账户控制着大部分的仓库。
一人公司崛起
在 594 个 GitHub 账户上托管了 845 个项目。有 20 个账户至少有 4 个项目。这 20 个顶级账户托管了 195 个项目,占列表上所有仓库的 23%。这 195 个仓库总共获得了 1,650,000 颗星。
在Github上,一个账户可以是一个组织或者个人。排名前20的账户中,有19个是组织。其中,有3个属于谷歌:google-research,google,tensorflow。
在这些前20名账户中,唯一的个人账户是lucidrains。在拥有最多星的前20个账户中(仅计算gen AI仓库),有4个是个人账户:
- lucidrains(Phil Wang):能够快速实现最先进的模型。
- ggerganov (Georgi Gerganov): 一个拥有 自物理学 背景的优化大神( 笔者注: llama.cpp/gguf 项目的开发者 ) 。
- Illyasviel(Lyumin Zhang):Foocus和ControlNet的创始人,目前是斯坦福大学的博士生。
- xtekky:一个全栈开发者,创建了gpt4free(笔者注:一个白嫖GPT4之类的付费接口的项目)。
技术栈越往下,个人发起就越少。基础设施层的软件最不可能由个人发起和维护,而超过一半的应用是由个人维护的。
个人发起的应用平均获得的星级比组织发起的应用多。有一些人(比如Sam Altman)推测未来将会有很多非常有价值的一人公司。
100万次提交
超过20,000名开发者为这845个仓库做出了贡献。总共,他们共贡献了近100万次!其中,最活跃的50名开发者共提交了超过100,000次,平均每人超过2,000次提交。在这里查看最活跃的50名开源开发者的完整列表。
中国开源AI生态的不断发展
中国的AI生态繁荣, GitHub 上有很多很多针对中国受众的流行人工智能存储库,因此它们的描述都是用中文编写的。有针对中文或中文+英文开发的模型的存储库,例如 Qwen、ChatGLM3、Chinese-LLaMA。
在 GitHub 上排名前20的账户中,有6个源于中国:
-
清华大学的知识工程组(KEG)和数据挖掘组(THUDM)。
-
上海人工智能实验室的通用视觉团队 OpenGVLab。
-
清华大学 ModelBest 和 NLP 组成立的大模型基地开放实验室 OpenBMB。
-
上海人工智能实验室的 InternLM。
-
香港中文大学的 OpenMMLab。
-
阿里巴巴的人工智能实验室 QwenLM,发布了 Qwen 模型家族。
AI项目的“炒作曲线”
去年出现一个现象,称之为“炒作曲线”,说的是有许多项目迅速获得了大量关注,但很快又迅速消失。在这845个至少有500个GitHub星标的项目中,有158个项目(18.8%)在过去24小时内没有获得任何新星标,37个仓库(4.5%)在过去一周内也没有获得任何新星标。
以下是两个这样的项目的增长轨迹的例子,与另外两个更持久软件的增长曲线进行比较。尽管这里展示的两个例子已不再使用,但开发者向社区展示了实现的可能性,并且能够如此迅速地推出这些项目也很酷。
作者最后也给出了自己感兴趣的一些项目,如下:
- 批量推理优化:FlexGen,llama.cpp
- 使用Medusa、LookaheadDecoding等技术的更快解码器
- 模型合并:mergekit
- 约束采样:o utlines,guidance,SGLang
- 很好解决一个具体问题的小众工具,比如einops和safetensors。
对AI工程化领域感兴趣的读者,可以购买她的书(该书是亚马逊人工智能领域排名第一的畅销书):
机器学习系统既复杂又独特。复杂是因为它们由许多不同的组件组成,并涉及许多不同的领域。之所以说独特,是因为它们依赖于数据,不同用例之间的数据差异很大。在本书中,您将学习一种整体的方法来设计可靠、可伸缩、可维护的ML系统,并能适应不断变化的环境和业务需求。
作者Chip Huyen是Claypot AI的联合创始人,曾在Nvidia,netflix等公司工作过,她考虑了每个设计决策——比如如何处理和创建训练数据,使用哪些功能,多久再训练一次模型,以及监控什么——在它如何帮助整个系统实现其目标的背景下。本书中的迭代框架使用了大量参考文献支持的实际案例研究。该书是她在斯坦福开设的“机器学习系统设计”课程(CS329S)的讲义整理而成。
原文:https://huyenchip.com/2024/03/14/ai-oss.html
欢迎点赞加关注,并可
在公众号内回复"进群"可进群交流。
