Facebook、あるプログラミング言語を別のプログラミング言語に高精度に変換するAI「TransCoder」を発表

Facebook、あるプログラミング言語を別のプログラミング言語に高精度に変換するAI「TransCoder」を発表

Facebook の研究者は、人工知能アプリケーション用のプログラミング言語コンバータの開発に成功したと発表しました。TransCoder と呼ばれるこのツールは、ある高級プログラミング言語から別の高級プログラミング言語にソース コードを変換できます。たとえば、C++からJava、Pythonへの切り替え、またはその逆の切り替えです。

TransCoder は教師なし学習に基づいて構築されており、データセット内でこれまで発見されていなかったパターンを検索します。データセットにはラベルが付けられておらず、最小限の人間による監視が必要です。計算によると、TransCoder は既存の商用ツールよりもはるかに優れています。

Facebook、あるプログラミング言語を別のプログラミング言語に高精度に変換するAI「TransCoder」を発表

Facebook TransCoder は、ソースコードをあるプログラミング言語から別のプログラミング言語に高精度で変換できます

古い言語を使用したソース コードをJavaや C++などのより現代的で効果的なプログラミング言語に変換するには、多くの場合、時間と費用の両方がかかります。さらに、この仕事に就く人は、古い言語と新しい言語の両方について深い知識を持っている必要があります。たとえば、オーストラリアの Commonwealth Bank は、システム全体のソース コードを COBOL から Java に変換するのに 5 年の歳月と 7 億 5,000 万ドルの費用をかけました。

理論的には、プログラミング言語コンバーターは上記のプロセスを大幅にサポートできるため、プログラマーはソース コードを最初から書き直す必要がなくなります。ただし、実際には、プログラミング言語はさまざまな構文セットを使用し、API プラットフォーム、標準関数ライブラリ、タイプ、変数に依存する可能性があるため、コンバーターを構築して完成させることは非常に困難です。

ただし、Facebook の TransCoder は、教師なし学習を使用して、C++、Java、Python の間で高レベルの精度で変換できます。TransCoder は、プログラミング言語の同じ機能を共有する類似のコード セグメントを記録してマッピングすることによってトレーニングされます。TransCoder のトレーニングに使用されるソース コードは、TransCoder がコンテキストに基づいて予測できるように、ランダムなコード スニペットでさえマスクされています。

自動エンコーディングのノイズ除去と呼ばれる別のプロセスは、一貫性がなく不明瞭な入力データが提供された場合に、有効なコード行を自動的に生成するように TransCoder をトレーニングします。最後に、ソース コードの逆コンパイル プロセスにより、TransCoder は将来のトレーニングに使用できる並列データ システムを作成できます。

TransCoder の多言語特性は、一般的なキーワード「for」、「while」、「if」、「try」、数値、数学演算子など、プログラミング言語間で共通の「アンカー」のセットによってさらに「強化」されています。英語の文字列。逆コンパイル プロセスは、TransCoder の品質を長期的に向上させるのにも役立ちます。

Facebook の研究者は、280 万のオープンソース リポジトリを含む GitHub の公開データセットで TransCoder をトレーニングしました。このトレーニング プロセスの目標は、TransCoder が関数レベルで 1 つのプログラミング言語を別のプログラミング言語に変換できるようにすることです。TransCoder が利用可能なすべてのソース コードで実践された後、自動エンコーディングと逆コンパイルを使用するノイズ除去コンポーネントのみが、6,000 トークンのプログラミング言語で動作するコンポーネントが散在する機能でさらにトレーニングされました。

TransCoder を評価するために、研究者らは、プログラミングの問題をまとめ、複数のプログラミング言語で解決策を提供するオンライン プラットフォームである GeeksforGeeks から、C++、Java、Python から 852 個の並列関数を抽出しました。このようにして、彼らは、同じ入力が与えられた場合に、仮想関数が基準として同じ出力を生成するかどうかをテストするための新しい測定システムである計算精度を開発しました。

Facebook は、TransCoder の最良のバージョンであっても、入力に対して正確な関数構造を多く生成することはまだできないことを認めています。ただし、このツールの変換結果は総じて計算精度が高いです。以下は Facebook が計算した TransCoder の精度統計です。

  • C++ から Java に変換する場合、TransCoder は期待された結果の 74.8% を達成しました。
  • C++ から Python に変換する場合、TransCoder は期待された結果の 67.2% を達成しました
  • Java から C++ に変換する場合、TransCoder は期待された結果の 91.6% を達成しました。
  • Python から Java に変換する場合、TransCoder は期待された結果の 56.1% を達成しました
  • Python から C++ に変換する場合、TransCoder は期待された結果の 57.8% を達成しました
  • Java から Python に変換する場合、TransCoder は期待された結果の 68.7% を達成しました

研究者らによると、TransCoder は各言語のデータ構造とメソッドだけでなく、各言語特有の構文も明確に理解していることを実証しました。TransCoder は、入力変数の名前変更などの小さな変更に適応しながら、各言語のライブラリを正確に適応させることもできます。それでも、TransCoder は変換プロセスにおける特定の変数をまだ特定していません。しかし、研究者らは依然として、TransCoderが専門知識に基づいてルールを手動で書き換えて作成されたフレームワークよりも優れていると評価している。

