GPT モデルは、OpenAI がChatGPTと呼ばれる言語モデルの後継を構築した 2022 年 11 月まで広く普及していませんでした。 2023 年 3 月の時点で、モデルを製品に統合するための API と SDK を備えた ChatGPT が正式にリリースされました。表面には多くのアプリケーションがありますが、ChatGPT はさまざまな種類の技術プロセスおよびビジネス プロセスに対して幅広い改善を提供します。ここでは、最も実行可能なものをテストして、どこに到達するかを見ていきます。
さまざまなレベルの自動化で GPT モデルからどのように利益を得ることができるかについての私のビジョンを共有し、「製品に GPT モデルを実装するには何が必要ですか?」という質問に対する簡潔な答えを提供します。
注意: すべてのテストはリリース前の段階で行われました。
ChatGPT およびその他の GPT モデルが何であるかを既に知っている場合は、この部分をスキップできます。ここでは、さまざまな角度から ChatGPT を定義し、その機能を活用してデータを掘り下げ、必要な情報を提供する方法を説明します。これを行う最も簡単な方法は、単にモデルに尋ねることです。ChatGPT が自身を識別する方法は次のとおりです。
ChatGPT は、GPT 3.5 に基づいて開発された最新の GPT モデルです。対話形式でユーザーと対話し、2021 年までのイベントや情報に基づいてほぼすべての質問に回答する機能を備えています。GPT モデルは、さまざまな自然言語処理 (NLP) タスクを解決する能力が高く、次のようなカスタマイズの可能性:
2023 年 3 月現在、ChatGPT は API 経由で利用可能であり、Snapchat などの一部の企業は既に使用しています。したがって、技術的な観点から、ChatGPT をアプリケーションに統合する方法について議論することは理にかなっています。ここには、特定のオプションのフォークがあります。
ここで、モデルはスマート カタログとして動作し、ユーザーがコンテンツを閲覧し、GPT の応答を使用してより迅速に選択できるようにします。ただし、カスタマイズとパーソナライズは利用できません。
このようなモデルは、ユーザーのアクション/欲求やその他のユース ケースに基づいて、パーソナライズされたチャットボット レコメンデーション システムを作成するのに役立ちます。独自のデータを使用して、GPT モデルをトレーニングし、パーソナライズの要素を導入できます。 GPT モデルを微調整するために必要なデータの量は、データ セットのサイズと複雑さ、モデルの望ましいパフォーマンスなど、さまざまな要因によって異なります。通常、GPT モデルを効果的に微調整するには、少なくとも数百の例が必要です。ただし、複雑なドメインでは、最適なモデル パフォーマンスを実現するには、数万または数百万の例が必要になる場合があります。
モデルを微調整する必要があるかどうかを理解するには、次の 5 つの手順を実行することをお勧めします。
GPT モデルは、すぐにすべてのドメイン領域をカバーする完全な製品ではないことに注意してください。そのためのアプリケーションとバックエンドの管理ツールも必要です。次に、意味のある情報を抽出するために、GPT モデルの出力を NLP メソッドで処理する必要があります。モデルは、リストのように複数の文で回答をテキストとして返します。この出力は、パイプラインの次の部分でフィルターまたはキーワードとして使用される 1 つまたは複数の単語の形式で表示する必要があります。したがって、これは、GPT モデルが動作するために他のモデルも必要とすることを意味します。
それを理解した上で、さまざまなビジネスおよび技術的ニーズに適した補完的なツールとしての GPT モデルについて説明しましょう。
ChatGPT は、ヒューマン フィードバックによる強化学習 (RLHF) 手法を利用してトレーニングされたため、以前のバージョンよりもはるかに優れた機能を備えています。これにより、それほど人気のないGPT 3モデルと比較して、際立ったレベルのパフォーマンスが提供されました.このため、ChatGPT は現在、その NLP 機能を使用して、さまざまなビジネスおよび技術タスクに採用されています。 ChatGPT がそのビジネス ユース ケースについてどう考えているか聞いてみましょう。
ここでは、最も一般的なユースケースのいくつかをリストした回答を提供するモデルを見ることができます。このモデルは 2021 年に限定されたデータに依存しているため、完全なリストではなく、ChatGPT に委任できる低レベルのタスクがたくさんあります。また、焦点を絞り込んで、単一のドメイン領域で何らかの価値を抽出することもできます。
これらの例に基づいて、最も有望な 3 つのビジネス ユース ケースに関する一連の結論を下すことができます。
ChatGPT は、独自のデータでカスタマイズできる高度な会話型ボットです。文法構造が壊れていたり、構文部分が欠けていたりしても、質問を正しく理解できるため、顧客サポート システム、つまりチャット ボットの既製のソリューションと見なすことができます。
前のポイントに続いて、ほとんどの場合、ChatGPT レベルのスピーチは人々が書くことができるものとあまり変わらないため、同じ機能をリードジェネレーション アクティビティで使用できます。
ある時点で、GPT モデルは、最新のビジネス インテリジェンスおよびデータ分析ソリューションに代わるものになる可能性があります。履歴データの巨大なデータベースを操作し、人間の作業者に貴重な洞察を提供できるためです。
ただし、継続的な更新と利用可能な最新の情報が必要なリアルタイムのデータ分析となると、GPT モデルは扱いにくいように見えます。 RLHF 手法を使用したトレーニングのプロセスは複雑であり、さらに、モデルの自動再トレーニングと再デプロイを備えた機械学習パイプラインが必要になります。これは、一種のロケット科学です…今のところ。
そのため、リアルタイムのデータ更新に大きく依存するアプリケーションは、まだ GPT モデルにはあまり適していません。他に何ができますか?
言語モデルとニューラル ネットワークに関する最も一般的な声明の 1 つは、間違いなくコピーライターの仕事を引き受けるか、少なくとも執筆速度を大幅に向上させることができるというものです。それが今日に当てはまるかどうか見てみましょう。 2 種類のリクエストを使用して、モデルがソフトウェア エンジニアリングのトピックに関する記事の執筆をどのように処理するかを確認します。最初のタイプの要求は、単にテキストの一般的な考え方を述べているだけですが、2 番目のタイプの要求は、モデルに記述してもらいたいことを指定し、専門家の意見や議論を提供します。
リクエスト: 「さまざまな PHP フレームワークに関する記事を書いてください」
ChatGPT 出力:
リクエスト: 「Laravel フレームワークと Symfony フレームワークの違いと、e コマース アプリケーションにどの PHP フレームワークを選択すればよいかについての記事を書いてください。」
ChatGPT 出力:
どちらの場合も、モデルは情報の観点からトピックをうまく処理します。文法的にも文体的にもテキストは問題ありません。ただし、創造性、読みやすさ、推論、特定の点の正当化のレベルになると、非常に標準的で説得力がないように見えます。
ChatGPT は確かにマーケティング活動を簡素化するための青写真を生成できますが、人間の校正者に 1 つの問題を課します。モデルはそれ自体でデータを解析するため、情報源を見つけてモデルの主張を証明するのは難しいようです。そのため、ChatGPT をマーケティング目的で使用するには、効果的かつ有用な AI 説明可能性などの微調整と追加機能が必要です。
GPT モデルが人間の言語を話すことができる場合、プログラミング言語を使用してアプリケーションを作成することを妨げるものは何もありません。私たちの PHP/DevOps グループのリーダーである Anton Logvinenko は、これをテストして、モデルを活用して PHP でさまざまな機能のコードを作成することによってどのような結果が得られるかを確認しました。
リクエスト:「ユーザーのリストを表示する PHP コードを Laravel Framework で書いてください。」
ChatGPT 応答:
ほとんどの場合、このコードは確実に機能します。この特定のケースでは、データベース構造だけでなく、名前や姓など、各ユーザーが持つフィールドもありません。そのため、現在 ChatGPT は、すぐに使用できる完成したコードを提供していないことに注意してください。
私が見ることができるユースケースは、ジュニアレベルの開発者が PHP またはそのフレームワークを学習するのをサポートし、プロセスを少しスピードアップすることです。コード自体は構文的に正しい方法で記述されていますが、改善すべき点がたくさんあります。
アントン・ログビネンコ
PHP/DevOps グループ リーダー
リクエスト: 「記事リソースの CRUD エンドポイントを使用して REST API を実装する PHP コードを作成してください」.
ChatGPT 応答:
繰り返しますが、モデルが示唆するものを見ると、コードは PHP の初心者レベルの作業のように見えますが、データベースをセットアップし、アクセスを構成するなどすれば、おそらくうまくいくでしょう。このコードはインターン PHP 開発者のレベルで書かれていますが、利用可能なフレームワークを一切使用しておらず、最適化されておらず、アプリケーション全体に簡単に拡張することもできません。さらに、ChatGPT が置き去りにする SQL インジェクションの形で潜在的なセキュリティ上の脅威が存在しますが、これはいずれにせよ良いことではありません。
アントン・ログビネンコ
PHP/DevOps グループ リーダー
ChatGPT 応答:
この例の最初の試みでは、ChatGPT が提供された例に基づいてアイテムのツリーを生成するようにしました。しかし、出力はガベージ コードであることが判明し、プロンプトでツリーであることを指定していないことがわかりました。そのため、2 回目の試行で、出力として必要なものの説明を追加しました。
アントン・ログビネンコ
PHP/DevOps グループ リーダー
ChatGPT 応答:
2 回目の試行では、ChatGPT がタスクを完了し、ツリーはコードの品質を除いて問題ないように見えます。この小さな実験から何を結論づけることができますか?明らかに、ChatGPT はまだソフトウェア エンジニアを置き換えることはできません。なぜなら、コード ライティングのアプローチと品質はまだ非常に浅いからです。しかし、結局のところ、このことは時間の経過とともに確実に改善されます.今のところ、自動化されたコード ライターとして ChatGPT について話すのは時期尚早です。
Anton Logvinenko PHP/DevOps グループ リーダー
コーディング ワークフローを部分的に自動化し、開発者をサポートするオプションを検討している場合は、 Copilotの使用をお勧めします。 Copilot は OpenAI Codex を使用してコード スニペットと関数をリアルタイムで提案します。中級レベルまたは上級のソフトウェア エンジニアにとって、はるかに優れた品質のコードを使用すると、はるかに使いやすいことが証明されました。コードを完成させるために必要なものをグーグル検索するだけの場合と比較して、Copilot ははるかに高速なワークフローを可能にするため、現時点で ChatGPT が提案できるものよりも優れた代替手段となります.
GPT モデルが NLP タスクの大部分を完了できることがわかっているため、独自の言語モデルをトレーニングする代わりに GPT モデルを考えることができます。この伝統に従って、ChatGPT がカスタム NLP モデルのトレーニングよりも優れたオプションである理由を質問することで、基本を提供します。
このアプローチの限界を認識することが重要です。 GPT モデルはリアルタイム データにアクセスできないため、初期データを収集せずに一部のサービスを開始するのに役立つだけです。時間が経つにつれて、モデルのユーザーとの対話からライブ データを収集できるようになりますが、これはすべての特定の NLP タスクのホットフィックスとしては機能しません。
代わりに、GPT モデルを使用できるデータ サイエンスの他のアプリケーション領域を考えることができます。
分類、回帰、または予測モデルを構築するには、探索的データ分析 (EDA) の手順を実行する必要があります。 EDA を使用すると、データ内のさまざまな特徴間の関係を見つけ、インサイトと外れ値を示して、これまたはその異常な動作の理由を理解することができます。そのため、データ サイエンス プロジェクトの大半では、次の 4 つの手順を実行する必要があります。
GPT モデルの助けを借りて、上記のパイプラインは、GPT モデルへの適切に構成された単一の要求に分解できます。たとえば、四半期ごとの Amazon の販売数に関するこのリクエストを使用して、ChatGPT にこの情報から洞察を抽出するように依頼してみましょう。
ここでは、以前に提示されたデータに基づいて、ChatGPT がどのような洞察と結論を導き出したかを確認できます。
ChatGPT 応答:
「洞察:
結論(理由):
モデルの出力は品質が異なる可能性があるため、最初のプロンプトを監視または微調整する必要があります。ただし、このような機能を簡単に適用して、EDA ステージをより簡単にし、データ サイエンス パイプライン タスクを自動化できる可能性があります。
レコメンデーション システムまたはレコメンダー エンジンは、さまざまなプラットフォームやさまざまなアプリケーション内の検索エンジンと同じくらい一般的になっています。レコメンデーションは非常に重要なタスクを 1 つ実行します。それは、各顧客の好みを理解し、関連するコンテンツを提案し、顧客をできるだけ長くプラットフォームに留めておくことです。
しかし、レコメンデーション システムが提供できる競争上の優位性にもかかわらず、データを収集し、実用的なモデルを実験してトレーニングしなければシステムを構築できないという事実が、誰もがレコメンデーションを提供できるわけではない主な理由のようです。レコメンデーションを開始するには、通常、まずコンテンツに関するデータを収集し、次に顧客がどのコンテンツ カテゴリに引き寄せられるかを体系的に追跡する必要があります。
この状況では、ChatGPT にはすでに大量のデータが含まれているため、レコメンデーション エンジンの代わりに ChatGPT を使用できます。コンテンツに合わせて微調整されておらず、ユーザーの検索履歴を認識していませんが、十分に具体的なプロンプトを使用すると、かなり具体的な推奨事項を提供できます.
たとえば、このタイプのリクエストを使用しました。私には 2 歳の子供がいて、海の近くで過ごすのが好きです。どこに行けばよいですか?"。出力は次のとおりです。
ChatGPT の回答: 「2 歳児と旅行に行って、海の近くで過ごすのは素晴らしいアイデアです。あなたとあなたの家族にぴったりの旅行先をいくつかご紹介します。
これらの目的地では、水泳、日光浴、ウォーター スポーツ、遊び場、テーマ パークなど、大人も子供も楽しめるさまざまなアクティビティやアトラクションを提供していることにも注意してください。決定を下す前に、天候、安全性、アクセシビリティなどの他の要因を考慮することも重要です。」
詳細を追加してリクエストを指定すると、回答は次のようになります。
リクエスト:「旅がしたい。私には 2 歳の子供がいて、海の近くで過ごすのが好きで、3000 ドルあります。どこに行けばよいですか?"。
ChatGPT 応答:
「2歳児と一緒に旅行に行って、海の近くで過ごすのは素晴らしいアイデアです。旅行を計画するときは、予算を考慮することが重要です。予算内であなたとあなたの家族にぴったりの目的地のいくつかの提案を次に示します。
これらの目的地では、水泳、日光浴、ウォーター スポーツ、遊び場、テーマ パークなど、大人も子供も楽しめるさまざまなアクティビティやアトラクションを提供していることにも注意してください。また、2 歳児を連れて旅行する場合は、アクセシビリティ、安全性、および良質の宿泊施設やサービス (優れた病院や保育施設など) の利用可能性を考慮することが重要です。」
ご覧のとおり、モデルは最初のプロンプトを通過しようとするため、出力はリクエストとして提供されたパラメーターを中心に構成されていません。また、満足のいく結果を得るには人間が適切な言葉を使用する必要があるため、これらの生の結果でさえ、何十ものフィルターを適用してコンテンツを見つけようとするよりも優れたパフォーマンスを発揮します。これは基本的に、標準的なアプローチに対する NLP ベースの推奨事項の主な利点です。
GPT モデルはテキスト データでトレーニングされるため、この方法でコンピューター ビジョン モデルを置き換えることができないことは明らかです。ただし、ChatGPT は、次のようなコンピューター ビジョン パイプラインの特定の部分の実装を簡素化できます。
ChatGPT によって提供される情報は、さまざまな分野でコンピューター ビジョン モデルのデータを分析および準備するときに役立ちます。たとえば、OCR タスクでは、このモデルを使用して、ID カード認識のように画像からテキストをドラッグできます。これは、トレーニング用のデータを準備するための別のステップです。
ID カードには国ごとに独自のフォーマットと異なるフィールドがあるため、ID カードを認識するタスクは非常に多くのリソースを消費する可能性があります。 GPT モデルを使用すると、ChatGPT がパイプラインの一部を独自に処理できるため、画像からテキスト データを抽出するのに必要な時間を短縮できます。
プロンプト エンジニアリングとは、基本的に、技術的なタスクのように GPT モデルに渡される作業入力テキストを作成する規律です。出力は常に、必要なものをどのように説明するかによって異なります。モデルがフランケンシュタインを生成しないように、要求の各側面を示す最善の方法を理解する必要があります。 GPT モデルの迅速な開発には、いくつかの基本原則があります。
具体的である: プロンプトが具体的であるほど、生成されたテキストは目前のタスクに関連したものになります。
コンテキストを定義する: モデルのコンテキストが多いほど、GPT モデルのタスクが明確になります。回答を受け取りたいのと同じ言語と同じ用語 (ドメイン領域の機能を使用) でプロンプトを設定します。
プロンプトの長さと具体性の間で妥協点を見つける: より長く具体的なプロンプトは、より正確で関連性のある回答につながる可能性がありますが、モデル管理も複雑になります。場合によっては、複雑で長いプロンプトが原因で、モデルが壊れて未完成の応答が書き込まれる可能性があります。これは、テスト中に何度か経験したことです。
次のすべての例は、リリース前の段階で ChatGPT を利用して作成されたもので、以前のものよりもはるかに優れた結果を示しています。ただし、GPT 4 モデルは 2023 年の第 1 四半期に OpenAI によって発表されており、GPT 3 の 500 倍のデータ サンプルを使用しています。したがって、リリース日を追跡することも理にかなっており、状況は非常に動的であり、あなたが好むかもしれません。製品の OpenAI による将来のモデル。
GPT モデルの主な利点は、最初に大量のデータがなくても問題を解決する方法を見つけることができることです。明らかに、そのようなモデルは、必要な機能を完全に置き換えることはできません。ただし、製品の最初のイテレーションでは、このようなモデルを使用することで開発を開始し、カスタム データを収集しながらユーザーにサービスを提供できます。
ここにも掲載されています。