翻訳者 |ブガッティ レビュー | Chonglou ChatGPTは2020年6月にリリースされ、 OpenAIによって開発されました。それは多くの分野に革命的な変化をもたらしました。これらの領域の 1 つは、データベース クエリの作成です。 ChatGPTを介してプレーンテキストからデータベースクエリを生成できます。あまりよく知らないデータベースを理解するのに役立ちます。 ChatGPTの人気により、人工知能は徐々に私たちの日常生活に組み込まれ、急速に発展しています。本題に入る前に、 ChatGPTについて簡単に見てみましょう。 ChatGPTの機能を完全に理解するには、その基盤となるアーキテクチャを完全に把握する必要があります。 ChatGPTはGPTアーキテクチャに基づいて開発されています。それではまずTransformerを見てみましょう。 プロジェクトに直接アクセスするには、ここをクリックしてください: https://github.com/ademakdogan/ChatSQL?ref=hackernoon.com。 図1. Transformerのエンコーダとデコーダ Transformer はseq2seqフレームワークを使用して、あるシーケンスを別のシーケンスに変換できます。シーケンスは順序を定義します。たとえば、文を単語の連続として考えることができます。 Transformer は、テキスト翻訳などの自然言語処理(NLP)の問題を解決するためにも使用できます。このアーキテクチャをトレーニングするには、大量のラベル付きデータが必要です。これをトランスフォーマーが学習するのは困難です。この問題を解決するには転移学習を使用することができます。 Transformer は、エンコーダーとデコーダーの 2 つの部分(図1を参照)で構成されており、どちらも巧みな言語表現を取得するのに優れています。 この能力により、各部分から言語モデルを構築できるようになります。エンコーダーを積み重ねることで、トランスフォーマーの双方向エンコーダー表現(一般にBERTと呼ばれる)が得られます。同様に、デコーダーユニットを積み重ねることで、生成的事前トレーニング(つまり、 GPT )を取得できます。この例では、 GPTのみに焦点を当てます。 GPTのコンテキストで転移学習を考慮すると便利です。モデルを最初からトレーニングする場合、パラメータは最初にランダムに設定されるため、通常は膨大な量のデータが必要になります。しかし、パラメータが偶然に必要な値と一致または整列するシナリオを想像してみてください。この場合、必要な結果を得るために大規模なデータセットは必要ありません。私たちの理解しているように、 BERTとGPT は転移学習の概念で使用されます。 したがって、 GPTトレーニングは 2 つの部分に分かれています。 1 つは事前トレーニング部分で、ここではGPTアーキテクチャをトレーニングして言語が何であるかを理解します。もう 1 つは微調整部分で、ここでは転移学習を使用して、 GPTアーキテクチャが特定の言語タスクで適切に機能するようにさらにトレーニングします。 図2. 次の単語の予測の例 GPT には、ランダムな単語のシーケンスを入力として受け取り、次に最も適切な単語を予測できるアーキテクチャがあります。例示的な予測を図2に示します。 言語モデリングは、言語の基本的な側面を理解するための理想的な基盤として選択され、微調整が容易です。文自体が入力ラベルと出力ラベルの両方として機能できるため、自己教師ありタスクと呼ばれることがよくあります。 図3. ChatGPT図 ChatGPTについて議論を続けましょう。図3に示すように、 ChatGPTプロセス全体は3 つの主要なステップに分けられます。最初のステップでは、言語自体を理解するために事前にトレーニングされたGPTモデルが使用されます。次のステップでは、モデルを微調整して、ユーザープロンプトを効果的に処理し、それらのプロンプトに基づいて適切な応答を生成します。このプロセスを容易にするために、ラベル付けされたデータが人間のラベル付け担当者に提供されます。ラベル付け担当者はプロンプトを提供するだけでなく、各プロンプトに対する望ましい応答も指定します。これにより、入力プロンプトと対応する出力応答の両方が存在するため、 GPTモデルの教師付き微調整が容易になります。 次のステップでは、最初のステップで得られた教師あり微調整モデルが使用されます。単一のプロンプトがモデルに渡され、複数の応答が生成されます。これらの応答の品質は、人間の評価者によって評価され、格付けされます。生成された各応答には対応する報酬が割り当てられ、それを使用して別のGPTモデル (報酬モデル)をトレーニングします。報酬モデル自体は、最初のプロンプトと応答の1 つを入力として受け取り、出力として報酬を生成する機能を持つモデルです。この報酬は、応答の質または良さを定量化します。 3 番目のステップでは、目に見えないキューが、教師ありの微調整されたモデルのレプリカに渡されます。これにより応答が生成され、そのランクまたは品質が報酬モデルを使用して評価されます。得られたランクは、すでに微調整されたモデルをさらに改良するために使用されます。これは、ランクをPPOモデルの損失関数に組み込むことによって実現され、モデルのパラメータをバックプロパゲーションによって更新できるようになります。特に興味深いのは、このプロセスによってモデルが無害に動作するだけでなく、現実的な応答を生成することも可能になるという点です。これは、報酬自体が応答の品質に基づいて生成されるという事実によるものです。 チャットSQLそれでは、 ChatGPTでPythonを使用してプロジェクトを作成しましょう。このプロジェクトでは、 LangChainフレームワークを使用します。 私たちの目標は、プレーンテキストを使用してデータベースから情報を取得することです。この目的のために、ターゲット データベースとして MySQL を使用します。ただし、このアプローチは他のデータベースでクエリを生成するためにも使用できます。サンプルデータベースを以下に示します。 すべてのコードはここにあります( https://github.com/ademakdogan/ChatSQL ) ChatSQL は 2 つの主要な部分で構成されています。まず、指定されたプレーンテキストからChatGPT によってMy SQLクエリが生成されます。生成されたクエリを実行します。 2 番目のステップでは、データベースから返された結果が評価されます。この段階では、結果をユーザーに直接提示することも、 ChatGPTに送り返してさらに分析および解釈することもできます。したがって、ChatGPT を使用してデータベースと対話することができます。 ユーザーが「 175ページ以上178ページ未満のフィクションジャンルの本を表示してください。著者は「Doyle, Arthur Conan」以外である必要があります。 」とすると、この場合、次のコマンドを使用できます。 その結果、以下の情報が得られました。 データベースの列名が正しい場合、 C hat GPT はそれらの名前を理解し、それに応じてクエリに応答します。ただし、場合によっては、データベース内の列名が意味をなさなかったり、ChatGPT がコンテキストを完全に理解できないことがあります。したがって、システムの正常な動作を確保するためには、データベースに関する事前情報を ChatGPT に提供する必要があります。 info.jsonファイルを使用して情報を追加できます。 以下に示すように、名前が不適切に付けられたデータベースがあるとします。この場合、データベースに関する必要な情報はinfo.jsonファイルに入力されます。 次に同じコマンドを使用します: データベース内の列名が適切に選択されていない場合でも、正しい情報を提供しているため、Chats GPT は正しいクエリを生成します。 次のプロジェクトでは、無料のモデル (Llama) を使用してプロンプトからクエリ ( Mongoおよび SQL) を生成します。
元のタイトル: ChatSQL: ChatGPT を有効にしてプレーンテキストから SQL クエリを生成できるようにする、著者: Adem Akdogan |
<<: 世界モデルが大きな貢献を果たしました! 20以上の自動運転シナリオの偽データがリアルすぎる…
過去 2 年間で、ChatGPT は急速に広まりました。過去 6 か月間で、多くの企業が生成 AI ...
2019年を振り返ると、無人商用車にとっては着陸の兆しがなく、資金調達がますます困難になり、最悪の...
今週、OpenAIのビデオAIツール「Sora」が登場するや否や大きな話題を呼んだ。 「仕事を失う」...
著者注:機械学習モデルがいつ、どのように、なぜ失敗するかを分析することを「エラー分析」と呼びます。科...
最近、AI技術を使ってアテナ・チュウ演じる黄容の顔を楊冪の顔に置き換える動画が話題になった。ネットユ...
[[249559]]近年のAI分野を調査していく中で、近年、世界中の研究者の視野の中に敵対的攻撃とい...
MIT 博士課程の学生による驚くべき発見: Transformer の特定のレイヤーを非常に単純に削...
現在、多くの自動運転車開発者は米国カリフォルニア州(以下、「カリフォルニア」という)で路上試験を行う...
[[280560]]世界が急速に発展する中、専門家は生産性と仕事の効率性の向上に努めなければなりま...
10月21日、「泉城の知能、万里の昇り」をテーマにした2020年中国人工知能産業サミットと昇りコンピ...
[[216638]]韓国メディアは、中国の囲碁棋士である柯潔氏が2018年春にテンセントが開発した人...
先進運転支援システム (ADAS) は、道路の安全性と旅行体験に対するドライバーと乗客のより高い要求...
認知技術は世界最大の課題を解決するために使用されています。この記事では、企業が認知 AI をどのよう...
自動運転技術が業界全体で開発のマイルストーンに到達し続ける一方で、都市は自動運転車(AV)の目標を補...
音声テキスト変換 (STT) システムは、その名前が示すとおり、話された言葉を後で使用するためにテキ...