ホームページ  >  記事  >  テクノロジー周辺機器  >  3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

王林
王林転載
2023-04-12 10:37:051559ブラウズ

著者|Xu Jiecheng

査読者|Yan Zheng

Google と Microsoft が AI 検索エンジン市場を獲得するために激しく競争している一方で、一部のプログラマーはメロンを食べることに興味がありません。なぜなら、この検索戦争が終わっても、ソフトウェア大手は引き続きChatGPTやその他の人工知能生成ツールを搭載し、自動コーディングのブルーオーシャンに向かって闊歩するだろうということを事前に認識していたからである。その時には、敗者になるだけでなく、自分自身の仕事すら脅かされるかもしれません。

今日の自動コーディングの分野において、最も成熟しよく知られている AI は、最近脚光を浴びている ChatGPT と、Microsoft が発売した AI プログラミング ツール Copilot の 2 つです。そしてこの「2人」は、現段階でプログラマーに代わる最も期待されている人気スターでもある。それでは今のところ、ChatGPT と Copilot のコーディング能力は何でしょうか? 噂されているように、これらは本当に短期的にすべての初級開発者、さらには一部の中級開発者に取って代わられるのでしょうか?

最近、アメリカの技術専門家が複数の JavaScript 関数要件を使用して、データ処理とアルゴリズム生成における ChatGPT と Copilot の機能をテストしました。次に、これらの結果を使用して、コーディングにおける AI の現在の実際のレベルを理解して、本当に私たちに取って代わられるのかを自問してみましょう。

1. JavaScript 関数は可変数の配列を受け入れ、交差部分を返します

最初のテストでは、テスターはまず ChatGPT と Copilot に JavaScript 関数を生成するように依頼しました。 、特定の条件付き 対象: 可変数の配列を受け入れ、それらの共通部分を返すことができる必要があります。

#OpenAI ChatGPT:

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

##Microsoft Copilot:

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。#ChatGPT によって生成される関数は、配列未満の値を指定することは無効であると想定しています。 Set を使用することで、ChatGPT は結果に重複がないことを保証します。交差は集合演算である必要があり、重複は削除される必要があります。 Copilot コードは、重複を含む可能性のある配列を返します。

ChatGPT も Copilot も、元のパラメーターを長さに応じて昇順に並べ替えません。これは簡単な最適化ですが、大きな変更を引き起こす可能性があります。引数の長さが 0 の場合、交差は存在しません。最大の交差が最短の配列引数と同じであるため、とにかくループが短くなります。

その後、テスターは ChatGPT と Copilot に関数の実行効率を改善するよう依頼しました。

#OpenAI ChatGPT:

##Microsoft Copilot:

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

# 上記の問題に直面して、Copilot は前のリクエストと同じコードを生成しました。 ChatGPT は別の答えを出し、関数がオブジェクトに対して期待どおりに動作しないというコメントを追加しましたが、この説明は正確ではありません。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。次に、テスターは同じ方法を使用して、ChatGPT と Copilt が提供する 2 つの最速の交差ライブラリによって生成されたコードの動作効率とメモリ消費量をチェックしました。

ChatGPT によって生成されたコードは、実行時に使用する CPU の使用量が少なくなりますが、実行効率は理想的ではなく、コードCopilot によって生成される コードで使用するヒープは少なくなりますが、CPU 使用率と操作効率は低くなります。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。つまり、このテストでは、ChatGPT も Copilot も十分に効率的なコードを生成できません。ChatGPT はこの質問で間違った仮定を立てました。Copilot によって生成された関数には、値が重複するときのパラメータがあります。が含まれている場合、コレクションを生成しないコードが生成されます。

2. JavaScript 関数: デカルト積

2 番目のテストでは、デカルト積 JavaScript 関数を完成させるために ChatGPT と Copilot が必要です。

#OpenAI ChatGPT:

##Microsoft Copilot:

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。#

デカルト積に詳しい人なら、メモリ使用率とパフォーマンスの観点から、ChatGPT と Copilot によって生成される結果が爆発的であることをご存知でしょう。単純な実装では、すべての組み合わせを保存するために大量の RAM を消費し、すべての組み合わせが生成されるまで結果を返しません。 ChatGPT と Copilot によって生成された関数には両方とも次の欠点があります。

その後、テスターは再び ChatGPT と Copilot に機能効率の向上を求めました。

OpenAI ChatGPT:

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

##Microsoft Copilot :

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

