AIはすでにLeetCodeを実行できる

AIはすでにLeetCodeを実行できる

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。

AI はすでに、面接で遭遇する次のようなアルゴリズム的な質問を解くことができます。

論文の引用数を記録する配列の場合、各要素は負でない整数です。これらの論文の h 指数 (つまり、最大 h 件の論文が少なくとも h 回引用されている) を出力する関数 h_index を記述してください。
例:
入力: [3, 0, 6, 1, 4]
出力: 3

AI が出した Python の答えは次のとおりです。

counts.sort(reverse = True) が役に立たず、人々の血圧を上昇させることを除けば、テストに合格したと見なすことができます。

カリフォルニア大学バークレー校の研究チームは、上記の質問を「面接レベル」の難易度に分類しました(海外のプログラマーの面接の質問は少し簡単なようです)。

さらに、より簡単な「入門レベル」とより難しい「競技レベル」があり、合計5,000問のテストのうち、AIが回答できるのは15%です

また、GPT-2 を使用して LeetCode 専用の AI をトレーニングし、タスクの 80%を完了できたと主張する人もいました。

LeetCode を磨くときに震えていませんか?

GPT-NeoがGPT-3に勝利

この研究で使用された質問形式は自然言語の質問幹であり、これは以前の研究で一般的に使用された疑似コードとコード間の翻訳とは異なります。

質問は、Codeforces、Kattis、その他の質問練習ウェブサイトから収集された 10,000 問で、そのうち 5,000 問はトレーニングに使用され、残りの 5,000 問はテスト セットとして使用されます。

質問の幹の平均の長さは 293.2 語で、テスト セットには質問ごとに平均 21.2 のテスト ケースがあります。

複雑なアルゴリズムを必要とせず、1~2 年の経験を持つプログラマーが回答できる初級レベルの質問が 3,639 問あります。

面接レベルの質問には、ツリーやグラフなどのデータ構造に関するものや、一般的なアルゴリズムの変更を必要とするものなどがあり、その数は 5,000 に上ります。

残りは、USACO、IOI、ACM などの大会レベルに達する競技レベルの難易度です。

研究者らは、GPT-2、GPT-3、そして「高度模倣版」 GPT-Neoの1億パラメータ版と15億パラメータ版を訓練した。

パラメータスケールが「わずか」 27億のGPT-Neoと、さらにパラメータスケールが低いGPT-2は、パラメータスケールが1750億のGPT-3よりもテストケース合格率で優れています。

厳密モードでは、すべてのテストケースに合格すると完全に正解とみなされます。最高のパフォーマンスを示した GPT-Neo は 1.12% しか合格しませんでしたが、それは56問です (いずれにしても私よりは優れています)。

GPT-Neo は、GPT を再現しようとする EleutherAI チームのオープンソース プロジェクトです。

パラメータスケールは GPT-3 よりもはるかに小さいですが、トレーニングデータには Stack OverFlow や Stack Exchange などの技術的な Web サイトがより多く含まれており、これがコード生成で勝っている理由の 1 つであると考えられます。

GPT-3 のパフォーマンスが GPT-2 よりも悪い理由については、テキストが多すぎるためではないかと推測する人もいます。自然言語の生成は得意ですが、ロジックと問題解決には過剰適合しています

AI「テストソルバー」を評価する方法

論文が発表されるや否や、人々の想像力は驚愕した。

面接に合格しなかったが、私が書いたアルゴリズムが合格した場合はどうなるのでしょうか?

誰かが彼に答えました。

問題ありません。あなたはアルゴリズムのアシスタントになることができます。

次のステップについては、多くの人が「自己回帰GPT の代わりに自動エンコーディング言語モデルを使用するとどうなるか」といった提案をしています。たとえば、 CodeTrans

あるいは、GPT を使用して、回答できない質問を生成します。

△ 葛藤があるんですよね?

楽観主義者は、これによって人々の創造性が解放され、将来のプログラミングではコードの記述が少なくなり、アーキテクチャとエンジニアリングの作業が増えると考えています。

要件を記述するだけでコードを生成できたら素晴らしいだろうと考える人もいます。

こんにちは、IDE。データベースを使用して、JavaScript の追加、クエリ、変更、削除操作をテストとともに実行したいと考えています。

△ Ruby on Railsは良い選択です

悲観論者は、将来、人間のプログラマーはメンテナンス作業と機械生成コードのレビューしかできなくなるだろうと考えています。

AI「テストソルバー」が怖いですか?

論文の宛先:
https://arxiv.org/abs/2105.09938

データセットアドレス:
https://github.com/hendrycks/apps

LeetCode プロジェクトを自動的に更新します:
https://github.com/gagan3012/プロジェクトコードpy

<<:  清華大学とアリババDAMOアカデミーが開発した業界初の少数サンプルNERデータセット

>>:  次世代ビジネスインテリジェンスのトレンドと機会

ブログ    

推薦する

ロボットが2000万の仕事に取って代わる:最大の懸念は30代なのに何も知らないこと

[[269741]] 01 数日前、あるニュースが私の周りの多くの人々に反省と心配を抱かせました。 ...

...

...

ビッグデータと人工知能の関係、総合的な分析

ビッグデータはクラウドコンピューティングを採用PaaS レイヤーの複雑な汎用アプリケーションは、ビッ...

ディープラーニングの基本的な概念と手法についての簡単な説明

この記事は、数学的および理論的な詳細にはあまり触れずに、ディープラーニングの基本的な概念を取り上げ、...

Google Brain の新たな研究: 強化学習はどのようにして音で観察することを学ぶのでしょうか?

人間は、脳内の神経系が外部環境の変化に継続的に適応するためにその構造を変える能力を持っていることを証...

ナレッジグラフは銀行のビジネスモデルをどのように変えるのでしょうか?

金融部門は、個人の購入から大規模な取引まで、莫大な富につながる大量の貴重なデータを定期的に生成してお...

AIチップ業界は発展の初期段階にあり、将来的には大きな市場の可能性を秘めている

世界のPC業界が年々衰退し、スマートフォン市場が飽和状態に陥る中、ビッグデータ、クラウドコンピューテ...

機械学習はコンタクトセンターの未来

コンタクトセンターへの機械学習の応用は、ゲームチェンジャーとなるでしょう。企業はこのテクノロジーを活...

機械学習は金融自動化においてどのような役割を果たすのでしょうか?

金融やその他の分野における自動化は避けられません。しかし、金融サービスの自動化は、高いレベルの注意、...

...

北京大学の具現化知能チームは、人間のニーズに合わせてロボットをより効率的にするための需要主導型ナビゲーションを提案した。

ロボットに手伝ってもらいたい場合は、通常、より正確な指示を与える必要がありますが、指示の実際の実装は...

...

AIの文章検出ツールは信頼性が低く、米国憲法は実際にはロボットによって書かれたと考えられている

7月16日、一部のネットユーザーは、米国で最も重要な法律文書である米国憲法を、人工知能による執筆を検...

...