↑上の青い「プログラム済み」をクリックしてフォローしてください~
これは Yasin の最初のオリジナル記事です
チャット GPT の利点
チャット GPT は基本的に最近テクノロジー サークルで最もホットなトピックであり、サークル外の人々にも大きな衝撃を与えました。Chat GPT の成功は、AI ペインティング、AI 音声、AI 生成ビデオなど、他の分野の AI 製品に火をつけました。
チャット GPT には主に次の利点があります。
大規模トレーニング: GPT-4 アーキテクチャに基づいて、ChatGPT は大規模なトレーニング データ セットを通じてトレーニングされ、さまざまなトピックや分野のテキスト コンテンツを理解して生成できるようになります。
強力な言語理解および生成機能: ChatGPT は、複雑な言語構造とコンテキストを理解して、流暢で一貫性のある正確な回答を生成できます。
多言語サポート: ChatGPT は複数の言語をサポートしているため、さまざまな国や地域のユーザーとコミュニケーションをとることができます。
高い適応性: ChatGPT はユーザー入力に応じて適応し、的を絞った回答を生成し、さまざまなシナリオやアプリケーションに対処できます。
クロスドメインの知識: トレーニング データが広範囲に及ぶため、ChatGPT は科学、技術、芸術、歴史、文化などの複数のドメインに関係する質問に答えることができます。
クリエイティブなテキストの生成: ChatGPT には一定のクリエイティブな能力があり、ストーリー、記事、歌詞などのクリエイティブなテキストを作成するために使用できます。
カスタマイズ性: ChatGPT は、さらなる微調整とトレーニングを通じて、特定のシナリオ、業界、または分野のニーズを満たすことができます。
Chat GPT はなぜ非常に賢いのでしょうか? 結局のところ、Chat GPT バージョン 3 以降は、多くのパラメーター、大規模なトレーニング データ、長いトレーニング時間、およびおそらくその他の内部「ブラック テクノロジ」のため、現在クローズド ソースです。
現在、国内の大手メーカーも大予測モデルのトレーニングをフォローし始めていますが、まだまだ道のりは長く、3.5の水準に追いつくには1年以上、あるいはそれ以上かかる可能性があります。
昨今、AIに関するニュースが連日社内で流れていますが、私たち技術者は、ただ憧れて利用するというレベルにとどまるのではなく、「このAIインフラをどう活用するか」を考え、活用していきたいと考えています。当社の製品とビジネスを改善します。
チャット GPT の制限事項
Chat GPT はスマートですが、いくつかの制限があります。
情報の正確性: ChatGPT は不正確または古い情報を提供する可能性があります。トレーニングデータは非常に豊富ですが、知識の期限が 2021 年 9 月であるため、最新の情報やイベントについては正確な答えを提供できない可能性があります。
論理的一貫性: 会話中、ChatGPT は一貫性のない応答を返す場合があります。さまざまな反応で相反する見解が示される可能性があります。
深い理解の欠如: ChatGPT は多くの質問に答えることができますが、一部の質問については深い理解が不足している可能性があります。質問の性質を真に理解するのではなく、主にパターン マッチングと言語モデルに依存して回答を生成します。
過度に冗長または過度に単純化された回答: ChatGPT は、ユーザーのニーズを完全には満たさない可能性のある過度に冗長または過度に簡略化された回答を生成する場合があります。
不適切なコンテンツ: ChatGPT は、不適切または偏ったコンテンツを生成する場合があります。この状況の発生を減らすために特定の対策が講じられていますが、ユーザーは依然として注意を払い、選別する必要があります。
リアルタイムの対話なし: ChatGPT はリアルタイムの音声またはビデオ対話を実行できず、テキスト通信に限定されます。
入力に対して脆弱: ChatGPT の回答はユーザー入力の影響を受けやすく、出力の品質が変動する可能性があります。
一般化能力が限られている: 一部の特定のドメインまたは業界では、ChatGPT に十分な専門知識が不足している可能性があり、特定のニーズを満たすにはさらなるカスタマイズとトレーニングが必要です。
要約すると、特定の専門分野やシナリオで Chat GPT を使用する必要がある場合、主に「2 つの問題」を解決する必要があります。
私はいくつかの「プライベートまたは専門的な知識ベース」を持っていますが、Chat GPT のトレーニング プールには参加していません。Chat GPT にこれらのナレッジ ベースを学習させ、このナレッジ ベースのコンテンツを返すようにするにはどうすればよいですか? 顧客サービスのシナリオ、医療のシナリオなど。
Chat GPT と通信し、Chat GPT から返されたデータを使用する必要がある自動プログラムがいくつかあります。Chat GPT が「必要な形式」を返すようにするにはどうすればよいですか? たとえば、ある種の json ですか? スマート ショッピング、スマート ホーム、その他のシナリオなど。
->PS: GPT 3.5 の単語ダイアログ コンテキスト トークンの制限は 4k で、4.0 には 8k と 32k のオプションしかなく、巨大な専門知識ベースには十分ではない可能性があります。そしてトークンは本当に高価です!
<-
この分野については最近いくつかの研究が行われており、この記事では主にこの分野の考え方と実践についてまとめます。
いくつかのアイデア
AI が特定の領域の質問に答えられるようにするために、いくつかの実装アイデアをまとめました。マインドマップは以下の通りです。
解決策 1 は、業界では比較的成熟したアイデアであるため、ここでは詳しく紹介しません。ただし、最下位層には Chat GPT 3.5 や 4 のような強力なモデルがないため、トレーニングの知能レベルが十分ではない可能性があり、効果は良好ではありません。ただし、検索や推奨など、一部のシナリオではすでに適用されています。
微調整
ファインチューニング (微調整) はディープ ラーニングで一般的に使用される手法で、事前トレーニングされたモデルに基づいて二次トレーニングを実行して、特定のタスクまたはドメインに適応します。ChatGPT などの大規模な事前トレーニング済み言語モデルの場合、微調整には次のような効果があります。
特定のタスクに適応する: タスク固有のデータセットに対して微調整を実行することで、感情分析、テキスト分類、質問応答システムなどのタスクにモデルをより適切に適応させることができます。
モデルのパフォーマンスの向上: 事前トレーニング モデルは大量の一般知識を学習しているため、モデルはより速く収束し、微調整中により高いパフォーマンスを達成できます。
コンピューティング リソースの節約: モデルを最初からトレーニングする場合と比較して、微調整に必要なデータとコンピューティング リソースは少なくなります。これは、事前トレーニングされたモデルがすでに多くの有用な機能と知識を学習しており、これに基づいて調整するだけでよいためです。
専門的なドメインの知識: ドメイン固有のデータセットに対して微調整を実行することで、モデルはドメイン関連の知識と用語を学習し、このドメインでのアプリケーションのパフォーマンスを向上させることができます。
過学習の削減: 場合によっては、モデルは事前トレーニング段階で多くの共通の特徴を学習し、二次トレーニング中にモデルがトレーニング データの特性に過度に依存する可能性が低くなるため、微調整が過学習の軽減に役立つ場合があります。 。
カスタマイズされた出力: 微調整を通じて、企業のスタイルに沿ったコピーライティングを生成したり、特定の業界の質問に答えたりするなど、特定のシナリオ、業界、または分野に沿ったテキストを生成するようにモデルを作成できます。
簡単に言うと、ファインチューニングの使用は、チャット GPT モデルに基づいたファインチューニングに相当し、「現場のプロ意識の向上と回答スタイルのカスタマイズ」という2 つのことを実行できます。
公式 Web サイトには、非常に詳細な手順とチュートリアルもあります。
これらの利点を翻訳すると次のとおりです。
即時返品よりも高品質
より多くのトレーニング データを使用してトレーニングできます (プロンプトには 4K およびその他の制限があります)
トークンを保存できます (プロンプトは毎回トークンを表示します)
リクエストの減少 (望ましい結果を得るために、プロンプトに複数のリクエストのコンテキストを伝える必要がある場合があります)
簡単に言えば、ファインチューニングはプロンプトよりも経済的で、より強力な機能を備えています。
ただし、微調整には欠点もあります。
最下層は Chat GPT3 に基づいており、3.5 や 4 ほどスマートではありません (将来的には改善される可能性があります)。
モデルをトレーニングして自分でモデルを呼び出す必要があり、開発ワークロードは少し大きくなります。
Chat GPTのAPIと比べると「かなり高価」であり、コストが非常に高額です。
Fine-tuning が適したシナリオ: 生成されるコンテンツのスタイル要件、ドメイン要件、および形式要件があり、プロンプトを実現できないシナリオ (たとえば、プロンプトが制限を超える可能性が高く、プロンプトを実現するのが困難な場合)全集の説明など)。
たとえば、Microsoft の「Copilot コード生成ツールは、Chat GPT 微調整を使用して取得されます」。これは、「プログラミング」の垂直分野で高得点の成果物になっています。このトレーニング方法は、他の垂直分野にも適用できます。
促す
プロンプトは短いガイドワードを通じてチャット GPT のルールを設定し、チャット GPT はコンテキストを通じてルールを理解できます。
プロンプトを使用していない場合、チャット GPT はチャットに似ており、自然言語に似ています。たとえば、Chat GPT にテーブルの作成を手伝ってもらいたい場合、Chat GPT は私が「テーブルを作成」したい内容を理解できず、次の例を返します。
ただし、プロンプトを設定した後は、たとえば、私のお気に入りのテーブル作成プロンプトの 1 つが表示されます。
いくつかのヒント
システム、ユーザー、アシスタントの違い: 多くのオンライン プロンプト チュートリアルでは、ユーザー入力としてプロンプトが使用されます。この使用方法でも効果は得られますが、最高の効果は得られません。最良の効果は、システムがルールを設定し、ユーザーとアシスタントが「対話例」を設定することです。
Chat GPT が暴走するのを防ぐために、温度は 0 に設定されています。
ヒント: 「対話例は非常に重要です」 ! 同じプロンプト内で、サンプル ダイアログとサンプル以外のダイアログの間には明らかなギャップがあります。
ダイアログの例はありません:
サンプルダイアログがあります:
埋め込み
Chat GPT は GPT モデルをベースにした大規模言語モデルであり、その Embedding は元のテキストから学習されたベクトル表現であり、ワード ベクトルまたはエンベディング ベクトルとも呼ばれます。埋め込みの目的は、元のテキスト データを機械で処理できる数値形式に変換し、同様の意味を持つ単語を同様のベクトル空間位置にマッピングすることで、モデルにより良い意味情報を提供することです。
Chat GPT は、Transformer アーキテクチャに基づくモデルを使用しており、このモデルでは、埋め込み層は固定サイズの単語ベクトル行列で構成されており、各行は単語の埋め込みベクトルを表します。これらの埋め込みベクトルは、類似したコンテキストで出現する単語が類似したベクトル空間の位置にマッピングされるように、トレーニング中に学習されます。このアプローチは、モデルが言語の意味とセマンティクスを理解し、自然言語処理タスクをより適切に処理するのに役立ちます。
簡単に言うと、埋め込みは「プライベート ドメインの知識に関する質疑応答のシナリオ」に特に適しています。これは、私的領域の知識を局所的に切り出し、局所的なベクトルデータベースに埋め込んで得たベクトルから類似したベクトル(複数のテキストに相当)をいくつか見つけることに相当する。
これらのテキストからさらに最適なものを選択したい場合は、Chat GPT が選択するプロンプトを作成することもできますが、これによりプロンプトのサイズが大幅に削減され、大量のトークンが節約され、最大トークン制限を超えることはありません。
埋め込みのエンジニアリング手順は次のとおりです。
[オープン API の埋め込み] ドメイン固有のデータセットは固定長の連続ベクトルに変換され、ローカル ストレージに保存されます。
【埋め込みオープンAPI】ユーザーが入力した質問を固定長の連続ベクトルに変換
[ローカル] ベクトルに従って一致相関の高い最初の n レコードをクエリします
2 と 3 に対応するテキストをプロンプトに結合し、チャット オープン API を呼び出し、チャット gpt に最適なものを選択させます。
コア機能: プロンプトを分割してプロンプトの長さを短縮します。特に質疑応答のシナリオに適しています。
著者について
私はヤシン、ブログが大好きな技術者です。
WeChat パブリック アカウント: プログラムをコンパイルしました (blgcheng)
個人ウェブサイト:https://yasinshaw.com
マジックおよび GPT アカウントを使用しない AI チャットボット:
chat.yasinshaw.com
この公開番号にご注目ください