[大型モデル] コンテキスト長 32K の ChatGLM2-6B-32K がオープンソースで商用利用可能です

導入

チャットGLM2-6B-32K

ChatGLM2-6B をベースにした ChatGLM2-6B-32K は、長いテキストを理解する能力をさらに強化し、最大 32K の長さのコンテキストをより適切に処理できるようになります。

位置エンコーディングは位置補間の方法に基づいて更新され、対話フェーズで 32K のコンテキスト長でトレーニングされます。

実際の使用においては、基本的にコンテキスト長が 8K 以内の場合は ChatGLM2-6Bアドレス、8K を超えるコンテキスト長に対応する必要がある場合は ChatGLM2-6B-32K の使用を推奨します。

ChatGLM2-6B-32K の新機能

ChatGLM2-6B-32K は、オープンソースの中国語と英語のバイリンガル対話モデル ChatGLM2-6B の拡張バージョンです。

  1. トレーニング データ: ChatGLM2-6B-32K は、GLM のハイブリッド目的関数を使用し、1.4T 中国語と英語の識別子の事前トレーニングと人間の好みの調整トレーニングを受けています。
  2. より長いコンテキスト: FlashAttendant テクノロジーに基づいて、ペデスタル モデルのコンテキスト長を ChatGLM-6B の 2K から 32K に拡張し、対話フェーズで 32K のコンテキスト長トレーニングを使用して、より多くのラウンドの対話を可能にしました。
  3. より効率的な推論: マルチクエリ アテンション テクノロジーに基づいた ChatGLM2-6B-32K は、より効率的な推論速度と低いビデオ メモリ使用量を備えています。公式モデルの実装では、推論速度は第 1 世代よりも 42% 高速であり、 INT4 量子化、6G ビデオ メモリでサポートされるダイアログの長さが 1K から 8K に増加しました。
  4. よりオープンなプロトコル: ChatGLM2-6B-32K ウェイトは学術研究に対して完全にオープンであり、登録用のアンケートに記入した後は無料の商業利用も許可されます。

環境構成

環境構築

具体的な構築プロセス参考:
【AI実戦】ゼロから構築する最強のオープンソース6B中国語モデルChatGLM2-6B
- ChatGLM2-6B build

依存関係をインストールする

pip install protobuf transformers==4.30.2 cpm_kernels torch>=2.0 gradio mdtex2html sentencepiece accelerate

コードとモデルの重量プル

プルチャットGLM2-6B

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

github サイトは時々カクカクするので気長に待つ必要がありますが、失敗した場合は再度 pull してください

chatglm2-6b-32k モデルの重みとコードをプルします

cd ChatGLM2-6B
git clone https://huggingface.co/THUDM/chatglm2-6b-32k

ウェイトファイルが非常に大きいため、失敗した場合は rm -rf chatglm2-6b-32k を実行して再度 pull してください。

ファイルリストを表示:

ls -l chatglm2-6b-32k

出力:

.gitattributes  1.52 kB
MODEL_LICENSE   4.13 kB
README.md   9.04 kB
config.json 1.25 kB
configuration_chatglm.py    2.31 kB
modeling_chatglm.py 51.5 kB
pytorch_model-00001-of-00007.bin    1.83 GB
pytorch_model-00002-of-00007.bin    1.97 GB
pytorch_model-00003-of-00007.bin    1.93 GB
pytorch_model-00004-of-00007.bin    1.82 GB
pytorch_model-00005-of-00007.bin    1.97 GB
pytorch_model-00006-of-00007.bin    1.93 GB
pytorch_model-00007-of-00007.bin    1.05 GB
pytorch_model.bin.index.json    20.4 kB
quantization.py 14.7 kB
tokenization_chatglm.py 10.1 kB
tokenizer.model 1.02 MB
tokenizer_config.json   

【】大容量ファイルのダウンロードに失敗する場合は、以下の方法でモデルファイルをダウンロードしてください。

wget https://huggingface.co/THUDM/chatglm2-6b-32k/resolve/main/pytorch_model-00001-of-00007.bin
wget https://huggingface.co/THUDM/chatglm2-6b-32k/resolve/main/pytorch_model-00002-of-00007.bin
其他的同上...

端末テスト

Python 環境に入ります。

python3

コードを入力する:

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("./chatglm2-6b-32k", trust_remote_code=True)
model = AutoModel.from_pretrained("./chatglm2-6b-32k", trust_remote_code=True).half().cuda()
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
response, history = model.chat(tokenizer, "晚上睡不着应该怎么办", history=history)
print(response)

出力:

晚上睡不着可能会让你感到焦虑或不舒服,但以下是一些可以帮助你入睡的方法:

1. 制定规律的睡眠时间表:保持规律的睡眠时间表可以帮助你建立健康的睡眠习惯,使你更容易入睡。尽量在每天的相同时间上床,并在同一时间起床。
2. 创造一个舒适的睡眠环境:确保睡眠环境舒适,安静,黑暗且温度适宜。可以使用舒适的床上用品,并保持房间通风。
3. 放松身心:在睡前做些放松的活动,例如泡个热水澡,听些轻柔的音乐,阅读一些有趣的书籍等,有助于缓解紧张和焦虑,使你更容易入睡。
4. 避免饮用含有咖啡因的饮料:咖啡因是一种刺激性物质,会影响你的睡眠质量。尽量避免在睡前饮用含有咖啡因的饮料,例如咖啡,茶和可乐。
5. 避免在床上做与睡眠无关的事情:在床上做些与睡眠无关的事情,例如看电影,玩游戏或工作等,可能会干扰你的睡眠。
6. 尝试呼吸技巧:深呼吸是一种放松技巧,可以帮助你缓解紧张和焦虑,使你更容易入睡。试着慢慢吸气,保持几秒钟,然后缓慢呼气。

如果这些方法无法帮助你入睡,你可以考虑咨询医生或睡眠专家,寻求进一步的建议。

ウェブテスト

gradio を使用してページを作成する

グラデーションをインストールする

pip install gradio   -i https://pypi.tuna.tsinghua.edu.cn/simple

モデルをロードしてサービスを開始する

モデルパスを変更します。

vi web_demo.py

6,7行目へ:

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

着替える:

tokenizer = AutoTokenizer.from_pretrained("./chatglm2-6b-32k", trust_remote_code=True)
model = AutoModel.from_pretrained("./chatglm2-6b-32k", trust_remote_code=True).cuda()

サービスを開始します。

python web_demo.py

テストアドレス:

http://10.192.x.x:7860/

参考

  1. https://github.com/THUDM/ChatGLM2-6B
  2. https://huggingface.co/THUDM/chatglm2-6b-32k
  3. https://huggingface.co/THUDM/chatglm2-6b
  4. https://github.com/THUDM/GLM

おすすめ

転載: blog.csdn.net/zengNLP/article/details/132233402