アクティブな健康の 6 つの特徴(自発性、予防、正確性、個人化、共同構築と共有、自己規律)に基づいて、華南理工大学未来技術学部は、デジタル ツインのオープンソース化を実現しました。中国分野における生活空間のアクティブヘルスシステムのモデルベース ProactiveHealthGPT には以下が含まれます。
BianQue、数千万の中国の健康対話データ命令によって微調整された大規模な居住空間健康モデル
大規模なメンタルヘルス モデル SoulChat は、中国語の長文指示との共同指示と、数百万件の心理相談の分野での複数回の共感対話データを通じて微調整されています。
私たちは、居住空間アクティブ ヘルス大規模モデル ベース ProactiveHealthGPT が、学術コミュニティが慢性疾患や心理カウンセリングなどのアクティブ ヘルス分野における大規模モデルの研究と応用を加速するのに役立つことを願っています。このプロジェクトは、大規模なメンタルヘルス モデルである SoulChatです。
2024.06.06: SoulChatCorpus データセットのオープンソース バージョンがリリースされました。詳細については、特に https://www.modelscope.cn/datasets/YIRONGCHEN/SoulChatCorpus を参照してください。 、約 90,000 の会話サンプルをフィルタリングして除外しました (プライバシー リスク、セキュリティ上の問題、政治的リスク、低品質のサンプルなどのため、これらのサンプルはまだ手動による最適化段階にあり、オープンソース バージョンに更新される予定です)手動レビューが完了した後のデータセット)、最終的に 258,354 のマルチラウンド会話、合計 1,517,344 ラウンドが保持されます。このモデルの新しいバージョンは近い将来リリースされる予定で、ユーザーによる使用や比較実験研究の実施を容易にするために、複数のオープンソース モデルと複数のパラメーター レベルに適応されることが期待されています。
2023.12.07: EMNLP 2023 の調査結果に含まれる私たちの論文、SoulChat: マルチターン共感会話による微調整による LLM の共感、傾聴、快適能力の向上を参照してください。
2023.07.07: 大規模なメンタルヘルス モデル SoulChat のオンライン クローズド ベータ版が開始されました。リンクをクリックしてご利用ください: SoulChat クローズド ベータ版。
2023.06.24: このプロジェクトは、中国の大型モデルのリストに追加されました。これは、共感と傾聴機能を備えた心理分野における初の国内オープンソース大型モデルです。
2023.06.06: BianQue-2.0 モデルはオープンソースです。詳細については、「BianQue-2.0」を参照してください。
2023.06.06: 共感と傾聴の能力を備えた大規模なスピリチュアル ヘルス モデル SoulChat がリリースされました。 詳細については、「SoulChat、大規模なスピリチュアル ヘルス モデル: 長いテキストの相談指示と複数のラウンドの混合微調整を通じて」を参照してください。共感対話データセットを使用すると、モデルのパフォーマンスが向上し、「共感」能力が向上します。
2023.04.22: Bianque-1.0 モデルに基づく医療質疑応答システムのデモ 詳細については、https://huggingface.co/spaces/scutcyr/BianQue をご覧ください。
2023.04.22: BianQue-1.0 バージョン モデルがリリースされました。詳細については、「BianQue-1.0: 混合指示と複数回の医師問診データ セットの微調整による医療チャット モデルの「質問」機能の向上 (BianQue- 1.0: ハイブリッド指示とマルチターン医師 QA データセットによる微調整による医療チャット モデルの「質問」能力の向上)
現在の一般的な心理カウンセリング プラットフォームを調査したところ、ユーザーがオンラインで心理的なサポートを求める場合、通常は自分のことを長々と説明する必要があり、その後、サポートを提供する心理カウンセラーも長い返答を返すことがわかりました (図/single_turn.png を参照)。 、漸進的な打ち明けプロセスが欠けています。しかし、実際の心理カウンセリングでは、利用者と心理カウンセラーとの間で、心理カウンセラーが「すごいですね」など、会話を誘導したり、共感を示したりするコミュニケーションプロセスが複数回行われます。 、「気持ちはわかります」、「もちろんできますよ」など(下の画像を参照)。
現在のマルチターン共感対話データセットの不足を考慮して、一方では、150,000を超える規模のシングルラウンドの長文心理カウンセリングの指示と回答(SoulChatCorpus-single_turn)を構築し、回答数は100,000を超えました。 50万件(命令数は一般的な心理カウンセリングデータセットPsyQAの現状の6.7倍)、ChatGPTとGPT4を用いて合計約100万ラウンドの多ラウンド回答データ(SoulChatCorpus-multi_turn)を生成。特に、長い記事によって駆動される純粋に単一ラウンドの心理カウンセリング モデルでは、ユーザーにとって退屈なテキストの長さが生成され、ユーザーを純粋に複数の会話に誘導する機能がないことが、事前実験でわかりました。 -ラウンド心理カウンセリング対話データ駆動型心理カウンセリングモデル このモデルは、モデルの推奨能力を弱めるため、SoulChatCorpus-single_turn と SoulChatCorpus-multi_turn を混合して、シングルラウンドとマルチラウンドの混合共感対話データセット SoulChatCorpus を構築しました。 120万サンプル以上。 。すべてのデータは「ユーザー:xxxn 心理カウンセラー:xxxn ユーザー:xxxn 心理カウンセラー:」という形式で 1 つのコマンド形式に統一されます。
ChatGLM-6B を初期化モデルとして選択し、すべてのパラメータの微調整を行って、モデルの共感能力、ユーザーの会話への誘導能力、および合理的な提案の能力を向上させました。トレーニングの詳細については、今後の文書に注目してください。
このプロジェクトのクローンを作成します
cd ~git クローン https://github.com/scutcyr/SoulChat.git
依存関係をインストールするときは、サーバーの実際の cuda バージョンに基づいて torch バージョンを選択する必要があることに注意してください。詳細については、pytorch インストール ガイドを参照してください。
cd ソウルチャット conda env create -n professionalhealthgpt_py38 --file professionalhealthgpt_py38.yml conda は、proactivehealthgpt_py38 をアクティブ化します。 pip インストール cpm_kernels pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
【補足】 Windowsをお使いの方は、以下の手順を参考に環境を構築することをお勧めします。
cdBianQue conda create -n professionalhealthgpt_py38 python=3.8 conda は、proactivehealthgpt_py38 をアクティブ化します。 pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116 pip install -r 要件.txt pip install rouge_chinese nltk jieba datasets# 次のインストールでは、demoopip install streamlit を実行します。 pip インストール streamlit_chat
[補足] Windows での CUDA-11.6 の設定: CUDA-11.6 をダウンロードしてインストールし、cudnn-8.4.0 をダウンロードし、ファイルを解凍して CUDA-11.6 に対応するパスにコピーします。参照: Using conda to install pytorch under win11-cuda11 6-一般的な設置のアイデア
Python で SoulChat モデルを呼び出す
import torchfromTransformers import AutoModel, AutoTokenizer# GPU 設定 device = torch.device("cuda" if torch.cuda.is_available() else "cpu")# トークナイザーを使用してモデルをロード model_name_or_path = 'scutcyr/SoulChat' model = AutoModel.from_pretrained(モデル名またはパス 、 trust_remote_code=True).half()model.to(device)tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)# シングルラウンド ダイアログはモデルのチャット機能を呼び出します user_input = "私は失恋して、とても不快です!" = "ユーザー:" + user_input + "n心理カウンセラー:" 応答、履歴 = model.chat(tokenizer, query=input_text,history=None, max_length=2048, num_beams=1, do_sample=True, top_p=0.75, pressure=0.95, logits_processor=None)# 複数ラウンドのモデルのチャット関数を呼び出します。ダイアログ# 注: このプロジェクトでは、「n ユーザー:」と「n 心理カウンセラー:」を使用して、さまざまなラウンドの会話履歴を分割します#注: user_history は bot_history よりも長いです 1user_history = ['こんにちは、先生'、'ガールフレンドが私と別れてとても不快です']bot_history = ['こんにちは!私はあなたの専属デジタル カウンセラー、スイートハート ティーチャーです。心からお話しできることを楽しみにしています。 ']# 会話履歴 context = "n".join([f"User: {user_history[i]}n 心理カウンセラー: {bot_history[i]}" for i in range(len(bot_history))])input_text = context + "nuser:" + user_history[-1] + "npsychological Council:" 応答、履歴 = model.chat(tokenizer, query=input_text,履歴 = なし、max_length = 2048、num_beams = 1、do_sample = True、top_p = 0.75、温度 = 0.95、logits_processor = なし)
サービス開始
このプロジェクトでは、SoulChat モデルの使用例として soulchat_app.py を提供します。次のコマンドでサービスを開始し、http://<your_ip>:9026 でアクセスできます。
streamlit 実行 soulchat_app.py --server.port 9026
特に、soulchat_app.py では、次のコードを変更して、指定されたグラフィック カードを置き換えることができます。
os.environ['CUDA_VISIBLE_DEVICES'] = '2'
Windows の単一グラフィックス カード ユーザーの場合は、 os.environ['CUDA_VISIBLE_DEVICES'] = '0'
に変更する必要があります。そうしないと、エラーが報告されます。
次のコードを変更することで、モデル パスがローカル パスになるように指定できます。
モデル名またはパス = 'scutcyr/SoulChat'
例 1: 失恋
例2:寮関係
例 3: 最終試験
例 4: 科学研究の圧力
このプロジェクトは ChatGLM-6B モデルの重みを使用しており、その MODEL_LICENSE に従う必要があるため、このプロジェクトは非営利の研究目的でのみ使用できます。
このプロジェクトが提供する SoulChat モデルは、大規模モデルの共感的な対話とリスニング機能の向上に特化しています。ただし、モデルの出力テキストにはある程度のランダム性があり、リスナーとして使用する場合には適切ですが、 SoulChat モデルの使用は推奨されません。出力テキストは心理学者などの診断やアドバイスに置き換わります。このプロジェクトは、モデルによって出力されるテキストがユーザーに完全に適していることを保証するものではありません。このモデルを使用する場合、ユーザーはすべてのリスクを負う必要があります。
SoulChat モデルの全体または一部を商業、軍事、または違法な目的で使用、コピー、変更、結合、公開、配布、複製、または派生作品を作成することはできません。
SoulChat モデルを使用して、国家安全保障と国家統一を危険にさらしたり、社会的利益や公共の利益を危険にさらしたり、個人の権利を侵害したりする行為に従事することはできません。
SoulChat モデルを使用する場合は、医師や心理学者などの専門家に代わるものではないことを認識する必要があります。モデルの出力に過度に依存したり、従ったり、信じたりしてはなりません。また、SoulChat でのチャットに熱中してはなりません。久しぶりのモデル。
このプロジェクトは、華南理工大学未来技術学院の広東省デジタルツイン重点研究室によって開始され、電子情報学院情報ネットワーク工学研究センターおよび華南理工大学の他の学部の支援を受けています。また、広州市政府広東省母子保健病院、女性児童医療センター、中山大学第三附属病院、合肥国立総合科学センター人工知能研究所にも感謝します。
同時に、このプロジェクトについて報道していただいた以下のメディアまたは公開アカウントに感謝いたします(順不同)。
報道機関 人民日報、China.com、Guangming.com、TOM Technology、Future.com、Dazhong.com、China Development Report Network、China Daily Network、Xinhua News Network、China.com、Toutiao、Sohu、Tencent News、NetEase News 、中国情報ネットワーク、中国通信ネットワーク、中国都市報告ネットワーク、中国都市ネットワーク
パブリックアカウント 広東省研究所建設、Intelligent Voice New Youth、ディープラーニングと NLP、AINLP
@inproceedings{chen-etal-2023-soulchat,title = "{S}oul{C}hat: マルチターンの共感会話による微調整を通じて、{LLM} の共感、傾聴、慰めの能力を向上させる{'}",著者 = 「チェン、イーロンとシン、シャオフェンとリン、ジンカイとジェン、ホイミンとワン、ジェンユーとリウ、チーとシュウ、 Xiangmin"、編集者 = "Bouamor、Houda と Pino、Juan と Bali、Kalika"、booktitle = "計算言語学協会の調査結果: EMNLP 2023"、月 = 12 月、年 = "2023"、住所 = "シンガポール"、 Publisher = "計算言語学協会",url = "https://aclanthology.org/2023.findings-emnlp.83",pages = "1170--1183",abstract = "大規模言語モデル (LLM) は、その優れた記憶能力により、さまざまな分野で広く適用されています。これらの言語モデルを心理カウンセリングの分野に適用すると、多くの場合、普遍的なアドバイスを提供しようとしますが、ユーザーが心理的なサポートを求める場合は、共感を得る必要があります。この目的のために、私たちは 200 万サンプルを超えるマルチターンの共感会話データセットを構築しました。入力はマルチターンの会話コンテキストであり、ターゲットは共感的な応答です。質問、慰め、認識、傾聴、信頼、感情的サポートなどの表現をカバーします。実験では、複数ターンの対話履歴と表現に近い応答を使用して微調整すると、LLM の共感能力が大幅に向上することが示されました。心理コンサルタントの。」 }}