「Non-engineers guide LLaMA 2チャットボットのトレーニング」となります

「エンジニア以外の方のためのLLaMA 2チャットボットのトレーニングガイド」

イントロダクション

このチュートリアルでは、誰でも一行のコードを書かずにオープンソースのChatGPTを構築する方法を紹介します!LLaMA 2ベースモデルを使用し、オープンソースのインストラクションデータセットでチャット用に微調整し、そのモデルを友達と共有できるチャットアプリにデプロイします。クリックだけで偉大さへの道を歩むことができます。😀

なぜこれが重要なのか?特にLLM(Large Language Models)を含む機械学習は、私たちの個人生活やビジネスにおいて重要なツールとなり、過去に例のないほど人気が高まっています。しかし、MLエンジニアリングの専門的なニッチ分野ではないほとんどの人々にとって、これらのモデルのトレーニングとデプロイメントの複雑さは手が届かないもののように思えます。機械学習の予想される未来が普遍的な個別のモデルで満たされるものになるのであれば、非技術的なバックグラウンドを持つ人々にこの技術を独自に活用する力を与えるには、将来的に課題が待ち受けています。

Hugging Faceでは、この包括的な未来への道を静かに築くために働いてきました。Spaces、AutoTrain、Inference Endpointsなどのツール群は、機械学習の世界を誰にでもアクセス可能にするために設計されています。

このチュートリアルでは、この民主的な未来がどれだけアクセス可能であるかを示すために、チャットアプリを構築するためにSpaces、AutoTrain、ChatUIを使用する方法を3つの簡単なステップで紹介します。コンテキストとして、私はMLエンジニアではなく、Hugging FaceのGTMチームのメンバーです。私がこれをできるなら、あなたもできます!さあ、始めましょう!

Spacesの紹介

Hugging FaceのSpacesは、MLデモやアプリの構築とデプロイを簡単に行うためのGUIを提供するサービスです。このサービスを使用すると、GradioやStreamlitのフロントエンドを使用して素早くMLデモを構築したり、独自のアプリをDockerコンテナにアップロードしたり、あるいは事前に設定された複数のMLアプリケーションを即座にデプロイしたりすることができます。

このチュートリアルでは、Spacesからの事前構成済みのDockerアプリケーションテンプレート、AutoTrainとChatUIをデプロイします。

Spacesについてもっと詳しくはこちらをご覧ください。

AutoTrainの紹介

AutoTrainは、MLエンジニアでない(または開発者でない😮)人々がコードを書かずに最先端のMLモデルをトレーニングするためのノーコードツールです。NLP、コンピュータビジョン、音声、表形式のデータなどに使用することができ、今日行うようなLLMの微調整にも使用できます。

AutoTrainについてもっと詳しくはこちらをご覧ください。

ChatUIの紹介

ChatUIはその名の通りです。Hugging Faceが提供するオープンソースのUIで、オープンソースのLLMsと対話するためのインターフェースを提供します。特に、HuggingChatという完全オープンソースのChatGPTの代替としても使用されています。

ChatUIについてもっと詳しくはこちらをご覧ください。

ステップ1:新しいAutoTrain Spaceの作成

1.1 huggingface.co/spacesにアクセスし、「新しいSpaceを作成」を選択します。

1.2 スペースに名前を付け、モデルまたはスペースを公開する予定の場合は好きな利用許諾契約を選択します。

1.3 デプロイされたスペースでDockerテンプレートからAutoTrainアプリを展開するために、Docker > AutoTrainを選択します。

1.4 アプリを実行するための「Spaceハードウェア」を選択します。(注意:AutoTrainアプリでは無料のCPUベーシックオプションで十分ですが、後で別のコンピュートでモデルのトレーニングを行います)

1.5 「HF_TOKEN」を「スペースの秘密」の下に追加し、このスペースにHubアカウントへのアクセスを与えます。これがないと、スペースは新しいモデルのトレーニングや保存ができません。(注意:HF_TOKENはHugging Faceプロフィールの「設定」>「アクセストークン」で見つけることができます。「書き込み」としてトークンが選択されていることを確認してください)

1.6 「プライベート」または「パブリック」のいずれかを選択します。AutoTrainスペース自体はプライベートに保つことをお勧めしますが、後でモデルやチャットアプリを公開することもできます。

1.7 「スペースを作成」をクリックすると、新しいスペースが数分で構築され、その後、スペースを開いてAutoTrainを使用できます。

ステップ2:AutoTrainでモデルのトレーニングを開始する

2.1 AutoTrainスペースが起動されると、以下のGUIが表示されます。AutoTrainはLLM Fine-tuning、テキスト分類、表データ、拡散モデルなど、さまざまな種類のトレーニングに使用できます。今日はLLMトレーニングに焦点を当てるため、「LLM」タブを選択します。

2.2 「モデルの選択」フィールドからトレーニングしたいLLMを選択します。リストからモデルを選択するか、Hugging Faceモデルカードのモデル名を入力します。この例ではMetaのLlama 2 7b foundationモデルを使用しています。モデルカードの詳細についてはこちらをご覧ください。(注意:LLama 2はMetaの承認が必要なゲートモデルですが、Falconなどのゲートのない他のモデルも選択できます)

2.3 「バックエンド」で使用するCPUまたはGPUを選択します。7bモデルには「A10G Large」が十分です。より大きなモデルをトレーニングする場合は、選択したGPUのメモリにモデルが完全に収まることを確認する必要があります。(注意:より大きなモデルをトレーニングしたい場合は、A100 GPUへのアクセスが必要な場合は、までメールしてください)

