スターバックス 1 杯の料金と 2 時間の時間を使えば、トレーニングされた独自のオープンソースの大規模モデルを所有できます。さまざまなトレーニング データの方向に従ってモデルを微調整して、医療、プログラミング、株式取引、恋愛アドバイスなどのさまざまなスキルを向上させることができ、大規模なモデルがあなたをより「理解」できるようになります。オープンソースの DolphinScheduler を活用したオープンソースの大規模モデルのトレーニングを試してみましょう。
ChatGPT の誕生は、間違いなく私たちを AI の未来への期待で満たしました。その洗練された表現力と強力な言語理解力は世界を驚かせました。ただし、ChatGPT は Software as a Service (SaaS) として提供されるため、個人のプライバシー漏洩と企業データのセキュリティの問題はすべてのユーザーと企業にとって懸念事項です。オープンソースの大規模モデルがますます登場しており、個人や企業が独自のモデルを持つことが可能になっています。しかし、オープンソースの大規模モデルの導入、最適化、利用には敷居が高く、誰もが簡単に利用するのは困難です。これに対処するために、オープンソースの大規模モデルのトレーニング、チューニング、デプロイをワンクリックでサポートする Apache DolphinScheduler を使用します。これにより、誰でも、非常に低コストで、技術的な専門知識を備えたデータを使用して、独自の大規模モデルをトレーニングできるようになります。
私たちの目標は、プロの AI エンジニアだけでなく、GPT に興味のあるすべての人が、自分たちをより「理解」するモデルを手に入れる喜びを享受できるようにすることです。私たちは誰もが自分の AI アシスタントを形作る権利と能力を持っていると信じています。 Apache DolphinScheduler の直感的なワークフローにより、これが可能になります。おまけに、Apache DolphinScheduler は、GitHub 上で 10,000 を超えるスター数を持つビッグ データおよび AI スケジューリング ツールです。これは Apache Software Foundation のトップレベル プロジェクトであるため、商用上の問題を心配することなく無料で使用し、コードを変更できます。
あなたが独自のデータを使用してモデルをトレーニングしたいと考えている業界の専門家であっても、深層学習モデルのトレーニングを理解して探索したいと考えている AI 愛好家であっても、当社のワークフローは便利なサービスを提供します。複雑な前処理、モデルのトレーニング、最適化の手順を解決し、簡単な操作に 1 ~ 2 時間しか必要とせず、より「理解できる」ChatGPT 大規模モデルを構築するのに 20 時間の実行時間しかかかりません。
それでは、この魔法の旅を始めましょう! AIの未来をみんなに届けましょう。
まず、3090 グラフィックス カードが必要です。デスクトップ コンピュータをお持ちの場合は、それを直接使用できます。そうでない場合は、オンラインで GPU を備えたレンタル可能なホストが多数あります。ここでは適用例として AutoDL を使用します。 https://www.autodl.com/homeを開き、登録してログインします。その後、画面に表示される手順 1、2、3 に従って、コンピューティングパワーマーケットで対応するサーバーを選択できます。
ここではコストパフォーマンスの高いRTX 3090グラフィックスカードを選ぶのがおすすめです。テストの結果、1 ~ 2 人がオンライン タスクに RTX 3090 を使用できることが判明しました。より高速なトレーニングと応答速度が必要な場合は、より強力なグラフィックス カードを選択できます。 1 回のトレーニングには約 20 時間かかりますが、テストには約 2 ~ 3 時間かかります。予算40元もあれば簡単に作れます。
コミュニティ ミラーをクリックし、下の赤いボックスWhaleOps/dolphinscheduler-llm/dolphinscheduler-llm-0521
と入力します。以下のように画像を選択できます。現在、V1 バージョンのみが利用可能です。今後、新しいバージョンがリリースされると、最新のものを選択できます。
モデルを複数回トレーニングする必要がある場合は、ハードディスク容量を 100 GB 程度に拡張することをお勧めします。
作成後、次の図に示す進行状況バーが完了するまで待ちます。
独自のオープンソースの大規模モデルをインターフェイス上にデプロイしてデバッグするには、DolphinScheduler ソフトウェアを起動する必要があり、次の構成作業を行う必要があります。
利用可能な方法は 2 つあります。好みに合ったものを選択できます。
以下に示す JupyterLab ボタンをクリックします。
ページは JupyterLab にリダイレクトされます。そこから「ターミナル」をクリックして入力できます。
2. ターミナル経由でログインします (コーダー向け):
次の図に示すボタンから SSH 接続コマンドを取得できます。
次に、端末経由で接続を確立します。
DolphinScheduler では、ワークフロー定義、環境構成、テナント情報などを含むすべてのメタデータがデータベースに保存されます。DolphinScheduler の起動時にユーザーがこれらのワークフローを簡単に確認できるように、事前定義されたワークフロー メタデータをコピーして直接インポートできます。画面から。
ターミナルを使用して、次のディレクトリに移動します。
cd apache-dolphinscheduler-3.1.5-bin
コマンドvim import_ds_metadata.sh
を実行して、 import_ds_metadata.sh
ファイルを開きます。ファイルの内容は次のとおりです。
Set variables
Hostname
HOST="xxx.xxx.xxx.x"
UsernameUSERNAME="root"PasswordPASSWORD="xxxx"PortPORT=3306Database to import intoDATABASE="ds315_llm_test"SQL filenameSQL_FILE="ds315_llm.sql"mysql -h $HOST -P $PORT -u $USERNAME -p$PASSWORD -e "CREATE DATABASE $DATABASE;"mysql -h $HOST -P $PORT -u $USERNAME -p$PASSWORD $DATABASE < $SQL_FILE
xxx.xxx.xxx.x と xxxx を、パブリック ネットワーク上の MySQL データベースの関連する構成値に置き換えます (Alibaba Cloud、Tencent Cloud に申請するか、自分でインストールすることができます)。次に、以下を実行します。
bash import_ds_metadata.sh
実行後、興味があれば、データベース内の対応するメタデータを確認できます (MySQL に接続して表示します。コードに詳しくない場合は、この手順を飛ばしてください)。
サーバーのコマンド ラインで次のファイルを開き、DolphinScheduler を以前にインポートしたデータベースに接続するように構成を変更します。
/root/apache-dolphinscheduler-3.1.5-bin/bin/env/dolphinscheduler_env.sh
データベース セクションの関連する構成を変更し、他のセクションは変更しないでください。 「HOST」と「PASSWORD」の値を、インポートされたデータベースの構成値 (xxx.xxx.xxx.x と xxxx) に変更します。
export DATABASE=mysqlexport SPRING_PROFILES_ACTIVE=${DATABASE}export SPRING_DATASOURCE_URL="jdbc:mysql://HOST:3306/ds315_llm_test?useUnicode=true&characterEncoding=UTF-8&useSSL=false"export SPRING_DATASOURCE_USERNAME="root"export SPRING_DATASOURCE_PASSWORD="xxxxxx"......
設定後、次のコマンドを実行します (このディレクトリ /root/apache-dolphinscheduler-3.1.5-bin でもあります)。
bash ./bin/dolphinscheduler-daemon.sh start standalone-server
実行後は、 tail -200f standalone-server/logs/dolphinscheduler-standalone.log
を使用してログを確認できます。この時点で、DolphinScheduler が正式に起動されました。
サービスを開始した後、AutoDL コンソールで [カスタム サービス] (赤色で強調表示されている) をクリックすると、次の URL にリダイレクトされます。
URL を開いたときに 404 エラーが表示されても、心配する必要はありません。 URL にサフィックス /dolphinscheduler/ui を追加するだけです。
AutoDL モジュールはポート 6006 を開きます。DolphinScheduler のポートを 6006 に設定すると、提供されたエントリ ポイントを介してポートにアクセスできるようになります。ただし、URL リダイレクトにより、404 エラーが発生する場合があります。このような場合は、URL を手動で入力する必要があります。
ユーザー名: admin
パスワード: dolphinscheduler123
ログイン後、「プロジェクト管理」をクリックすると、「vicuna」という名前の事前定義プロジェクトが表示されます。 「vicuna」をクリックしてプロジェクトに入ります。
Vicuna プロジェクトに入ると、トレーニング、デプロイ、および Kill_Service の 3 つのワークフローが表示されます。その使用法と、大規模なモデルを構成してデータをトレーニングする方法を見てみましょう。
下の実行ボタンをクリックして、対応するワークフローを実行できます。
トレーニング ワークフローをクリックすると、2 つの定義が表示されます。 1 つは Lora を通じてモデルを微調整するため (主に alpaca-lora、 https://github.com/tloen/alpaca-loraを使用)、もう 1 つはトレーニングされたモデルをベース モデルとマージして最終モデルを取得するためです。 。
大規模なモデルをデプロイするためのワークフロー (主に FastChat、 https://github.com/lm-sys/FastChatを使用)。最初に kill_service を呼び出してデプロイされたモデルを強制終了し、次にコントローラーを開始し、モデルを追加して、Gradio Web サービスを開きます。
開始パラメータは次のとおりです。
このワークフローは、デプロイされたモデルを強制終了し、GPU メモリを解放するために使用されます。このワークフローにはパラメータがないため、直接実行できます。デプロイされたサービスを停止する必要がある場合 (モデルを再トレーニングする必要がある場合や GPU メモリが不足している場合など)、kill_service ワークフローを直接実行して、デプロイされたサービスを強制終了できます。
いくつかの例を確認すると、デプロイメントが完了します。それでは、実際の操作を見てみましょう。
トレーニング ワークフローを実行し、デフォルトのパラメーターを選択することで、ワークフローを直接開始します。
以下に示すように、対応するタスクを右クリックしてログを表示します。
サイドバーの左下にあるタスク インスタンス パネルでタスクのステータスとログを表示することもできます。トレーニング プロセス中、現在のトレーニング ステップ、損失メトリクス、残り時間などを含むログを確認することで、進行状況を監視できます。現在のステップを示す進行状況バーが表示されます。ステップ = (データ サイズ * エポック) / バッチです。サイズ。
デフォルトのデータは/root/demo-data/llama_data.json
にあります。現在のデータ ソースは、中国の医療データを使用して微調整された医療モデルである Huatuo です。はい、私たちの例は家庭医のトレーニングです。
特定のフィールドにデータがある場合は、独自のデータを指すことができます。データ形式は次のとおりです。
例えば:
{"instruction": "calculation", "input": "1+1 equals?", "output": "2"}
指示フィールドと入力フィールドを 1 つの指示フィールドにマージできることに注意してください。入力フィールドは空のままにすることもできます。
トレーニング時に、data_path パラメーターを変更して独自のデータを実行します。
ノート:
最初のトレーニングの実行中に、ベース モデルは指定された場所 (TheBloke/vicuna-7B-1.1-HF など) からフェッチされます。ダウンロード処理が行われますので、ダウンロードが完了するまでお待ちください。このモデルの選択はユーザーによって決定され、他のオープンソースの大規模モデルをダウンロードすることも選択できます (使用する場合は関連するライセンスに従ってください)。
ネットワークの問題により、基本モデルのダウンロードは最初のトレーニング実行の途中で失敗する可能性があります。このような場合、失敗したタスクをクリックし、再実行を選択してトレーニングを続行できます。動作を以下に示します。
トレーニングを停止するには、停止ボタンをクリックすると、トレーニングに使用された GPU メモリが解放されます。
ワークフロー定義ページで、デプロイ ワークフローをクリックして実行し、モデルをデプロイします。
独自のモデルをトレーニングしていない場合は、以下の図に示すように、デフォルト パラメーター TheBloke/vicuna-7B-1.1-HF を使用してデプロイ ワークフローを実行して、 vicuna-7b
モデルをデプロイできます。
前のステップでモデルをトレーニングした場合は、モデルをデプロイできます。デプロイ後、独自の大規模モデルを体験できます。起動パラメータは次のとおりです。ここには、前のステップからのモデルのoutput_path
を入力する必要があります。
次に、デプロイされたワークフロー インスタンスに入りましょう。ワークフロー インスタンスをクリックし、「デプロイ」プレフィックスが付いたワークフロー インスタンスをクリックします。
右クリックして「refresh_gradio_web_service」を選択し、タスク ログを表示し、大規模なモデル リンクの場所を見つけます。
動作を以下に示します。
ログには、次のようなパブリックにアクセスできるリンクがあります。
ここに 2 つのリンクがあります。 AutoDL は既に dolphinscheduler に使用されているポート 6006 しか開かないため、リンク0.0.0.0:7860
にはアクセスできません。その下のリンク[https://81c9f6ce11eb3c37a4.gradio.live.](https://81c9f6ce11eb3c37a4.gradio.live.)
など) に直接アクセスできます。
このリンクはデプロイするたびに変更される可能性があるため、ログから再度見つける必要があることに注意してください。
リンクを入力すると、自分の ChatGPT の会話ページが表示されます。
はい!これであなたは独自の ChatGPT を手に入れることができ、そのデータはあなただけに役立ちます。
そして、あなたはコーヒー一杯の値段よりも安く済みました~~
さあ、あなただけのプライベート ChatGPT を体験してください!
このデータ主導かつテクノロジー指向の世界では、専用の ChatGPT モデルを持つことには計り知れない価値があります。人工知能とディープラーニングの進歩により、私たちはパーソナライズされた AI アシスタントを形づくることができる時代を迎えています。独自の ChatGPT モデルをトレーニングしてデプロイすることは、AI とそれが世界をどのように変革しているかをより深く理解するのに役立ちます。
要約すると、ChatGPT モデルを独自にトレーニングしてデプロイすると、データのセキュリティとプライバシーを保護し、特定のビジネス要件を満たし、テクノロジー コストを節約し、DolphinScheduler などのワークフロー ツールを使用してトレーニング プロセスを自動化するのに役立ちます。また、現地の法律や規制を遵守することもできます。したがって、ChatGPT モデルを自分でトレーニングしてデプロイすることは、検討する価値のあるオプションです。
ここでも公開されています。