HPC-Coder: Modeling Parallel Programs using Large Language Models

要約

ハイ パフォーマンス コンピューティング (HPC) の並列プログラムは、エクサスケール時代に複雑さと規模が増大し続けています。
ハードウェアと並列プログラミング モデルの多様性により、開発者にとって並列ソフトウェアの開発、最適化、保守はさらに負担になっています。
これらの負担を軽減する 1 つの方法は、自動化された開発および分析ツールを使用することです。
このようなツールは、開発者の生産性を向上させ、エラーの可能性を減らす、複雑なタスクや修復タスクを実行できます。
最近まで、コード開発およびパフォーマンス分析用のこのようなツールは、特に並列プログラムの場合、実行できるタスクの複雑さに制限がありました。
ただし、最近の言語モデリングの進歩と、大量のオープンソース コード関連データの利用可能化により、これらのツールは予測言語モデルを利用してより複雑なタスクを自動化するようになりました。
この論文では、大規模言語モデル (LLM) を高性能コードや科学コードに特有のタスクにどのように適用できるかを示します。
HPC と科学コードの新しいデータセットを導入し、それを使用していくつかの事前トレーニングされたモデルを微調整します。
HPC 関連タスクに関して事前トレーニングされたいくつかの LLM を比較し、並列コードで微調整された新しいモデル HPC-Coder を導入します。
私たちの実験では、このモデルがジェネリック モデルでは不可能な HPC 関数を自動補完できること、OpenMP プラグマを使用して for ループを修飾できること、科学アプリケーション リポジトリやプログラミング コンペティション ソリューションにおけるパフォーマンスの変化をモデル化できることを示しました。

要約(オリジナル)

Parallel programs in high performance computing (HPC) continue to grow in complexity and scale in the exascale era. The diversity in hardware and parallel programming models make developing, optimizing, and maintaining parallel software even more burdensome for developers. One way to alleviate some of these burdens is with automated development and analysis tools. Such tools can perform complex and/or remedial tasks for developers that increase their productivity and decrease the chance for error. Until recently, such tools for code development and performance analysis have been limited in the complexity of tasks they can perform, especially for parallel programs. However, with recent advancements in language modeling, and the availability of large amounts of open-source code related data, these tools have started to utilize predictive language models to automate more complex tasks. In this paper, we show how large language models (LLMs) can be applied to tasks specific to high performance and scientific codes. We introduce a new dataset of HPC and scientific codes and use it to fine-tune several pre-trained models. We compare several pre-trained LLMs on HPC-related tasks and introduce a new model, HPC-Coder, fine-tuned on parallel codes. In our experiments, we show that this model can auto-complete HPC functions where generic models cannot, decorate for loops with OpenMP pragmas, and model performance changes in scientific application repositories as well as programming competition solutions.

arxiv情報

著者 Daniel Nichols,Aniruddha Marathe,Harshitha Menon,Todd Gamblin,Abhinav Bhatele
発行日 2024-05-14 14:51:47+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.DC パーマリンク