2.4 もちろん、モデルをファインチューニングするには「トレーニングデータ」をアップロードする必要があります。データセットが正しくフォーマットされ、CSVファイル形式であることを確認してください。必要なフォーマットの例はこちらで確認できます。データセットに複数の列が含まれている場合は、トレーニングデータを含むファイルから「テキスト列」を選択してください。この例ではAlpacaのトレーニングデータセットを使用します。このデータセットの詳細についてはこちらでご確認いただけます。また、CSV形式で直接ダウンロードすることもできます。 こちらから。

2.5 任意:新しくトレーニングしたモデルをテストするために「検証データ」をアップロードすることもできますが、これは必須ではありません。

2.6 AutoTrainでモデルのメモリ使用量を削減するために、「精度(”FP16″)」、「量子化(”Int4/8″)」、またはPEFT(パラメータ効率的なファインチューニング)の使用のような高度な設定を構成することができます。これらはデフォルトで設定されているため、モデルのトレーニングにかかる時間とコストを削減し、モデルのパフォーマンスにほとんど影響を与えませんので、使用することをおすすめします。

2.7 同様に、「パラメータの選択」でトレーニングパラメータを構成できますが、今はデフォルト設定を使用しましょう。

2.8 これですべての準備が整いました。「ジョブを追加」を選択してモデルをトレーニングキューに追加し、「トレーニングを開始」を選択します(注意:さまざまなハイパーパラメータを使用して複数のモデルバージョンをトレーニングする場合は、複数のジョブを同時に実行することができます)

2.9 訓練が開始されると、Hubアカウントに新しい「スペース」が作成されます。このスペースではモデルの訓練が実行され、完了すると新しいモデルが「モデル」のセクションに表示されます。(注意:訓練の進行状況を確認するには、スペース内のライブログを表示できます)

2.10 コーヒーを取って落ち着いてください。モデルのサイズと訓練データの大きさによって、数時間または数日かかる場合があります。完了後、ハグフェイスハブの「モデル」のセクションに新しいモデルが表示されます。

ステップ3:モデルを使用して新しいChatUIスペースを作成する

3.1 1.1 > 1.3の手順と同じように新しいスペースを設定するプロセスに従ってくださいが、AutoTrainの代わりにChatUI Dockerテンプレートを選択してください。

3.2 モデルのサイズに応じて、7bモデルの場合はA10G Smallが適切なSpaceハードウェアですが、それはモデルのサイズによって異なります。

3.3 独自のMongo DBをお持ちの場合は、「MONGODB_URL」の下にチャットログを保存するための詳細を提供することができます。それ以外の場合は、フィールドを空白のままにしてローカルDBが自動的に作成されます。

3.4 トレーニングしたモデルを使用してチャットアプリを実行するために、「Space変数」セクションの下に「MODEL_NAME」を提供する必要があります。Hugging Faceプロフィールの「モデル」セクションを見てモデルの名前を見つけることができます。これはAutoTrainで使用した「プロジェクト名」と同じになります。この例では、「2legit2overfit/wrdt-pco6-31a7-0」となります。

3.4 「Space変数」の下で、温度、top-p、生成される最大トークンなど、モデルの推論パラメーターを変更することもできます。今はデフォルトの設定を使用しましょう。

3.5 これで「作成」ボタンをクリックして、自分自身のオープンソースのChatGPTを立ち上げる準備が整いました。おめでとうございます!正しく行えば、以下のようになります。

もしインスピレーションを受けているけれども、まだ技術的なサポートが必要な場合は、お気軽にお問い合わせください。こちらからサポートを申請することができます。Hugging Faceは有料の専門家アドバイスサービスも提供しており、お手伝いできるかもしれません。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

「サティスファイラボのCEO兼共同創設者、ドニー・ホワイト- インタビューシリーズ」

2016年に設立されたSatisfi Labsは、会話型AI企業のリーディングカンパニーです早期の成功は、ニューヨーク・メッツ、メイシ...

人工知能

キャルレールの最高製品責任者、ライアン・ジョンソンへのインタビューシリーズ

ライアンは、初期のスタートアップからフォーチュン100の組織まで、多様なテクノロジーと製品開発のリーダーシップ経験を15年...

AIテクノロジー

「LXTのテクノロジーバイスプレジデント、アムル・ヌール・エルディン - インタビューシリーズ」

アムル・ヌール・エルディンは、LXTのテクノロジー担当副社長ですアムルは、自動音声認識(ASR)の文脈での音声/音響処理と機...

AIニュース

OpenAIのCEOであるSam Altman氏:AIの力が証明されるにつれて、仕事に関するリスクが生じる

OpenAIのCEOであるSam Altmanは、特に彼の作品であるChatGPTに関するAIの潜在的な危険性について公言してきました。最近のイ...

人工知能

「アナコンダのCEO兼共同創業者、ピーターウォングによるインタビューシリーズ」

ピーター・ワンはAnacondaのCEO兼共同創設者ですAnaconda(以前はContinuum Analyticsとして知られる)を設立する前は、ピー...

人工知能

「コーネリスネットワークスのソフトウェアエンジニアリング担当副社長、ダグ・フラーラー氏 - インタビューシリーズ」

ソフトウェアエンジニアリングの副社長として、DougはCornelis Networksのソフトウェアスタック全体、Omni-Path Architecture...