[おばあちゃんが見る] クラウド サーバーはオープン ソースの ChatGLM-6B をデプロイしているため、独自の ChatGPT も持つことができます

1. 背景

皆さんこんにちは、シャオジュアンです。

最近、ChatGPT は GPT-4 をリリースしただけでなく、開封後インターネットに接続できるようになりました。AIの更新反復のスピードが速すぎてリズムについていけないと感心せざるを得ません。しかし、ChatGPT が更新されるたびに、OpenAI のオープンな使用に対する制限がますます増えていることにも誰もが気づいています。以前は国内ネットワークが GPT3 に気軽にアクセスしていましたが、現在は事あるごとに禁止されています

そこで今日は、中国の清華大学がオープンソース化しているChatGLM-6Bの導入方法を教えます。簡単に説明すると、ChatGLM は中国語の質疑応答と対話に最適化された対話言語モデルです。現在の学習モデルのパラメータ数は62億個、将来的にはパラメータ数1,300億個の大規模モデルも登場し、国産ChatGLMはますます強力になることが期待されています。

ChatGLM のオープンソース アドレス: THUDM/ChatGLM-6B

あまりナンセンスではありません。本題に直接行きましょう。以下は ChatGLM 中国語対話 (ChatGPT ではありません) の結果です。

(追記:記事の最後にChatGLMの無料体験アドレスとコンピューティングパワープラットフォームの無料体験方法を皆様にご用意しました。記事の最後まで必ずお読みください)

ここに画像の説明を挿入

2. 準備

公式声明によると、ChatGLM にはハードウェア構成のために少なくとも 13G のビデオ メモリが必要です

準備するものは以下のとおりです。

  • GPU クラウド サーバー (16GB ビデオ メモリ、32G メモリ)
  • グラフィックス カード ドライバーの cuda と pytorch フレームワークがクラ​​ウド サーバーにインストールされています (プラットフォームには既製のイメージがあり、直接インストールするだけです)

サーバー メーカーの選択について話しましょう。GPU サーバーは高価であるため、Xiaojuan はいくつかの大規模メーカーと小規模メーカーの GPU 仕様を比較しました。ここでは、要件を満たし、価格が適切な構成のみを見ていきます。

メーカー 構成 価格 アドバンテージ
アリ・クラウド 4 コア - 15G メモリ - 16 メモリ NVIDIA T4 1878/月 大きな工場でのサービスですが、価格が高すぎます
テンセントクラウド 10コア-40G-NVIDIA T4 8.68/時間 大手メーカーが提供しているが、専用の1GPUの価格は若干高め
ファーウェイクラウド 8 コア 32G-16 メモリ NVIDIA T4 3542/月 高すぎる
ミストGPU 8コア-32G-24GビデオメモリNVIDIA 3090 4.5/時間 短所: 無料ストレージは 1GB のみ
蘭瑞興州 10コア-40G-24GメモリNVIDIA 3090 1.9/時間 推奨、高構成、低価格の NVIDIA 3090 が特別価格になりました

ここではコンピューティングパワープラットフォーム Lanrui Xingzhou のサーバーを使用しており、価格が有利です。GPU サーバーは使用量に応じて課金される必要があることに注意してください。つまり、GPU サーバーを使用すると、使用時間に応じて課金され、使用時にオフにすると課金されなくなります。は使用されていません。

3. サーバー構成

この手順は比較的簡単で、サーバーを購入して環境をインストールします。

3.1 登録と使用

Lanrui Xingzhou 公式ウェブサイトの登録アドレスを開きます: https://www.lanrui-ai.com/register?invitation_code=4104、

アカウントを登録するときに、招待コード 4104 を入力すると、プラットフォームで無料でリチャージできるようになります。

サーバーを無料でお試しいただけます。右上隅でアカウントにリチャージすることもできます

ここに画像の説明を挿入

3.2 サーバーを購入してミラーイメージをインストールする

ウェブサイトでの購入に必要なサーバー構成。ここではこれを算力市场選択し、ボタンをクリックしてミラーインストールインターフェイスに入ります。3090-24G使用

ここに画像の説明を挿入

実行環境ミラーを選択公共镜像->pytorch最新のものを使用し、詳細設定で事前トレーニング済みモデルを選択しchatglm-6b(これにより、chatGLM モデルがサーバーに事前ロードされます。手動でダウンロードする必要はありません)、インスタンスを作成します (makeアカウントに十分な残高があることを確認してください)

ここに画像の説明を挿入

5 分ほど待つとワークスペースが作成され、「进入->」をクリックしてJupyterLabサーバーに入り、ChatGLM のインストールの準備をします。

ここに画像の説明を挿入

4. ChatGLM のデプロイ

4.1 Git アクセラレーションの構成

git clone が遅すぎることを避けるために、事前にコマンドラインで git Academic resource Acceleration を設定します。

# 执行下面2条命令,设置git学术资源加速
git config --global http.proxy socks5h://172.16.16.39:8443
git config --global https.proxy socks5h://172.16.16.39:8443

git clone次の手順でコマンドを実行すると、スタックすることはありません。

