プログラマーから見たChatGPT

プログラマーから見たChatGPT

著者 |ブライト・リャオ

私はもともとAI技術に興味があったソフトウェア開発エンジニアで、ディープラーニングが流行し始めた2015年、2016年頃から関連技術を学び始めました。当時、私たちは研究に興味を持っていた社内の学生たちも組織して共同研究を行いました。最終結果は、いくつかのコミュニティ共有といくつかの学習記事にまとめられました(こちらをご覧ください:https://brightliao.com/tags/ai/)。

OpenAIが昨年ChatGPTをリリースして以来、AIの能力は再び世界を驚かせています。このような時点で、関連する技術を再学習する必要があります。

ChatGPTとは

ChatGPT とは何かを紹介するコンテンツはすでにインターネット上にたくさんあります。まとめると、ChatGPT についてはいくつかの理解があります。

  • ChatGPT は、OpenAI によって開発された会話生成用の AI モデルです。
  • GPT は「Generative Pre-trained Transformer」の略で、事前トレーニング済みの生成 Transformer モデルであることを意味します。
  • ChatGPT は、Web ページ、書籍、インターネット上の会話などの大規模なテキスト コンテンツから学習し、入力された自然言語を正確に理解し、自然で一貫した応答を生成することができます。
  • ChatGPT は、インテリジェントなチャットボット、仮想アシスタント、仮想カスタマー サービス、その他のアプリケーションの構築に使用できます。記事、スクリプト、デザインの作成に役立ち、プログラムの作成とデバッグにも役立ちます。
  • ChatGPT の計算プロセスは非常に複雑で、1000 億を超えるパラメータが関係し、多数のグラフィック カードを使用した並列計算が必要です。

では、開発者にとって ChatGPT のさまざまな機能は何でしょうか?私たちが慣れ親しんでいるものと比較して、どのように理解すればよいのでしょうか?以下では主にこの観点から私の意見を述べたいと思います。

決定論と非決定論

一般的な開発者の観点から、ChatGPT は通常のプログラムとどう違うのでしょうか?最大の違いは決定論と不確実性だと思います。

私たちが作業用に作成するソフトウェア プログラムのほとんどは、決定論的な方法で動作します。例えば、この記事はMarkdown形式で書かれていますが、Markdown形式を特定の方法で解析し、特定の方法で表示できるプログラムがあります。

ChatGPT モデルは非常に異なり、より確率的かつ非決定論的な方法で動作します。自然言語自体が不確実性に満ちていることは誰もが知っています。たとえば、「みんな彼を軽蔑している」という同じ文は、「彼」が非常に好き嫌いが激しく、他人を見下しているという意味になる場合もあれば、「彼」は能力が乏しく、みんなから見下されているという意味になる場合もあります。それはどういう意味ですか?これはさまざまな文脈や状況によって異なります。

ChatGPT モデルは自然言語の意味をより正確に理解できるため、入力されたテキストを包括的に分析し、最も確率の高いものを選択できます。

同時に、ChatGPT モデルはさまざまな応答を生成することができ、これも確率によって制御されます。 ChatGPT モデルは、指定されたテキストに基づいて次の単語を生成することによって機能します。次の単語をどうやって選ぶのでしょうか?プログラムは設定に基づいて、確率の高い単語をランダムに選択します。このランダム性により、AI の応答の多様性が生成されます。次の単語を生成するときに常に最も確率の高い単語を選択すると、ChatGPT モデルは決定論的なプログラムになります。

自動最適化によって得られる複雑な関数

開発者の観点から見ると、ChatGPT は実際には入力テキストに基づいて他のテキストを出力する通常の関数として見ることができます。この関数が実現できる機能はより強力であり、確率に基づいています。

この機能の実装は、主に開発者がコードを記述して実装する他の方法とも異なります。 ChatGPT モデルは、他の AI モデルと同様に、トレーニングを通じて実現されます。

簡単に言えば、その実装プロセスは次のとおりです。この機能を実装するために、一連のパラメータをランダムに初期化し、この機能に必要なと思われる多数の入力と出力のペア(つまり、トレーニング データ セット)を準備し、これらのデータを使用してトレーニングを行いました。トレーニング プロセスは、実際には、以前にランダムに初期化したパラメーターを調整するプロセスです。これらのパラメータを長期間にわたって広範囲に調整した結果、この関数は、指定した入力に対して期待どおりの出力を返す可能性が高いことがわかりました。この時点で、関数は実際には確率的な方法で実装されます。

パラメータを調整するプロセスは、高校数学の連立方程式を解くプロセスに例えることもできます。たとえば、2 つの未知数を持つ方程式 ax + by = c が与えられた場合、2 つのセットの abc の値がわかっていれば、x と y を解くことができます。ここでのトレーニングは、このような abc 値のペアを多数見つけ、それらの値を使用して x と y を解くことと同じです。ただし、ここでのソリューションでは、実際にはベクトル計算ベースのテクニックがいくつか使用されています。

理解不能なブラックボックス

これまでの理解があれば、ChatGPT が神秘的なテクノロジーだとは思わないと思います。これは、通常の関数実装メカニズムとは少し異なります。

おそらく、このパラメータ最適化方法を使用して複雑な機能を実装すると、興味深く、刺激的なものになるでしょう。しかし、実際には、この実装方法にも問題があります。

おそらく最大の問題は、この機能がなぜ機能するのか理解するのが難しいことです。

これは、関数に多数のパラメータ、特に ChatGPT などの大規模なモデルが含まれていることが一因です。たとえば、ChatGPT3.5 バージョンには 1,750 億個のパラメータが含まれています。これほど多くのパラメータがある場合、各パラメータの役割を手動で分析することは明らかに不可能です。

一方、これらのパラメータがどのように計算されるかはわかりません。パラメータ調整プロセスにも非常に長い時間がかかり、入力と出力のペアが非常に大きくなるためです。これらのパラメータが最終的に最適値に近い点に収束できることは、数学的な観点からのみ説明できます。しかし、それぞれの最適化の具体的な影響を分析することはできません。

このような AI モデル、つまりインテリジェント機能は、それ自体が理解不能なブラックボックスであると言えます。

理解するのが難しいため、常に良好なパフォーマンスを発揮する一方で、特定のシナリオでは予想外に悪い結果になる可能性があるため、使用時には注意が必要です。これは、現在の人工知能技術が非常に優れているように見えるが、実際に実用化すると、常に何らかの問題が発生する重要な理由でもあります。

実際、ChatGPT に、ChatGPT モデルの適用においてどのような課題に直面するかを尋ねると、次のように返答されます。

ChatGPT には大きな可能性がありますが、いくつかの課題と制限も抱えています。たとえば、不正確または意図しない応答が生成されたり、偏見やデリケートなトピックの取り扱いに関する問題が発生する可能性があります。

要約する

上記のことを理解した上で、ChatGPT をもう一度見てみると、不思議に思わなくなると思います。

ChatGPT のリリース以来、多くの人がこれは人類にとって汎用人工知能に向けた画期的な進歩であると信じていますが、一方で、実際には本質的な改善はないと考える人もいます。多くの人が自分のキャリア開発に深い不安を抱いており、多くの人がSFの世界の未来に触れたと感じており、多くの人がこれはまた一攫千金のチャンスだと考えています。

おそらく、機械学習技術の原理を理解して、それを合理的に理解できるようにすることが、すべての人に必要なのでしょう。

<<:  クラウドベースの生成 AI システムを実行するためのベスト プラクティス

>>:  写真をビデオに変換するには、指 1 本だけが必要です。 Gen-2スポーツブラシが無料で利用可能になりました。ネットユーザー:史上最高のアップデート

ブログ    
ブログ    

推薦する

Google: より多くのデータはより優れたアルゴリズムに勝ります!

Google が発表した新しい研究論文では、音声検索や YouTube 動画へのテキスト説明やタグ...

AI合成音声の潜在的な用途は何ですか?

AI Voice はディープラーニングを使用して、実際の人間の音声のピッチ、トーン、リズムをより正...

...

ライフル銃で動くロボット犬の発明者が恐怖を巻き起こす:プログラミング制御は恐れる必要はない

[[429985]]先週、米国陸軍協会(AUSA)の会議がワシントンで開催されました。アメリカのロボ...

機械学習エンジニアとデータサイエンティストの戦い

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

人工知能(AI)がサプライチェーンに導入されると

サプライチェーンを理解する簡単に言えば、サプライ チェーンには、製品またはサービスをエンド ユーザー...

ディープラーニングニューラルネットワークによる予測区間

[[390133]]予測区間は、回帰問題の予測における不確実性の尺度を提供します。たとえば、95% ...

...

AI技術の現状を理解するのに役立つ45の数字

2019年7月現在、AIの現状はどうなっているのでしょうか。最新の調査、研究、予測に基づき、AI技術...

Weibo の背後にあるビッグデータの原理を探る: 推奨アルゴリズム

推薦システムは早くから誕生していたが、本格的に注目されるようになったのは、「Facebook」に代表...

CPU、TPU、GPU、DPU、QPUについて学ぶ

AIの人気に伴い、CPU、TPU、GPU、DPU、QPUなどの略語がさまざまなメディアで飛び交ってい...

モノのインターネットのためのデータ分析とモデリング

ビッグデータ(BIGDATA)と人工知能(AI)の発展に伴い、モノのインターネット(IOT)はAIO...

人工知能プログラミングは、人間がよりインテリジェントな機械を作成するのに役立ちますか?

テクノロジーが急速に進歩するにつれ、人工知能プログラミングはますます成熟しつつあります。その開発は、...

高度な自動運転システムの設計・開発からソフトウェアの導入まで

上記の記事では、SOA 全体のアーキテクチャ特性、実装基盤、アプリケーションの利点、開発プロセスにつ...