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データセット

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

ブログ    

推薦する

スーパー人工知能はいつ実現されるのでしょうか?

01 近未来1997 年 5 月 3 日、IBM のチェス コンピュータ Deep Blue と世...

LVS セットアップノート: 負荷分散アルゴリズム

先ほど、負荷分散を完了するための最初のステップである Linux LVS インストール プロセスを紹...

オープンソースのラマ2の背後には、若い中国人たちの力がある

最近、Llama 2 のオープン ソース化により、Yann LeCun 氏や業界関係者の多くが「ビッ...

自動運転:距離推定にステレオビジョンをどのように活用するのか?

自動化システムでは、ディープラーニングとコンピュータービジョンが広く普及し、あらゆる場所で利用されて...

...

世界中のロボットが1つの脳を共有する、Google DeepMindが第一歩を踏み出した

過去 1 年間、生成型人工知能の開発におけるキーワードは「ビッグ」でした。強化学習の先駆者であるリッ...

ディープラーニングを使用してXSSを検出する方法

1. はじめに周知のとおり、ディープラーニングはコンピュータービジョン、自然言語処理、人工知能などの...

インテリジェントソフトウェアが現代の製造業に革命を起こす

テクノロジーが進歩を左右するこの急速に変化する時代において、製造業界は大きな変化を遂げています。この...

...

周浦データの粘り強さと抑制力:有用性はデータインテリジェンスのゴールドスタンダード

IT は遠くありません。DT はすでにここにあります。​​​ DT 時代の到来により、「データ + ...

顔認識: 顔認識攻撃手法と偽装防止手法の種類

コンピュータサイエンスと電子技術の急速な発展により、顔認証は現在、市場シェアで指紋に次ぐ世界第2位の...

東方世界の楊暁:AR開発技術のポイントを探る

[51CTO.comからのオリジナル記事] 市場調査会社Digi-Capitalのデータによると、2...

...

...

ByteDanceは、従来の4倍の速度を誇る高性能トレーニングおよび推論エンジンLightSeqを発表した。

Transformer モデルは、Google チームが 2017 年に発表した論文「Attent...