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-6B
ChatGLM のソースコードが含まれるフォルダーが表示されます。
ディレクトリがない場合はChatGLM-6B
、このステップでコードをダウンロードする必要があります。操作は次のとおりです。
このページはターミナル ターミナルを開き、ターミナル ターミナルでコマンドを実行します。
git clone https://github.com/THUDM/ChatGLM-6B.git
4.3 インストールの依存関係
1. コマンドを実行してChatGLM-6B
ディレクトリに移動します。
cd ChatGLM-6B
requirements.txt
2. ファイルを変更し、必要な依存関係をすべて追加します。ファイルの最後に次の構成を追加できます。これら 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
を取得