Using Small Language Models to Reverse-Engineer Machine Learning Pipelines Structures
This work addresses the problem of understanding data science practices for researchers and practitioners by offering a more flexible and reliable method, though it is incremental as it builds on prior reference works.
The study tackled the challenge of extracting stages from ML pipeline source code by evaluating Small Language Models (SLMs) for their code understanding and classification abilities, finding that SLMs can effectively address limitations of existing approaches and provide insights into data science practices.
Background: Extracting the stages that structure Machine Learning (ML) pipelines from source code is key for gaining a deeper understanding of data science practices. However, the diversity caused by the constant evolution of the ML ecosystem (e.g., algorithms, libraries, datasets) makes this task challenging. Existing approaches either depend on non-scalable, manual labeling, or on ML classifiers that do not properly support the diversity of the domain. These limitations highlight the need for more flexible and reliable solutions. Objective: We evaluate whether Small Language Models (SLMs) can leverage their code understanding and classification abilities to address these limitations, and subsequently how they can advance our understanding of data science practices. Method: We conduct a confirmatory study based on two reference works selected for their relevance regarding current state-of-the-art's limitations. First, we compare several SLMs using Cochran's Q test. The best-performing model is then evaluated against the reference studies using two distinct McNemar's tests. We further analyze how variations in taxonomy definitions affect performance through an additional Cochran's Q test. Finally, a goodness-of-fit analysis is conducted using Pearson's chi-squared tests to compare our insights on data science practices with those from prior studies.