Facebook、あるプログラミング言語を別のプログラミング言語に高精度に変換するAI「TransCoder」を発表

Facebook以外にも、多くの大企業が人間に代わって「コードを書く」ことができるAIの開発に興味を持っている。

「TransCoder は、深い知識を必要とせずに、あらゆるプログラミング言語に簡単に一般化できます。効率の点では、TransCoder は既存の商用ソリューションよりもはるかに優れています。」とFacebook の研究者は主張しています。「私たちの実験結果は、生成された関数が構文的に正しいことを保証するために、デコーダに単純な制約を追加することで、TransCoder のバグの多くを簡単に修正できることを示しています。あるいは、この問題に特化したアーキテクチャを作成することもできます。」

Facebookに加えて、他の多くの巨大企業も、人間の代わりに「コードを書く」ことができるAIシステムの開発に興味を持っています。今年初めの Microsoft Build カンファレンスで、OpenAI は、 GitHub でトレーニングされた人工知能が、英語のコメントに基づいて完全に機能するソフトウェアを作成できることを実証しました。2 年前、ライス大学は、公的に共有されたコード行に「意志」を合成することで独自のソフトウェアを作成できる、Bayou と呼ばれるシステムを作成しました。

「これらの AI システムは、ソフトウェア開発プロセスにおける細かい点を排除するのに役立ちます」と Intel Labs のディレクター、Justin Gottschlich 氏は述べています。「彼らはプログラマーがバグを解決することでソフトウェア開発をスピードアップするのに役立ちます。さらに、彼らはプログラミングの背景がない人でも参加できるテクノロジー業界の仕事の数を増やすのに役立ちます。これらの人々は創造的なタスクを引き受け、コーディング部分から離れるでしょう」 AIに。」

Facebook のこの新しい AI についてどう思いますか? 記事の下にあるコメントセクションにコメントを残してください。


ChatGPTタスクフォースはヨーロッパによって設立されます

ChatGPTタスクフォースはヨーロッパによって設立されます

欧州の国家プライバシー監視団体を統合する団体は木曜日、ChatGPT専用の対策委員会を設置したと発表した。

AI は人間の死亡時刻を 78% の精度で予測します

AI は人間の死亡時刻を 78% の精度で予測します

デンマークとアメリカの科学者は共同で、人間の死亡時刻を高精度で予測できる life2vec と呼ばれる AI システムを開発しました。

AIが尿音だけで泌尿器疾患を予測

AIが尿音だけで泌尿器疾患を予測

Audioflow と呼ばれる AI アルゴリズムは、排尿音を聞いて、異常な排尿の流れとそれに対応する患者の健康上の問題を効果的かつ首尾よく特定できます。

バーテンダーの皆さん、気をつけてください: このロボットはわずか 1 分でカクテルを作ることができます

バーテンダーの皆さん、気をつけてください: このロボットはわずか 1 分でカクテルを作ることができます

日本では高齢化と人口減少により、特にサービス部門で大量の若年労働者が不足しています。

自分たちが愛した少女がAIの産物だと知り、何百人もの人々が幻滅した

自分たちが愛した少女がAIの産物だと知り、何百人もの人々が幻滅した

u/LegalBeagle1966 という名前の Reddit ユーザーは、このプラットフォームで魅惑的な自撮り写真、さらにはヌード写真を頻繁に共有する映画スターのような女の子、クローディアに夢中になっている多くのユーザーの 1 人です。

さらに 12 社の潜在的な企業がマイクロソフトの「AI アライアンス」に参加します。

さらに 12 社の潜在的な企業がマイクロソフトの「AI アライアンス」に参加します。

Microsoft は、さらに 12 社のテクノロジー企業が AI for Good プログラムに参加すると発表しました。

AI がドラゴンボールのキャラクターを生身で再現

AI がドラゴンボールのキャラクターを生身で再現

ユーザー @mortecouille92 は、グラフィック デザイン ツール Midjourney の力を活用し、悟空、ベジータ、ブルマ、カメ長老などの有名なドラゴンボールのキャラクターのユニークでリアルなバージョンを作成しました。

ChatGPT の応答を改善する 7 つのテクニック

ChatGPT の応答を改善する 7 つのテクニック

いくつかの条件を追加したり、いくつかのシナリオを設定したりするだけで、ChatGPT はクエリに対してより適切な回答を与えることができます。ChatGPT 応答の品質を向上させる方法をいくつか見てみましょう。

人工知能が描く美しい絵画に驚嘆

人工知能が描く美しい絵画に驚嘆

Midjourney は、本物のアーティストに劣らない非常に美しい絵画のため、最近オンライン コミュニティとアーティスト界で「フィーバー」を引き起こしている人工知能システムです。

この AI モデルは、武漢肺炎の発生に関するニュースを発見した最初の「専門家」の 1 人でした。

この AI モデルは、武漢肺炎の発生に関するニュースを発見した最初の「専門家」の 1 人でした。

中国が発生を発表してから数日後、世界の航空券販売データにアクセスできるブルードットのAIシステムは、武漢コロナウイルスのバンコク、ソウル、台北、東京への感染拡大を正確に予測し続けた。