コードの移行と言語の変換は困難で費用のかかる作業です。オーストラリア連邦銀行は、プラットフォームを COBOL から Java に変換するのに 5 年の歳月と 7 億 5,000 万ドルを費やしました。 Facebook は最近、ある高水準プログラミング言語 (C++、Java、Python など) を別の高水準プログラミング言語に非常に効率的に変換できるニューラル トランスコンパイラーを開発したと発表しました。 COBOLからJavaまで、TransCoderは7億5000万ドルの節約に役立ちます異なるプログラミング言語も自動変換可能! 既存のコード ベースを Java や C++ などの最新の、またはより効率的な言語に移行するには、ソース言語とターゲット言語の両方の熟練度が必要であり、コストと時間がかかる可能性があることを理解してください。 オーストラリア・コモンウェルス銀行は、過去 5 年間でプラットフォームを COBOL から Java に移行するために約 7 億 5,000 万ドルを費やしました。
しかし、Facebook が最近開発したニューラル変換コンパイラ TransCoder は、コード変換に新たな機会をもたらしました。このシステムは、C++、Java、Python などの高水準言語から別の高水準言語にコードを変換できます。 このシステムは弱い監督下にあり、ラベル付けされていないデータセット内でこれまで検出されなかったパターンを見つけることができ、わずかな人間による監督のみを必要とします。研究者らは、これはルールベースのデータセットに基づくモデルよりもはるかに効率的だと言う。 理論的には、コード変換コンパイラは多くの助けを提供することができ、開発者はコードを最初から書き直す必要がなくなります。しかし実際には、言語によって文法ガイドライン、プラットフォーム API、標準ライブラリ関数、変数型が異なるため、コード変換は難しい作業です。 したがって、TransCoder のリリースは、企業にとって間違いなく朗報です。オーストラリア連邦銀行のように、コード変換の複雑な作業に多くの時間と費用をかける必要がないからです。FacebookとTransCoderを選択するだけで、プラットフォームの移行は簡単に解決できます。 Java から C++ まで、TransCoder の変換精度は 90% を超えます。TransCoder は、言語間モデルの事前トレーニングに基づくモデル初期化です。このようなトレーニングは、プログラミング言語の種類に重点を置くのではなく、同じ命令を表すコード セグメントを同じ表現にマッピングするだけです。 TransCoder がクロスランゲージ モデルをトレーニングできる理由は、システムのタグ付け原則が、ソース コード内に表示される数字、数学演算子、英語の文字列だけでなく、「if」、「for」などの言語間で共通するキーワードに重点を置いているためです。このように、バックトランスレーション後に、並列にトレーニングされたソース-ターゲット モデルとターゲット-ソース モデルが結合され、トレーニングの品質が向上します。 TransCoder のパフォーマンスを評価するために、研究者らは GeeksforGeeks から 852 個の C++、Java、Python の並列関数を抽出し、これらの異なる言語の変換を使用して関数のセマンティクスが正確かどうかをテストしました。テスト結果は次のとおりです。 GeeksforGeeks は、コーディングの問題を収集し、複数のプログラミング言語で解決策を提供するオンライン プラットフォームです。 研究者らは、実験中にトランスコーダーは各言語の独自の構文を理解する能力を示し、小さな変更にも適応できたと述べた。このモデルは完璧ではありませんが、専門知識を使用して手動で構築された既存のフレームワークよりも優れています。 自然言語翻訳からコード翻訳まで、seq2seqは新たな貢献を果たしますTransCoder は、Transformer ベースのエンコーダーとデコーダーで構成される、従来のシーケンスツーシーケンス (seq2seq) モデルを使用します。seq2seq モデルの利点は、2 つのプログラミング言語が何であるかを気にする必要がなく、対応する入力と出力だけがあればよいことです。 TransCoder は、初期化、言語モデリング、逆翻訳など、Lample らによって特定された教師なし機械翻訳パイプラインに従ってトレーニングされます。 実験により、モデル全体 (単語表現だけでなく) をクロスリンガル方式で事前トレーニングすると、教師なし機械翻訳の結果が大幅に改善されることがわかっています。TransCoder は、Lample と Conneau の事前トレーニング戦略に従っており、クロスリンガル モデル (XLM) は、単一言語のソース コード データセットでマスクされた言語モデリングを使用して事前トレーニングされます。 TransCoderの変換原理 その中で、言語間の共通性は、複数の言語に共通するマーカー(アンカー)が多数あることに由来します。英語からフランス語への翻訳の文脈では、アンカーは主に数字、都市、人名などで構成されますが、プログラミング言語では、これらのアンカーは一般的なキーワード(for、while、if、tryなど)のほか、ソースコード内に表示される数字、演算子、英語の文字列から来ます。 seq2seq モデルのエンコーダーとデコーダーは、事前トレーニング済みの XLM モデル パラメーターによって初期化されます。エンコーダーは XLM モデルと同じアーキテクチャを持っているため、初期化は非常に簡単です。ただし、デコーダーにはアテンション メカニズムに関連する追加のパラメーターがあるため、この部分はランダムに初期化されます。 XLM 事前トレーニングにより、seq2seq モデルは入力シーケンスの高品質な表現を生成できます。ただし、デコーダーはソース表現に基づいてシーケンスをデコードするようにトレーニングされたことがないため、変換機能が欠けています。この問題を解決するために、TransCoder はノイズ除去オートエンコーダ (DAE) を使用してシーケンスをエンコードおよびデコードし、モデルをトレーニングします。 テスト時に、モデルは Python シーケンスをエンコードし、C++ 開始シンボルを使用してデコードして C++ 変換を生成できます。 C++ 変換の品質は、モデルの「言語間」パフォーマンスに依存します。Python と C++ の変換がエンコーダーによって同じ表現にマップされている場合、デコーダーは対応する C++ コードを正常に生成します。 実際、XLM 事前トレーニングとノイズ除去オートエンコーダーだけでも翻訳を生成するのに十分です。ただし、モデルはプログラミング言語によって実装された機能についてトレーニングされたことがないため、これらの翻訳の品質は低いことがよくあります。この問題に対処するために、TransCoder はバック翻訳を使用します。これは、弱い監視下で単一言語データを活用する最も効果的な方法です。 教師なしの場合、ソースからターゲットへのモデルと後方ターゲットからソースへのモデルが並行してトレーニングされます。ターゲットからソースへのモデルは、ターゲット シーケンスをソース言語に翻訳するために使用され、実際のターゲット シーケンスに対応するノイズの多いソース シーケンスを生成します。次に、ソースからターゲットへのモデルは、以前に生成されたノイズの多いソース シーケンスからターゲット シーケンスを再構築したり、その逆を行ったりするために、弱い教師あり方式でトレーニングされ、両方のモデルは収束するまで並行してトレーニングされます。 著者について 論文の筆頭著者である Marie-Anne Lachaux 氏は、現在 Facebook AI Research Institute で NLP の研究者を務めています。同氏はパリ高等電気通信学校でコンピューター グラフィックスの学士号を取得し、ロンドン大学キングス カレッジでコンピューター グラフィックスの修士号を取得しています。同氏は以前はダッソー システムズで研究者として働いていました。主な研究分野は、コンピュータービジョンと画像認識、コンピューターニューラルネットワークです。 ダッソーで研究者として働いていたとき、マリーアン・ラショーはトポロジー最適化の研究に注力していました。トポロジー最適化は、機械部品を設計するための新しいアプローチであり、機械的特性を維持しながら部品の質量を大幅に削減することを目的としています。トポロジー最適化の実装は Visual Studio、C++、および多くの古典的なライブラリに基づいており、Marie-Anne Lachaux が Facebook で NLP 研究を行うための基盤を築きました。
これまで、ディープラーニングベースのコード補完プロジェクトは驚くべき成果を上げており、ルールベースのコード変換プロジェクトも数多くありましたが、記述できるルールが限られているため、それらのほとんどは一般化能力に欠けていました。 TransCoder はディープラーニングに基づいてコード変換を実行し、これらのルールを無視してエンドツーエンドで直接作業します。これは、関連作業にとって依然として大きなインスピレーションです。 TransCoder の精度がさらに向上すれば、アルゴリズム モデル エンジニアリングの作業負荷が大幅に軽減され、プログラマーのコーディング効率も質的に飛躍的に向上するでしょう。 |
<<: 人民日報のYitu Zhu Longの記事:今後10年間はAIコンピューティングパワーの「スーパームーア時代」となる
>>: Alibaba DAMO Academyの従業員が空き時間に「紙の知識グラフ」を作成: 非常に高速な検索と完全な視覚化
[[236355]]職場で機械が人間の労働に取って代わるにつれ、その恩恵を受けるためには私たち全員が...
AI 支援による記事執筆は今やどこにでもあります。ChatGPT は多くの言語ベースの AI アプリ...
生成 AI の初年度で、すべての人の仕事のペースが大幅に加速しました。特に、今年は誰もが大型モデルの...
2018 年のインターネット業界が新たな変化の時期を迎えていることは否定できません。新たなアップグレ...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
AI顔変換ソフト「ZAO」やMegviiのキャンパス顔認識をめぐる論争に続き、17万件の顔データが...
インターネットとオンラインショッピングの普及は、一部のオフライン業界に前例のない影響をもたらしました...
情報筋によると、検索エンジンの百度は先週、検索アルゴリズムを調整し、微博のコンテンツのインデックスを...
[[389315]]基本的な紹介n 個のリーフ ノードとして n 個の重みが与えられ、バイナリ ツ...
英国の著名な分析機関オックスフォード・エコノミクスが発表したデータによると、今から10年後の2030...
最近、AIGC の広大な世界で、セマンティック コンテンツを元の位置 (ハンドル ポイント) からタ...