gitAcademic Acceleration をキャンセルするのも簡単です。次のコマンドを実行します (すべての手順が実行された後にキャンセルします~)

# 取消git学术资源加速
git config --global --unset https.proxy
git config --global --unset http.proxy

4.2 ChatGLM ソースコードのダウンロード

Jupyter ページに入ると、2 つのディレクトリが表示され、ディレクトリについて説明されています。

  • データ ディレクトリ、データの保存、プラットフォームによって共有
  • import_models ディレクトリには、ワークスペースの作成時に選択したモデルである事前トレーニングされたモデルが保存されます。

dataディレクトリをクリックすると、 ChatGLM-6BChatGLM のソースコードが含まれるフォルダーが表示されます。

ディレクトリがない場合はChatGLM-6B、このステップでコードをダウンロードする必要があります。操作は次のとおりです。

このページはターミナル ターミナルを開き、ターミナル ターミナルでコマンドを実行します。

git clone https://github.com/THUDM/ChatGLM-6B.git

ここに画像の説明を挿入
ここに画像の説明を挿入

4.3 インストールの依存関係

1. コマンドを実行してChatGLM-6Bディレクトリに移動します。

cd ChatGLM-6B

requirements.txt2. ファイルを変更し、必要な依存関係をすべて追加します。ファイルの最後に次の構成を追加できます。これら 3 つの依存関係がファイルに追加されている場合は、変更する必要はありません

chardet
streamlit
streamlit-chat

3. 図に示すように、追加後にファイルを保存します。

ここに画像の説明を挿入

4. 次に、コマンドラインで次のコマンドを実行して依存関係をインストールします。

# 使用默认镜像源下载会超时,这里用了清华的pip镜像源地址
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

ここに画像の説明を挿入

このステップではエラーが発生する可能性があります

ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.

ここに画像の説明を挿入

解決策: root ユーザーに切り替えてコマンドを実行します。

# 切换root用户
sudo su

# 重新执行
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

4.4 起動スクリプトの修正

  • モデルは別のフォルダーに保存されるため、起動スクリプトでモデル ファイルを読み取るコードを変更する必要があります。
  • パブリック ネットワークから ChatGLM にアクセスするには、リスニング アドレスを に0.0.0.0、ポートを に変更する必要があります27777。これは Lanrui Xingzhou プラットフォームのデバッグ アドレスです

変更手順:

1.web_demo2.pyファイル内のモデルパスを変更し、モデルの絶対パスに置き換えます。変更方法は次のとおりです。

修正前のコード

    tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
    model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()

変更されたコード

    tokenizer = AutoTokenizer.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True)
    model = AutoModel.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True).half().cuda()

修正後ctrl + s保存する

4.5 ChatGLMを開始する

ChatGLM-6Bディレクトリ内でコマンドラインが実行されます。

python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0

ChatGLMのwebuiインターフェースを起動します

ここに画像の説明を挿入

http://0.0.0.0:27777この文字が表示されれば、正常に開始されたことを意味します。

5.使用する

ブラウザから新しくデプロイされたサービスにアクセスし、Lanrui Xingzhou プラットフォームに戻る必要があります。

ワークスペース ページで [デバッグのコピー] リンクをクリックし自定义服务、コピーしたリンクをブラウザで開きます。

ここに画像の説明を挿入
ここに画像の説明を挿入

その後、このページで会話を開始できます

最初のダイアログでは、プログラムがモデル ファイルをロードするため、時間がかかります。開始したばかりのコマンド ラインからロードの進行状況を確認できます

最初の読み込みが完了するまで待ってから話しかけると、応答が非常に速くなります。

6. 対話効果

この時点で、インストールと展開のプロセスはすべて正常に完了しました。効果を見てみましょう。コピーしたリンクは携帯電話でも開くことができます。携帯電話での効果は次のとおりです。

7. サービスを閉じて、サービスを再起動します

  • サービスは使用量に応じて課金されるため、使用しないときはページをクリックし停止运行てください

ここに画像の説明を挿入

  • その後、サービスを再実行する場合は、启动ワークスペース ページのボタンをクリックします。ワークスペースが再作成されたら、「 」と入力しJupyter、コマンド ラインから再度開始します。
# 进入ChatGLM-6B目录
cd data/ChatGLM-6B/
 # 没挂系统盘时,要重新安装依赖
 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 启动服务
python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0

ここに画像の説明を挿入
ここに画像の説明を挿入

8.ChatGLMを無料で試す

Xiaojuanでは無料で体験できる2つの方法を用意しています。

(1) 以下のリンクからプラットフォーム アカウントを登録し、招待コード 4104 を入力すると、プラットフォームが無料でいくらかのお金をチャージし、自分でエクスペリエンスをデプロイできます。

https://www.lanrui-ai.com/register?invitation_code=4104

(2) Xiaojuan は、数日間使用できる独自の ChatGLM 体験アドレスを全員に用意しました。取得方法:公式アカウント卷福同学内のキーワードChatGLMを取得

おすすめ

転載: blog.csdn.net/qq_36624086/article/details/130098046