所有語言
分享
文章來源: OneFlow
作者 | Chip Huyen
OneFlow編譯
翻譯|楊婷、宛子琳
四年前,我對開源機器學習生態系統進行了分析。自那時起,情況就發生了變化,所以這次我打算重新討論這個話題,本次主要關注的是基礎模型的技術棧。
我把完整的開源AI代碼庫列表放在了“llama-police”(https://huyenchip.com/llama-police,該列表每6小時更新一次。其餘大部分也放在了我的GitHub“cool-llm-repos”(https://github.com/stars/chiphuyen/lists/cool-llm-repos)列表中。
(本文作者Chip Huyen是實時機器學習平台Claypot AI的聯合創始人。本文經授權後由OneFlow編譯發布,轉載請聯繫授權。原文:https://huyenchip.com//2024/03/14/ai-oss.html)
數據
如果你現在覺得AI發展十分火爆,那是因為它確實如此。我在Github上以GPT、LLM和Generative AI為關鍵詞進行檢索,僅與GPT相關的就有約11.8萬條結果。
為減少工作量,我將搜索範圍限定在擁有至少500 star數的代碼庫。結果显示,與LLM相關的有590個,與GPT相關的有531個,與Generative AI相關的有38個。此外,我偶爾會查看GitHub Trending和社交媒體上的新代碼庫。
經過長時間的搜索,我找到了896個倉庫。其中,有51個是教程(例如dair-ai/Prompt-Engineering-Guide)和聚合列表(例如f/awesome-chatgpt-prompts)。儘管這些教程和列表都很有幫助,但我更感興趣的是軟件,不過我還是將其放進了最終列表,只是最後的分析是基於其餘845個軟件庫(截止本文發布)。
這個過程雖然痛苦,但很值得,因為我更深入地了解了人們正在研究的內容,開源社區的合作程度之高令人驚嘆,也讓我意識到中國的開源生態系統與西方存在很大差異。
(毫無疑問,我也遺漏了很多庫。你可以在這裏(https://forms.gle/1ijNSnizgWQaVYK16)提交缺失的代碼庫,該列表每天會自動更新。歡迎提交star數少於500的代碼庫,我會持續關注這些倉庫,並在它們達到500 star時將其添加到列表中!)
新的AI技術棧
我認為,AI技術棧包含四個層級:基礎設施層、模型開發層、應用開發層和應用層。
1.基礎設施層
基礎設施是AI技術棧的底層,包括用於Serving的工具(例如vLLM、NVIDIA的Triton)、計算管理(例如SkyPilot)、向量搜索和數據庫(例如Faiss、Milvus、Qdrant、LanceDB)等。
2.模型開發層
模型開發層提供了開發模型的工具,包括建模和訓練框架(Transformers、Pytorch、DeepSpeed)、推理優化(如GGML、Openai/Triton)、數據集工程,評估等。任何涉及改變模型權重的操作都發生在這一層,包括微調。
3.應用開發層
在應用開發層,任何人都可以基於現成的模型開發應用程序。在過去的兩年裡,這一層的發展動態最多,並且仍在快速演進。這一層也被稱為AI工程(AI Engineering)。
應用開發包括提示工程(Prompt Engineering)、RAG(Retrieve、Add、Generate)和AI界面(AI Interface)等。
4.應用層
應用層有許多基於現有模型構建的開源應用程序,其中最流行的應用類型包括編碼、工作流自動化、信息聚合等。
除這四層外,還有另一個類別,即模型存儲庫(Model Repos)。這些存儲庫由公司和研究人員創建,用於分享與他們模型相關的代碼。這一類別的存儲庫示例包括CompVis/stable-diffusion、openai/whisper和facebookresearch/llama。
AI技術棧的演進
我繪製了每一類別中代碼庫數量的累積月度圖。在2023年推出Stable Diffusion和ChatGPT之後,新工具的數量呈爆炸式增長。2023年9月後,曲線似乎開始趨於平緩,這背後可能有三個潛在原因:
在2023年,增長最快的是應用層和應用程序開發層。基礎設施層出現了一些增長,但遠不及其他層的增長水平。
應用
毫不奇怪,最受歡迎的應用類型是編碼、機器人(例如角色扮演、WhatsApp機器人、Slack機器人)以及信息聚合(例如“將其連接到我們的Slack,並要求它每天總結消息”)。
AI工程化
2023年是AI工程化的一年。由於許多工具比較相似,很難對其進行分類。目前我將它們分為以下幾類:提示工程、AI界面、智能體(Agent)和AI工程(AIE)框架。
提示工程遠不止是簡單地調整提示,涵蓋了諸如約束採樣(結構化輸出)、長期記憶管理、提示測試與評估等內容。
AI界面提供了一個界面,可以讓最終用戶與AI應用程序進行交互。這是我最感興趣的一個類別。一些日益受到歡迎的界面包括:
AIE框架是一個統稱,用來指代所有能夠幫助開發AI應用程序的平台。其中許多平台都是圍繞RAG構建的,但也提供諸如監控、評估等其他工具。
智能體是一個捉摸不定的類別,因為許多智能體工具實際上只是複雜的提示工程,可能包含約束生成(例如,模型只能輸出預定的動作)和插件集成(例如,讓智能體使用工具)。
模型開發層
在ChatGPT出現之前,模型開發主導了AI技術棧。2023年,模型開發的最大增長源自於對推理優化、評估和參數高效微調(歸類為建模和訓練)日益增加的興趣。
推理優化一直以來都非常重要,但如今基礎模型的規模使得它對時延和成本變得至關重要。雖然優化的核心方法仍然保持不變(量化、低秩分解、剪枝、蒸餾),但許多新的技術已經被開發,特別是針對Transformer架構和新一代硬件。例如,2020年,16位量化被認為是最先進的技術,而如今又出現了2位量化甚至更低的量化技術。
同樣,模型評估一直以來也十分重要,但如今許多人把模型視為黑匣子,因此評估的重要性變得愈發突出。現在出現了許多新的評估基準和評估方法,例如比較評估(如Chatbot Arena)和將AI作為裁判(AI-as-a-judge)的評估方法。
基礎設施層
基礎設施層主要涉及管理數據、計算以及用於服務、監控和其他平台工作的工具。儘管生成式人工智能帶來了諸多變化,但開源AI基礎設施層基本保持不變。這可能是因為基礎設施產品通常不是開源的,因此在開源領域中並沒有出現太多變化。
基礎設施層中的最新類別是向量數據庫,其中包括Qdrant、Pinecone和LanceDB等公司。然而,許多人認為,這根本不應該成為一個類別。向量搜索已經存在很長時間了。與其僅僅為了向量搜索構建新的數據庫,不如像DataStax和Redis這樣的現有數據庫公司將向量搜索整合到現有的數據庫中。
開源AI開發者
像許多其他事物一樣,開源軟件也遵循長尾分佈,由少數賬戶掌控着大部分的代碼庫。
一人創造價值數十億美元的公司?
有845個代碼庫託管在594個獨特的GitHub賬戶上,其中20個賬戶至少擁有4個代碼庫。這些排名前20的賬戶託管了195個代碼庫,占列表上全部代碼庫的23%,這195個代碼庫共獲得了165萬star數。
在Github上,賬戶可以由組織或個人所有。在這些排名Top 20的頂級賬戶中,有19個屬於組織,其中3個屬於谷歌,分別是Google-research,Google和Tensorflow。
在排名top 20的賬戶中,唯一的個人賬戶是lucidrains。在擁有最多star數的top 20賬戶中(僅計算通用人工智能代碼庫),只有4個是個人賬戶:
自然地,在技術棧所處的層級越低,個人開發的難度就越大。因此基礎設施層的軟件最不可能由個人賬戶發起和託管。然而,超過一半的應用程序由個人託管。
由個人發起的應用程序平均獲得的star數比由組織發起的更多。許多人推測將會出現眾多市值不菲的個人公司(參考OpenAI CEO Sam Altman的採訪 https://fortune.com/2024/02/04/sam-altman-one-person-unicorn-silicon-valley-founder-myth/以及Reddit上的討論)。我認為,這種推測可能是正確的。
100萬次commit
超過兩萬名開發人員為這845個庫做出了貢獻。他們共計完成了近100萬次commmit!
其中排名前50位的活躍開發人員完成了超10萬次commit,平均每人超過2000次。下圖為前50位最活躍的開源開發人員的完整列表。
中國不斷壯大的開源生態系統
眾所周知,長期以來中國的AI生態系統與美國有所差異,(我在2020年的一篇博客文章中也提到過這一點)。當時,我的印象是GitHub在中國的使用並不廣泛,而我的看法可能受到了中國在2013年禁止使用GitHub的影響。
然而,如今情況已經發生了改變。在GitHub上有許多針對中國受眾的熱門AI代碼庫,其描述均由中文編寫。其中一些代碼庫是為中文或中英文混合開發的模型而設立的,如Qwen、ChatGLM3、Chinese-LLaMA等。
在美國,雖然許多研究實驗室已經放棄了基於循環神經網絡(RNN)架構的語言模型,但基於RNN的模型系列的RWKV仍然很受歡迎。
此外,還有一些AI工程工具能夠將AI模型集成到中國的主流產品中,如微信、QQ、釘釘等。許多熱門的提示工程工具在中國也有鏡像。
在GitHub上排名前20的賬戶中,有6個來自中國:
快速崛起,短暫輝煌
去年,我觀察到許多代碼庫在短期內迅速吸引了大量關注,但隨後便快速衰落。我的一些朋友稱之為“炒作曲線”。在這845個至少擁有500 star數的GitHub代碼庫中,有158個庫(佔18.8%)在過去24小時內沒有獲得任何新的star,有37個庫(佔4.5%)在過去一周內沒有獲得任何新的star。
以下是其中兩個代碼庫的增長軌跡示例,與其他兩個更為持久的軟件增長曲線進行比較。儘管這裏展示的兩個示例已不再使用,但在這裏用作開源社區的例子非常典型,並且其作者們能夠如此快速地推出這些項目,實在是令人讚歎。
個人最看好的創意
社區正在開發許多酷炫的創意,以下是我最看好的一部分:
結論
儘管本文的分析僅涉及845個代碼庫,但我實際上瀏覽了數千個代碼庫,這有助於我全面了解看似龐大的AI生態系統。希望這份列表對你有所幫助,如果你發現了遺漏的倉庫,請告訴我,我會將它們添加到列表中。
【OneDiff v1.0發布(生產環境穩定加速SD&SVD)】本次更新包含以下亮點,歡迎體驗新版本:github.com/siliconflow/onediff
(SDXL E2E Time)
(SVD E2E Time)