Table of Contents
Fetching ...

Ecosystem of Large Language Models for Code

Zhou Yang, Jieke Shi, Premkumar Devanbu, David Lo

TL;DR

To analyze the rapidly growing LLM4Code, the potential of using LLMs to assist in constructing and analyzing the ecosystem is explored and the implications and suggestions to facilitate the healthy growth of LLM4Code are discussed.

Abstract

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.

Ecosystem of Large Language Models for Code

TL;DR

To analyze the rapidly growing LLM4Code, the potential of using LLMs to assist in constructing and analyzing the ecosystem is explored and the implications and suggestions to facilitate the healthy growth of LLM4Code are discussed.

Abstract

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.
Paper Structure (35 sections, 5 figures, 6 tables)

This paper contains 35 sections, 5 figures, 6 tables.

Figures (5)

  • Figure 1: An illustrative example of the code model ecosystem, including code datasets, models and dependencies.
  • Figure 2: Examples of the dependencies between code datasets and models. The entities with the icon and are models and datasets, respectively. The arrows indicate the dependencies between them, which are extracted from the documentation and model cards of each entities. For example, the model codeparrot/codeparrot-small-code-to-text explicitly states that it fine-tunes the model codeparrot/codeparrot-small on the dataset codeparrot/github-jupyter-code-to-text.
  • Figure 3: The rendered model card of bigcode/starcoder and features provided by Hugging Face, e.g., gated field, widget, and inference API.
  • Figure 4: Three prompting strategies to let LLMs infer whether a model is LLM4Code given its documentation.
  • Figure 5: An illustrative example of the code model ecosystem, including code datasets, models and dependencies.