自分の PC で ChatGPT のような AI を実行する方法
公開: 2023-04-06チャットボットは現在大流行しており、誰もがアクションの一部を望んでいます。 Google には Bard があり、Microsoft には Bing Chat があり、OpenAI の ChatGPT は、現時点では実質的に AI と同義です。 しかし、チャットボットをクラウド サービスに依存したくない場合はどうすればよいでしょうか? ダウンロードできる ChatGPT のような AI があります — アルパカです。
アルパカとは?
Alpaca は ChatGPT とどのように比較されますか?
アルパカを実行するには何が必要ですか?
PC でローカルに Alpaca を実行する方法
Linux 2 用 Windows サブシステムのインストール
Docker をインストールする
Windows に GIT をインストールする
セルジュとアルパカをインストール
セルジュとアルパカを使用
アルパカとは?
Alpaca は、ChatGPT によく似た言語モデル (基本的にはチャットボット) です。 質問に答えたり、推論したり、ジョークを言ったり、チャットボットに期待されるあらゆることを実行できます。 Alpaca は、スタンフォード大学の研究者が Facebook の LLaMA を微調整して作成しました。
ChatGPT や、現在利用可能な他のほとんどのチャットボットとは異なり、Alpaca は自分の PC 上で完全に実行されます。 つまり、誰もあなたの会話やアルパカに尋ねたことを詮索することはできず、あなたのやり取りが誤って漏洩することもありません. また、月額料金を支払う必要がないことも意味します。ハードウェアがあれば、ニーズに合わせてモデルをさらにトレーニングし、必要なアプリケーションに統合できます。 ハードウェアとプログラミングのチョップによってのみ制限されます。
ただし、会話できる通常の古いチャットボットとしても美しく機能し、ほぼすべての PC で実行する方法を紹介します。
Alpaca は ChatGPT とどのように比較されますか?
ChatGPT、特に GPT-4 を実行している ChatGPT は、現時点では Alpaca よりもスマートで高速です。
Alpaca の速度は、ほとんどの場合、それが実行されているコンピューターによって制限されます。大量のコアと十分な RAM を備えた非常に高速なゲーミング PC があれば、十分なパフォーマンスを発揮できます。 コア数が少ない低速の PC は、応答の生成に時間がかかります。 もちろん、この点で ChatGPT と比較するのは公平ではなく、合理的ではありません。ChatGPT が実行されているコンピューターの種類はわかりませんが、平均的なデスクトップ PC よりも優れていることは確かです。
現在、アルパカには主に 7B、13B、30B の 3 つのバリエーションがあります。 一般的に、数値が大きいほどチャットボットは賢くなります。
Alpaca、特に 7B モデルは、ChatGPT よりも著しく「間抜け」です。 それも理にかなっておらず、チューリング テストに合格しないことは確かです。 ただし、レシピの提案が必要な場合は、7B が最適です。
13B と 30B モデルはまったく別の話です。 13B は、首尾一貫した人間のような会話を提供することができ、複雑な質問に答えることができます。 30B を実行するためのハードウェアがあり、ChatGPT のすぐ近くにある場合は、さらに印象的です。 プロンプトが表示されると、ビートを逃さずに哲学的にワックスをかけたり、冗談を言ったりします.
アルパカを実行するには何が必要ですか?
Alpaca のシステム要件は非常に柔軟です。 これらのガイドラインは最低限度を超えていますが、適切なガイドラインです。 これを Windows にもインストールします。 Linux または macOS を実行しているシステムにこれをインストールする場合は、Linux 用の Windows サブシステムのセクションをスキップしてください。それはあなたには関係ありません。
- 16 GB の RAM
- 32 GB の方が優れており、30B モデルを実行する場合は必要です
- 3 つのモデルすべてが必要な場合は、SSD に 35 GB のストレージ。
- 7Bモデルは4GB、13Bモデルは8GB、30Bモデルは20GB
- WSL2 を使用するデフォルトの Ubuntu の場合は 500MB
- 他の依存関係の間にさらに数 GB
- 最新の CPU が理想的です
- 任意の Ryzen CPU
- 第 7 世代インテル プロセッサー以降
- Linux 2 用 Windows サブシステム (WSL2)
- ギット
- ドッカー
- Alpaca に優れた Web インターフェースを提供するコミュニティ プロジェクト、Serge
警告:現在、この特定のプロジェクトに重大なセキュリティ上の問題や悪意があると疑われる理由はありません。 コードを確認し、ソフトウェアを自分で実行しましたが、問題はありませんでした。 それは、それが安全であること、または今後も安全であることを意味するものではありません。 インターネットで見つけたものには常に注意を払い、定期的に安全性を再評価してください。
PC でローカルに Alpaca を実行する方法
これらの手順は、記載されている順序で実行することが重要です。 そうしないと、Docker が壊れてしまい、WSL2 と Docker の両方を完全に再インストールする必要があります。
Linux 2 用 Windows サブシステムのインストール
Microsoft の Windows Subsystem for Linux 2 (WSL2) を使用すると、Windows で Linux ソフトウェアを実行できます。 オーバーヘッドが低く、多くの場合に非常に便利です。 Docker for Windows は WSL2 に依存しているため、最初に WSL2 をインストールする必要があります。
注:既に WSL2 がインストールされている場合は、PowerShell で wsl –update を実行して、すべてが更新されていることを確認してください。
管理者として PowerShell ウィンドウを開き、次のコマンドを入力します。
wsl --install
すべての WSL2 ファイルと Ubuntu をダウンロードするには少し時間がかかります。 インストールが完了したら、PC を再起動する必要があります。
再起動が実行されたら、PowerShell を (必ずしも管理者としてではなく) 再度開き、次を実行します。
wsl -l -v
すべてが正しく機能していれば、下の画像のようなものが表示されるはずです。 また、特に Ubuntu をインストールする必要もありません。 好きなディストリビューションをインストールできます。Ubuntu はデフォルトです。
Docker をインストールする
Docker は、「コンテナー」内でプログラムを実行できるようにするプログラムです。 コンテナーは仮想マシンに似ていますが、オーバーヘッドが少なくなる傾向があり、多くのアプリケーションでパフォーマンスが向上します。 Serge は Docker を使用してインストールを非常に便利にしています。
関連: Docker の機能と、いつ使用すべきか?
まず、Docker Web サイトから Docker インストーラーをダウンロードします。 Linux または macOS で Docker を実行する場合は、必ず適切なインストーラーを入手してください。
注:ヘッドレス Linux サーバーを実行している場合は、Linux ディストリビューションの適切な手順に従って Docker を実行する必要があります。
インストーラーを実行し、数分待つ準備をしてください。 Docker はしばらく時間がかかり、舞台裏で多くのものをセットアップします。 完了したら、PCを再起動します。
再起動後、PowerShell を開き、 wsl -l -v
を再度実行します。 今回は、Docker に関連するエントリもいくつか表示されるはずです。
Windows に GIT をインストールする
最後の前提条件は Git です。これを使用して、Github から自動的に Serge をダウンロード (および更新) します。 いつでも ZIP をダウンロードして手動で解凍できるため、厳密には必要ありませんが、Git の方が適しています。
Git の Web サイトにアクセスして、お使いのオペレーティング システムに適したバージョンをダウンロードしてください。 Windows ユーザーは、実行可能ファイルを実行するだけです。 すべてのオプションをすばやくクリックするのではなく、少なくともインストール オプションを確認してください。 下のスクリーンショットに示されている 1 つは、非常に重要です。
Git のインストールが完了したら、Serge と Alpaca をインストールする準備が整います。
セルジュとアルパカをインストール
まず、Docker Desktop が実行されていることを確認します。 次に、PowerShell ウィンドウを開いた状態で (管理者としてではなく) PowerShell または Windows ターミナルを開き、次のコマンドを実行します。
git clone https://github.com/nsarrazin/serge.git && cd serge
これにより、ファイルが GitHub から PC 上のフォルダーにダウンロードされ、アクティブ ディレクトリが作成されたフォルダーに変更されます。
次に実行する必要があるコマンドは次のとおりです。
cp .env.sample .env
その行は .env.sample のコピーを作成し、そのコピーに「.env」という名前を付けます。 このファイルには、会話を保存するローカルデータベースに関連する引数と、接続時にローカル Web サーバーが使用するポートが含まれています。
次に実行します。
docker compose up -d
Docker Compose は、多数の異なるコンテナーを 1 つのパッケージに結び付けます。 ここで何が関係しているかをより具体的に確認したい場合は、Serge フォルダーにある docker-compose.yml ファイルをチェックアウトできます。
最後のコマンドはダウンロードを開始します。ここでは、先に進む前に選択を行う必要があります。 ダウンロードできるバリアントは、7B、13B、および 30B の 3 つです。 7B は最もシンプルで「最も馬鹿げた」モデルですが、30B は最も洗練された最もスマートなモデルです。 13Bは中盤です。
変異体 | ダウンロードサイズ | 空き RAM が必要 | Windows で推奨されるシステム RAM | Linux で推奨されるシステム RAM |
7B | 4ギガバイト | 4ギガバイト | 16ギガバイト | 8GB |
13B | 8GB | 8GB | 16ギガバイト | 16ギガバイト |
30B | 20 | 20GB | 64 GB (おそらく) | 32GB |
Linux (およびおそらく macOS) のインストールは、Windows のインストールよりも少ないシステム RAM で問題を解決できます — Windows は RAM を少し食い尽くします。 最も要求の厳しいオプションであるため、おそらく最初に 7B バリアントから開始する必要があります。 必要に応じて、13B または 30B を後でいつでもダウンロードできます。
次のコマンドを実行して、7B モデル (または 13B または 30B に置き換えます) をダウンロードします。
docker compose exec api python3 /usr/src/app/utils/download.py tokenizer 7B
特に 30B バリアントを選択する場合は、待つ準備をしてください。 Huggingface サーバーは 1 秒あたり約 20 メガバイトで最高に達しているように見えるので、最良のシナリオで 1 ギガバイトあたり 50 秒ダウンロードされることになります。
セルジュとアルパカを使用
これらの手順に従っている場合、Docker と必要なすべてのコンテナーは現在実行されていますが、コンピューターを再起動する場合は、コンテナーを再びオンにする必要があります。 これを行うには、Docker Desktop を開き、小さな三角形のボタンをクリックします。 コンテナが実行中の場合、[名前] 列の左側にあるアイコンが緑色に変わります。
この時点ですべてがインストールされ、準備が整いました。 Facebook やその他の Web サイトにアクセスするのと同じように、ブラウザを開いて、アドレス バーに「localhost:8008」と入力するだけです。
注:別のコンピューターで Alpaca/Serge をホストしている場合は、localhost ではなく、そのデバイスのローカル IP アドレスを入力する必要があります。
メイン画面には、以前の会話が左側に表示され、新しいチャットの設定が中央に表示されます。
かなりの数の設定が利用できますが、特に注意したい設定が 5 つあります。
- 温度– AI がどれだけ自由に応答するかを決定します。 数字が小さいほど厳格な答えになり、数字が大きいほど創造的になります。
- トークンで生成されたテキストの最大長– ボットが書き込むことができる応答の長さ。
- モデルの選択– 7B、13B、30B、およびインストールするその他のモデルから選択します。
- n_threads – Serge/Alpaca が CPU で使用できるスレッドの数。 より多く割り当てるとパフォーマンスが向上します
- 会話を開始するための事前プロンプト– 会話が開始される前にコンテキストを提供して、チャットボットの応答方法にバイアスをかけます。
この場合、温度とスレッドを上げ、13B モデルを選択し、チャットボットにそれが海賊であることを伝えました。
以下は、会話がどのように進んだかのサンプルです。
Alpaca で好きなことを何でも話すことができ、データに何が起こっているかを心配する必要はありません。 それはあなたのデバイス上に残り、常にあなたの管理下にあります。
ChatGPT、Alpaca、およびその他のチャットボットは信頼できるように見えますが、現時点ではそうではありません. それらは、「輝きで彼らを魅了できない場合は、BSで彼らを困惑させる」という感情を非常に具現化しています。 物事をでっち上げようとする彼らの傾向は、「幻覚」と呼ばれています。 特にあなたの仕事や健康にとって重要なことではなく、重要なことを彼らに頼らないでください. 現時点では、娯楽または実験目的でのみ使用してください。
しかし、この技術は時間の経過とともに改善されるだけです。Alpaca (または他のローカルで実行される AI) が Discord サーバー、Minecraft の mod、およびその他の多くのクリエイティブ アプリケーションに統合されるまでそう遠くはありません。 さらに改良すると、より高速で正確なモデルが得られ、より弱いハードウェアでも実行できます。