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

要約

強力なコンピューティング リソースに簡単にアクセスできるようになったことで、ソフトウェア開発用 AI では、さまざまなプログラミング タスクに対応する大規模言語モデル (LLM) を開発する傾向が高まっています。
ハイ パフォーマンス コンピューティング (HPC) ドメインのタスクに適用される LLM であっても、サイズが非常に大きく、トレーニングには高価なコンピューティング リソースが必要です。
これは、HPC タスク用の LLM が、いくつかの自然言語やプログラミング言語をサポートする既存の LLM を微調整することによって取得されることが部分的に理由です。
この設計の選択は混乱を招くものであることがわかりました。HPC 固有のタスクのために、HPC に関係のない自然言語やプログラミング言語のトレーニングを受けた LLM がなぜ必要なのでしょうか?
この一連の作業では、特定のドメイン向けのより小さな言語モデル (LM) を開発することで、既存の LLM による選択に疑問を呈することを目指しています。これをドメイン固有 LM と呼びます。
具体的には、HPC をドメインとして開始し、MonoCoder という名前の HPC 固有の LM を構築します。これは、既存の LM よりも桁違いに小さいですが、非 HPC コードおよび HPC コードで優れたパフォーマンスを実現します。
具体的には、GitHub からマイニングされた C および C++ プログラムの HPC 固有のデータセット (HPCorpus という名前) で MonoCoder を事前トレーニングしました。
私たちは、最先端の多言語 LLM に対して MonoCoder のパフォーマンスを評価しました。
結果は、MonoCoder が既存の LM よりもはるかに小さいにもかかわらず、正規化された複雑さのテスト (モデル サイズに関して) で他の LLM を上回っていると同時に、高性能で並列コード生成に関して競合する CodeBLEU スコアを提供していることを示しています。
言い換えれば、結果は、MonoCoder が最先端の LLM よりも HPC コードをよく理解していることを示唆しています。

要約(オリジナル)

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.

arxiv情報

著者 Tal Kadosh,Niranjan Hasabnis,Vy A. Vo,Nadav Schneider,Neva Krien,Mihai Capota,Abdul Wasay,Nesreen Ahmed,Ted Willke,Guy Tamir,Yuval Pinter,Timothy Mattson,Gal Oren
発行日 2024-09-17 16:29:03+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.LG, cs.PL, cs.SE パーマリンク