The availability of vast amounts of publicly accessible data of source code and the advances in modern language models, coupled with increasing computational resources, have led to a remarkable surge in the development of large language models for code (LLM4Code, for short). The interaction between code datasets and models gives rise to a complex ecosystem characterized by intricate dependencies that are worth studying. This paper introduces a pioneering analysis of the code model ecosystem. Utilizing Hugging Face -- the premier hub for transformer-based models -- as our primary source, we curate a list of datasets and models that are manually confirmed to be relevant to software engineering. By analyzing the ecosystem, we first identify the popular and influential datasets, models, and contributors. The popularity is quantified by various metrics, including the number of downloads, the number of likes, the number of reuses, etc. The ecosystem follows a power-law distribution, indicating that users prefer widely recognized models and datasets. Then, we manually categorize how models in the ecosystem are reused into nine categories, analyzing prevalent model reuse practices. The top 3 most popular reuse types are fine-tuning, architecture sharing, and quantization. We also explore the practices surrounding the publication of LLM4Code, specifically focusing on documentation practice and license selection. We find that the documentation in the ecosystem contains less information than that in general artificial intelligence (AI)-related repositories hosted on GitHub. Additionally, the license usage is also different from other software repositories. Models in the ecosystem adopt some AI-specific licenses, e.g., RAIL (Responsible AI Licenses) and AI model license agreement.
翻译:源代码海量公开数据的可获得性、现代语言模型的进步以及计算资源的日益增长,共同推动了面向代码的大型语言模型(简称 LLM4Code)开发的显著热潮。代码数据集与模型之间的相互作用催生出一个以复杂依赖关系为特征的生态系统,值得深入研究。本文首次对该代码模型生态系统进行了开创性分析。我们以基于 Transformer 模型的首要枢纽——Hugging Face——为主要数据源,人工筛选并确认了与软件工程相关的数据集和模型列表。通过对该生态系统的分析,我们首先识别了流行且具有影响力的数据集、模型及贡献者。流行度通过多种指标进行量化,包括下载量、点赞量、复用次数等。该生态系统遵循幂律分布,表明用户更倾向于使用广受认可的模型和数据集。接着,我们人工将生态系统中模型的复用方式划分为九类,分析了普遍的模型复用实践。排名前三的最流行复用类型是微调、架构共享和量化。我们还探讨了 LLM4Code 发布相关的实践,特别关注文档实践和许可证选择。我们发现,该生态系统中的文档所包含的信息量少于托管在 GitHub 上的一般人工智能相关仓库。此外,许可证的使用也与其他软件仓库有所不同。生态系统中的模型采用了一些人工智能专用许可证,例如 RAIL(负责任人工智能许可证)和 AI 模型许可协议。