ChatGLM3 プロジェクト詳細
プロジェクト概要
ChatGLM3 は、智譜AIと清華大学 KEG ラボが共同で発表した対話型事前学習モデルです。ChatGLM3-6B は ChatGLM3 シリーズのオープンソースモデルであり、前世代モデルの対話の滑らかさ、低い導入ハードルなどの多くの優れた特性を維持した上で、ChatGLM3-6B は多くの重要な新機能と改善を導入しました。
プロジェクトアドレス: https://github.com/THUDM/ChatGLM3
コア機能
1. より強力な基礎モデル
ChatGLM3-6B の基礎モデル ChatGLM3-6B-Base は、より多様なトレーニングデータ、より十分なトレーニングステップ数、より合理的なトレーニング戦略を採用しています。セマンティクス、数学、推論、コード、知識など、さまざまな角度のデータセットでの評価では、ChatGLM3-6B-Base は 10B 以下の基礎モデルの中で最も強力な性能を備えていることが示されています。
2. より完全な機能サポート
- 新版Prompt形式: 全く新しい設計のPrompt形式を採用し、より柔軟な対話インタラクションをサポートします。
- ツール呼び出し (Function Call): ネイティブでツール呼び出し機能をサポートし、モデルは外部ツールを積極的に呼び出すことができます。
- コード実行 (Code Interpreter): Jupyter 環境でのコード実行と結果の取得をサポートします。
- Agentタスク: 複雑なエージェントタスクシナリオをサポートします。
3. より包括的なオープンソースシーケンス
さまざまなニーズを満たすために、複数のバージョンを提供します。
- ChatGLM3-6B: 標準対話モデル、8K コンテキスト長をサポート
- ChatGLM3-6B-Base: 基礎事前学習モデル
- ChatGLM3-6B-32K: 長文対話モデル、32K コンテキストをサポート
- ChatGLM3-6B-128K: 超長文理解モデル、128K コンテキストをサポート
性能表現
基礎能力評価
8つの中英典型的なデータセットでのテスト結果:
| モデル | GSM8K | MATH | BBH | MMLU | C-Eval | CMMLU | MBPP | AGIEval |
|---|---|---|---|---|---|---|---|---|
| ChatGLM2-6B-Base | 32.4 | 6.5 | 33.7 | 47.9 | 51.7 | 50.0 | - | - |
| ChatGLM3-6B-Base | 72.3 | 25.7 | 66.1 | 61.4 | 69.0 | 67.5 | 52.4 | 53.7 |
長文処理能力
複数の長文アプリケーションシナリオで ChatGLM3-6B-32K の人工評価テストを実施しました。2世代モデルと比較して、効果は平均で50%以上向上しました。論文の読解、ドキュメントの要約、財務報告書の分析などのアプリケーションで特に顕著な改善が見られます。
インストールと使用
環境準備
git clone https://github.com/THUDM/ChatGLM3
cd ChatGLM3
pip install -r requirements.txt
基本的な使用例
from transformers import AutoTokenizer, AutoModel
# モデルのロード
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True, device='cuda')
model = model.eval()
# 対話インタラクション
response, history = model.chat(tokenizer, "こんにちは", history=[])
print(response)
ハードウェア要件
- 標準ロード: 約13GBのVRAMが必要(FP16精度)
- 量子化ロード: 4-bit量子化後、VRAMの需要が大幅に減少
- CPU推論: 約32GBのメモリが必要
- マルチGPUサポート: モデルを複数のGPUに分散可能
デプロイ方法
1. Webインターフェースデプロイ
# Gradioバージョン
python web_demo_gradio.py
# Streamlitバージョン
streamlit run web_demo_streamlit.py
2. コマンドラインインタラクション
python cli_demo.py
3. APIサービスデプロイ
cd openai_api_demo
python api_server.py
OpenAI互換のAPIインターフェースを提供し、以下をサポートします。
- 標準対話インターフェース
- ツール呼び出しインターフェース
- ストリーミング応答
- 温度とtop_pパラメータ制御
ファインチューニングと拡張
ファインチューニングサポート
プロジェクトは完全なファインチューニングスイートを提供し、以下をサポートします。
- 指示ファインチューニング
- 対話ファインチューニング
- タスク固有のファインチューニング
コミュニティエコシステム
複数の優れたオープンソースプロジェクトをサポートします。
推論加速:
- chatglm.cpp: llama.cppのような量子化加速ソリューション
- ChatGLM3-TPU: TPU加速推論
- TensorRT-LLM: NVIDIA GPU高性能推論
- OpenVINO: Intelデバイス加速推論
ファインチューニングフレームワーク:
- LLaMA-Factory: 高効率ファインチューニングフレームワーク
アプリケーションフレームワーク:
- LangChain-Chatchat: RAG知識ベースプロジェクト
- BISHENG: 大規模モデルアプリケーション開発プラットフォーム
- RAGFlow: 深いドキュメント理解RAGエンジン
総合Demo機能
プロジェクトは、3つのモードを統合した総合Demoを提供します。
- Chatモード: 標準対話インタラクション
- Toolモード: ツール呼び出しデモ
- Code Interpreterモード: コード実行環境
ライセンスと使用条件
- 学術研究: 完全オープン使用
- 商業使用: アンケートに記入して登録後、無料商業使用を許可
- 使用制限: 国や社会に危害を加える可能性のある用途には使用できません
- 安全要件: 安全評価と登録を通過する必要があるサービス
技術アーキテクチャの特徴
モデルアーキテクチャ
- GLMアーキテクチャの改良版に基づく
- 最適化された注意メカニズム
- より良い多言語サポート
- ネイティブでツール呼び出しをサポート
トレーニング最適化
- より多様なトレーニングデータ
- より十分なトレーニングステップ数
- より合理的なトレーニング戦略
- 中国語に特化した最適化
コミュニティ貢献
プロジェクトは積極的にオープンソースコミュニティを受け入れ、複数の優れたプロジェクトと深く協力し、完全なエコシステムを形成しています。開発者は ChatGLM3 に基づいて、さまざまな革新的なアプリケーションを開発できます。