この需要に応えて、ChatGPT のパフォーマンスは驚くべきものです。しかし、関数全体としては、ChatGPT は重大な間違いを犯しており、yield [item,...result] はジェネレータ内ではなく再帰内にあります。 Copilot は単に需要の変化を無視し、以前と同じ結果を返しました。

コードの実行効率とメモリ消費量に関して、ChatGPT と Copilot のパフォーマンスは次の表に示すとおりです。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

全体的に、ChatGPT も Copilot もデカルト積関数の正しいコードを生成できません。ChatGPT は、次のようなコードを生成します。 2 つのパラメーターが必要であるなどの仮定; 検出結果は、ChatGPT によって生成されたコードの方がメモリ効率が高いことを示していますが、まったくスムーズに実行されません。

3. オブジェクトとオリジナル パラメータを保存する JavaScript 関数

3 ラウンド目では、テスターは 2 人に、オブジェクトとオリジナル パラメータを保存できる JavaScript 関数を生成するように依頼しました。

#OpenAI ChatGPT:

##Microsoft Copilot: 3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

#この点に関して、ChatGPT と Copilot はどちらも比較的非効率的なコードを生成しました。最初に文字列を変換してから文字列を比較するのが非常に効率的です。たくさんの記憶。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

Infinity や NaN など、文字列に変換できない JavaScript 値もあります。残念ながら、JavaScript JSON 仕様はデータ サイエンスとマイクロサービスの時代より前に定義されており、これらの値は主に、コード内で特定のエラー条件が発生したときに、プログラムが特定の値を使用して生成された結果を表すために存在します。

最後に、関数の効率を検証するために、テスターは ChatGPT と Copilot によって生成されたコードを、一般的に使用されるキャッシュ ツール nano-memoize および micro-memoize と比較し、以下を使用しました。最初の 12 個のフィボナッチ数を生成するコード。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

# その中で、nano-memoize が最も効率的ですone は、ChatGPT や Copilot によって生成されたコードのほぼ 2 倍効率的であり、使用されるメモリも最低ですが、micro-memoize のパフォーマンスはほぼ追随していると言えます。 CPU 使用率の点では Copilot は優れたパフォーマンスを示していますが、全体として、このテストにおける ChatGPT と Copilot のパフォーマンスは、成熟したプログラマに勝つにはまだ十分ではありません。

3 つの PK ゲームで ChatGPT のレベルが明らかになりました。

4. 要約と予測

これら 3 つのテストを通じて、ChatGPT と Copilot を使用して生成されたコードは間違いなく次のとおりであることが簡単にわかります。特定の値。しかし今のところ、ChatGPT も Copilot も、単純なタスクの記述から十分に正確で効率的なコードを生成することはできず、場合によっては非常にひどい間違いを犯すこともあります。この結果を知った多くの開発者も、あと数年は続けられると感じたと述べています。

今日の企業やプログラマーにとって、ChatGPT、Copilot、またはその他のコード生成ツールを使用して、簡単な補助コーディング タスクを完了してビルドを高速化したい場合は、間違いなく次のことが可能です。十分なサポートを得てください。しかし、研究開発を完全に解放するために彼らに依存したい場合は、強力なデバッグチームを装備するために多額の資金を費やす必要があるかもしれません。

しかし、たとえこれが結果であったとしても、今日でも自動コーディングの分野における AI の可能性と、これらのシステムを支える強力なソフトウェア会社を無視することはできません。確かなことは、トレーニングの量とテクノロジーの成熟度が増すにつれて、将来の自動コーディング ツールはさまざまなシナリオでビジネス データを拡張し続け、より専門的でシナリオベースの実践的なタスクを徐々に解決しようとすることです。

最後に、「将来、AI はプログラマーに取って代わることができるのか?」という質問について、おそらく現時点で最も信頼できる答えは、アリババ イスラエル マシン ビジョン研究所の元所長イタマール フリードマン氏がかつて言ったことです。インタビューでの予測 - 「今後 10 ~ 20 年で、人工知能システムにより、プログラマー以外のクリエイターも自然言語命令を使用してエラーなく開発できるようになるでしょう。そして、私たちの世界は依然として多くのプログラマーを必要としますが、彼の役割は予期せぬ形で変化する可能性があります。」

参考リンク:

https://medium.com/@anywhatway/chatgpt- vs-copilot-vs-programmers

https://github.com/anywhatway/nano-memoize

https://github.com/planttheidea/micro-memoize

以上が3 つの PK ゲームで ChatGPT のレベルが明らかになりました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。