EduChatは、華東師範大学のICALKチームによって開発されたオープンソースの教育対話モデルです。教育シナリオに焦点を当て、英語と中国語の両方の対話をサポートし、学生、教師、研究者にインテリジェントな対話ツールを提供することを目的としています。このモデルは、LLaMAやQwenといったオープンソースのフレームワークをベースにしており、教育分野における大量のデータによって微調整されています。EduChatは、一般的な対話、心理学相談、ソクラテス式教授法の対話を扱うことができます。また、ユーザが学習データを最適化するためのデータクリーニングツールCleanToolも提供している。このプロジェクトはGitHubでオープンソース化されており、2024年現在748のスターを獲得している。
機能一覧
- 英語と中国語による教育的対話をサポートし、教室での授業や学術的な議論、心理カウンセリングに適しています。
- 1.8B、7B、13B、14Bのパラメータ・バージョンを含む複数のモデル・サイズが利用可能。
- ソクラテス式対話をサポートし、ユーザーが深く考えるよう導く。
- 心理学のトピックについて対話したり、関連する本を推薦したり、精神的なサポートを提供する。
- オープンソースのデータクリーニングツールCleanToolでトレーニングデータセットを最適化。
- GPUアクセラレーションをサポートし、A100/A800などのハードウェアと互換性があります。
- 開発者がモデルを素早く呼び出せるように、サンプルコードが提供されている。
ヘルプの使用
インストールと展開
EduChatはオープンソースプロジェクトで、GitHub経由でダウンロードし、ローカルにデプロイする必要があります。詳しいインストール手順は以下の通りです:
- 環境準備
Python3.8+とPyTorchがシステムにインストールされていることを確認する。FP16精度演算をサポートするためにGPU環境(NVIDIA A100/A800など)を推奨し、約15GBのビデオメモリを必要とする。必要なライブラリの依存関係をインストールします:pip install torch transformers
- ダウンロードモデル
GitHubリポジトリへのアクセスhttps://github.com/ECNU-ICALK/EduChat
プロジェクトをローカルにクローンする:git clone https://github.com/ECNU-ICALK/EduChat.git
モデルファイルはHugging Faceからダウンロードしてください。推奨
educhat-sft-002-7b
シングルカードGPU動作用モデル。ダウンロードコマンド:huggingface-cli download ecnu-icalk/educhat-sft-002-7b
- 積載モデル
提供されているサンプルコードを使用してモデルをロードします。以下のeduchat-sft-002-7b
Pythonのコード:from transformers import LlamaForCausalLM, LlamaTokenizer tokenizer = LlamaTokenizer.from_pretrained("ecnu-icalk/educhat-sft-002-7b") model = LlamaForCausalLM.from_pretrained("ecnu-icalk/educhat-sft-002-7b", torch_dtype=torch.float16).half().cuda() model = model.eval()
- 対話を生み出す
EduChat の役割と機能を定義するシステムプロンプトを設定します。例えばsystem_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Disable. 对话主题 - General: Enable. - Psychology: Disable. - Socrates: Disable.</s>" query = system_prompt + "<|prompter|>你好</s><|assistant|>" inputs = tokenizer(query, return_tensors="pt", padding=True).to(0) outputs = model.generate(**inputs, do_sample=True, temperature=0.7, top_p=0.8, repetition_penalty=1.02, max_new_tokens=256) response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True) print(response)
出力例:
你好!我是EduChat,有什么我可以帮助你的吗?
- 注目の機能操作
- 心理対話心理学トピックを有効にすると、EduChatは心理学の本を推薦したり、精神的なサポートを提供することができます。例えば、「心理学関連の本を推薦してください」と入力すると、モデルが表示されます:
当然,以下是一些关于心理学的经典书籍: 1.《人性的弱点》(Dale Carnegie):介绍人际关系技巧,帮助建立良好沟通。 2.《心理学与生活》(Richard J. Gerrig):全面介绍心理学基础知识,适合初学者。
構成心理学対話:
system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Enable. 对话主题 - General: Disable. - Psychology: Enable. - Socrates: Disable.</s>"
- ソクラテスの対話質問によって、ユーザーをより深い思考へと導く。可能な方法
system_prompt = "<|system|>你是一个人工智能助手,名字叫EduChat。 - EduChat是一个由华东师范大学开发的对话式语言模型。 EduChat的工具 - Web search: Disable. - Calculators: Disable. EduChat的能力 - Inner Thought: Disable. 对话主题 - General: Disable. - Psychology: Disable. - Socrates: Enable.</s>"
入力例:"公平さとは何か?" 公平さの核心は何だと思いますか?それは同じ結果ですか、それとも平等な機会ですか?"
- データクリーニングツール CleanTool重複排除と低品質データのフィルタリングをサポートし、トレーニングデータを最適化します。CleanToolを実行します:
python clean_tool.py --input data.json --output cleaned_data.json --gpu True
- 心理対話心理学トピックを有効にすると、EduChatは心理学の本を推薦したり、精神的なサポートを提供することができます。例えば、「心理学関連の本を推薦してください」と入力すると、モデルが表示されます:
- 内部テストアプリケーション
最新のモデルやデータへのアクセスが必要な場合は、以下のアドレスにメールをお送りください。dan_yh@stu.ecnu.edu.cn
メールのタイトルは "EduChat internal test application + unit "とし、目的を明記すること。
使用上の注意
- 7Bモデルは約15GB、13Bモデルはそれ以上のメモリを必要とします。
- モデルはリアルタイムのネットワーク検索をサポートしておらず、データのローカルコンフィギュレーションを必要とする。
- GitHubのリポジトリを定期的にチェックし、最新モデルやドキュメントのアップデートを確認してください。
アプリケーションシナリオ
- 教室用教材
教師はEduChatのソクラテス式対話機能を使って、生徒が問題を深く探求できるように導きます。例えば、哲学の授業では、「真理とは何か」と入力すると、モデルが生徒に質問をしてその概念を分析する手助けをします。 - 心理カウンセリング・サポート
学生や研究者は、心理学対話機能を通じて、精神的なサポートや推薦図書を得ることができ、メンタルヘルス教育や研究の場面に適しています。 - 教育データ研究
研究者はCleanToolを使用して教育分野のデータセットをクリーニングし、学術研究のためのモデルトレーニングの質を向上させます。 - AI開発テスト
開発者はEduChatのオープンソースコードを使用して、教育対話システムを迅速に構築し、対話生成をテストします。
品質保証
- EduChat はどの言語をサポートしていますか?
EduChatは英語と中国語のダイアログをサポートしており、学習データには英語と中国語の約400万個のコマンドとダイアログが含まれているため、多言語教育のシナリオに適している。 - 正しいモデル・バージョンを選ぶには?
1.8Bと7Bのモデルは低消費電力デバイスに適しており、13Bと14Bのモデルは高性能GPUに適している。 - インターネットに接続していないと使えないのですか?
いいえ。EduChatはウェブ検索機能を無効にしたローカル展開モデルで、モデルやデータは事前にダウンロードする必要があります。 - どうすればプロジェクト開発に参加できますか?
GitHubリポジトリに課題やプルリクエストを提出し、モデルの最適化や機能開発に参加することができます。