Full Line Code Completion: Bringing AI to Desktop

要約

近年、マルチトークンコード補完の問題に対するいくつかの産業用ソリューションが登場し、それぞれがこの分野で大きな進歩を遂げていますが、そのほとんどはクラウドベースのランタイムに焦点を当てており、エンドユーザーのデバイスでの作業を回避しています。
この作業では、フルライン コード補完と呼ばれる、JetBrains の IntelliJ プラットフォーム用のマルチトークン コード補完機能を構築するためのアプローチについて説明します。
この機能は構文的に正しいコードのみを提案し、完全にローカルで動作します。つまり、データのクエリと提案の生成はエンド ユーザーのマシンで行われます。
私たちは、時間とメモリ消費に関する重要な制限と、コード補完エンジンが満たすべき設計原則を共有します。
エンド ユーザーのデバイス上で完全に動作するコード補完エンジンは、高速かつコンパクトなだけでなく安全でもありながら、ユーザー エクスペリエンスを豊かにします。
明示された開発制約を満たすための多くの有用なテクニックを共有し、より適切な意思決定を可能にするオフラインおよびオンラインの評価パイプラインについても説明します。
オンライン評価では、このツールを使用すると、コード補完によって IDE で 1.5 倍多くのコードが生成されることがわかりました。
説明されているソリューションは当初研究者の協力を得て開始され、2023 年末に 2 つの JetBrains の IDE (PyCharm Pro と DataSpell) にバンドルされました。そのため、この取り組みは学術界と産業界の橋渡しに役立ち、研究者に知識を提供できると考えています。
研究に基づいた複雑なソリューションが実際の製品に統合されたときに何が起こるかを説明します。

要約(オリジナル)

In recent years, several industrial solutions for the problem of multi-token code completion have appeared, each making a great advance in the area but mostly focusing on cloud-based runtime and avoiding working on the end user’s device. In this work, we describe our approach for building a multi-token code completion feature for the JetBrains’ IntelliJ Platform, which we call Full Line Code Completion. The feature suggests only syntactically correct code and works fully locally, i.e., data querying and the generation of suggestions happens on the end user’s machine. We share important time and memory-consumption restrictions, as well as design principles that a code completion engine should satisfy. Working entirely on the end user’s device, our code completion engine enriches user experience while being not only fast and compact but also secure. We share a number of useful techniques to meet the stated development constraints and also describe offline and online evaluation pipelines that allowed us to make better decisions. Our online evaluation shows that the usage of the tool leads to 1.5 times more code in the IDE being produced by code completion. The described solution was initially started with the help of researchers and was bundled into two JetBrains’ IDEs – PyCharm Pro and DataSpell – at the end of 2023, so we believe that this work is useful for bridging academia and industry, providing researchers with the knowledge of what happens when complex research-based solutions are integrated into real products.

arxiv情報

著者 Anton Semenkin,Vitaliy Bibaev,Yaroslav Sokolov,Kirill Krylov,Alexey Kalina,Anna Khannanova,Danila Savenkov,Darya Rovdo,Igor Davidenko,Kirill Karnaukhov,Maxim Vakhrushev,Mikhail Kostyukov,Mikhail Podvitskii,Petr Surkov,Yaroslav Golubev,Nikita Povarov,Timofey Bryksin
発行日 2024-05-14 15:42:55+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

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