MPIrigen: MPI Code Generation through Domain-Specific Language Models

要約

多数のノードにわたって計算を拡張することが不可欠であることから、特にメッセージ パッシング インターフェイス (MPI) 統合の領域において、効率的な並列コンピューティングの重要性が強調されています。
MPI ベースの並列プログラムを生成するという困難な並列プログラミング タスクは、未解明のままです。
この研究ではまず、MPI ベースの並列プログラムを生成する際の最先端の言語モデルのパフォーマンスを調査します。
調査結果によると、GPT-3.5 や PolyCoder (特殊な多言語コード モデル) などの広く使用されているモデルは、MPI ベースのプログラムを生成するときに、汎用プログラムと比較して顕著なパフォーマンスの低下を示します。
対照的に、C および C++ の MPI 関連プログラミング言語で事前トレーニングされた MonoCoder などのドメイン固有のモデルは、大規模なモデルよりも優れたパフォーマンスを発揮します。
続いて、HPCorpusMPI 上で MonoCoder を微調整することにより、MPI ベースのプログラム生成の専用のダウンストリーム タスクを導入します。
結果として得られるモデルを MPIrigen と呼びます。
私たちは、コード全体を観察した後にのみ補完するための革新的な前処理を提案します。これにより、より幅広いコンテキストでより適切な補完が可能になります。
新しい HPC 指向の評価方法を使用した GPT-3.5 ゼロショット パフォーマンスとの比較分析では、MPIrigen が位置および関数の予測で最大 0.8 の精度、引数の予測で 0.9 以上の精度の正確な MPI 関数の生成に優れていることが実証されました。
このカスタマイズされたソリューションの成功は、並列コンピューティング コード生成の言語モデルを最適化する際のドメイン固有の微調整の重要性を強調し、新世代の自動並列化ツールへの道を開きます。
この研究のソースは、GitHub MPIrigen リポジトリで入手できます: https://github.com/Scientific-Computing-Lab-NRCN/MPI-rigen

要約(オリジナル)

The imperative need to scale computation across numerous nodes highlights the significance of efficient parallel computing, particularly in the realm of Message Passing Interface (MPI) integration. The challenging parallel programming task of generating MPI-based parallel programs has remained unexplored. This study first investigates the performance of state-of-the-art language models in generating MPI-based parallel programs. Findings reveal that widely used models such as GPT-3.5 and PolyCoder (specialized multi-lingual code models) exhibit notable performance degradation, when generating MPI-based programs compared to general-purpose programs. In contrast, domain-specific models such as MonoCoder, which are pretrained on MPI-related programming languages of C and C++, outperform larger models. Subsequently, we introduce a dedicated downstream task of MPI-based program generation by fine-tuning MonoCoder on HPCorpusMPI. We call the resulting model as MPIrigen. We propose an innovative preprocessing for completion only after observing the whole code, thus enabling better completion with a wider context. Comparative analysis against GPT-3.5 zero-shot performance, using a novel HPC-oriented evaluation method, demonstrates that MPIrigen excels in generating accurate MPI functions up to 0.8 accuracy in location and function predictions, and with more than 0.9 accuracy for argument predictions. The success of this tailored solution underscores the importance of domain-specific fine-tuning in optimizing language models for parallel computing code generation, paving the way for a new generation of automatic parallelization tools. The sources of this work are available at our GitHub MPIrigen repository: https://github.com/Scientific-Computing-Lab-NRCN/MPI-rigen

arxiv情報

著者 Nadav Schneider,Niranjan Hasabnis,Vy A. Vo,Tal Kadosh,Neva Krien,Mihai Capotă,Guy Tamir,Ted Willke,Nesreen Ahmed,Yuval Pinter,Timothy Mattson,Gal Oren
発行日 2024-04-23 16:59:46+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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