PLAILGSEDec 20, 2023

MonoCoder: Domain-Specific Code Language Model for HPC Codes and Tasks

arXiv:2312.13322v314 citationsh-index: 17HPEC
Originality Incremental advance
AI Analysis

This addresses the need for more efficient AI models in HPC software development, offering a domain-specific solution that reduces compute resource demands while improving performance.

The paper tackles the problem of large language models (LLMs) being inefficient for high-performance computing (HPC) tasks by developing MonoCoder, a domain-specific model that is orders of magnitude smaller and outperforms state-of-the-art LLMs on normalized-perplexity tests and delivers competitive CodeBLEU scores for HPC code generation.

With easier access to powerful compute resources, there is a growing trend in AI for software development to develop large language models (LLMs) to address a variety of programming tasks. Even LLMs applied to tasks from the high-performance computing (HPC) domain are huge in size and demand expensive compute resources for training. This is partly because LLMs for HPC tasks are obtained by finetuning existing LLMs that support several natural and/or programming languages. We found this design choice confusing - why do we need LLMs trained on natural languages and programming languages unrelated to HPC for HPC-specific tasks? In this line of work, we aim to question choices made by existing LLMs by developing smaller language models (LMs) for specific domains - we call them domain-specific LMs. Specifically, we start with HPC as a domain and build an HPC-specific LM, named MonoCoder, which is orders of magnitude smaller than existing LMs but delivers better performance on non-HPC and HPC codes. Specifically, we pre-trained MonoCoder on an HPC-specific dataset (named HPCorpus) of C and C++ programs mined from GitHub. We evaluated the performance of MonoCoder against state-of-the-art multi-lingual LLMs. Results demonstrate that MonoCoder, although much smaller than existing LMs, outperforms other LLMs on normalized-perplexity tests (in relation to model size) while also delivering competing CodeBLEU scores for high-performance and parallel code generations. In other words, results suggest that MonoCoder understands HPC code better than state-of-the-art LLMs.

Code Implementations3 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes