🚀 WiNGPT2
WiNGPT は、GPTに基づく医療垂直分野の大規模モデルです。専門的な医学知識、医療情報、データを融合し、医療業界にインテリジェントな医療質問応答、診断支援、医学知識などの情報サービスを提供し、診療効率と医療サービスの質を向上させることを目的としています。
🚀 クイックスタート
WiNGPT(衛寧健康医療言語大規模モデル、以下WiNGPTと略称)の開発とトレーニングは2023年1月から始まりました。以下はその開発の主なステップです。
- 3月:衛寧健康人工知能研究所はWiNGPT - 001の実現可能性検証を完了し、内部テストを開始しました。WiNGPT - 001は一般的なGPTアーキテクチャを採用し、60億のパラメータを持ち、事前学習から微調整までの全プロセスを独自開発しました。
- 5月:WiNGPT - 001のトレーニングデータ量は、9720項目の医薬品知識、18種類の医薬品タイプ、7200項目以上の疾病知識、2800項目以上の検査検体知識、53冊の書籍知識、1100以上のガイド文書に達し、総トレーニングトークン数は37億になりました。
- 7月:WiNGPTは7Bにアップグレードされ、最新のモデルアーキテクチャを採用し、検索式強化生成機能を追加し、同時に13Bモデルのトレーニングと業界招待テストを開始しました。
- 9月:WiNGPTは最新バージョンに更新され、新しいWiNGPT2がリリースされました。新バージョンは簡単に拡張およびカスタマイズでき、下流の様々なアプリケーションシーンに使用できます。
オープンソースコミュニティに貢献するため、WiNGPT2 - 7Bバージョンをオープンソース化しました。私たちの目的は、より多くのオープンソースプロジェクトを通じて、医療言語大規模モデル技術と業界の共同発展を加速し、最終的に人類の健康に貢献することです。
✨ 主な機能
核心機能
- 医学知識質問応答:医学、健康、疾病などの分野に関する質問に回答できます。症状、治療、薬剤、予防、検査などを含みます。
- 自然言語理解:医学用語、病歴などの医療テキスト情報を理解し、重要な情報を抽出して分類します。
- 多輪対話:医師などの様々な医療専門家の役割を果たしてユーザーと対話し、文脈に基づいてより正確な回答を提供します。
- 多タスクサポート:32の医療タスク、8つの医療シーンと18のサブシーンをサポートします。
モデルアーキテクチャ
Transformerに基づく70億パラメータ規模の大規模言語モデルで、RoPE相対位置エンコーディング、SwiGLU活性化関数、RMSNormを採用し、トレーニングにはQwen - 7b1を基礎事前学習モデルとして使用しています。
主な特徴
- 高い精度:大規模な医療コーパスでトレーニングされており、高い精度と低い誤診率を持っています。
- シーン指向:異なる医療シーンと実際のニーズに合わせて最適化およびカスタマイズされており、アプリケーションの実装により適しています。
- 反復最適化:最新の医学研究を継続的に収集し学習し、モデルの性能とシステム機能を不断に向上させます。
📦 インストール
推論
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers.generation import GenerationConfig
model_path = "WiNGPT2-7B-Chat"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_path, trust_remote_code=True)
model = model.eval()
generation_config = GenerationConfig(
num_beams=1,
top_p=0.75,
top_k=30,
repetition_penalty=1.1,
max_new_tokens=1024
)
text = 'User: WiNGPT, 你好<|endoftext|>\n Assistant: '
inputs = tokenizer.encode(text, return_tensors="pt").to(device)
outputs = model.generate(inputs, generation_config=generation_config)
output = tokenizer.decode(outputs[0])
response = output.replace(inputs, '')
注意事項
WiNGPT2 - 7B - Chatはカスタムのプロンプト形式を使用しています。
- ユーザーロール:User/Assistant
- プロンプトテンプレート:User:[ここにスペース]WiNGPT, 你好<|endoftext|>\n[ここにスペース]Assistant:;多輪対話はこのテンプレートに従って結合します。例えば:
"User: WiNGPT, 你好<|endoftext|>\n Assistant:你好!今天我能为你做些什么?<|endoftext|>\n User: 你是谁?<|endoftext|>\n Assistant:"
デコード時にはrepetition_penalty = 1.1 [greedy search]の使用をおすすめします。
企業サービス
13Bモデルプラットフォームテスト(直接キーを申請)
📚 ドキュメント
トレーニングデータ
データ概要
-
医療専門データ
| データソース | タイプ | 数量 |
| ---- | ---- | ---- |
| 医薬品説明書 | 知識ベース | 15000件 |
| 多病種知識ベース | 知識ベース | 9720項目 |
| 医療専門書籍 | 教材 | 300冊 |
| 臨床パス知識ベース | 知識ベース | 1400件 |
| 検査検体知識 | 知識ベース | 110万件 |
| 多学科臨床ガイド | 書籍 | 18の診療科で合計1100部 |
| 医療知識グラフ | 知識ベース | 256万トリプル |
| 人工アノテーションデータセット | 命令 | 5万件 |
| 医学資格試験問題 | 試験問題 | 30万件 |
| 医療症例、レポート | 知識ベース | 100万件 |
-
その他の公開データ
| データソース | タイプ | 数量 |
| ---- | ---- | ---- |
| 医学普及書籍 | 書籍 | 500冊 |
| その他の多学科書籍 | 書籍 | 1000冊 |
| コード | 命令 | 20万件 |
| 一般的な試験問題 | 試験問題 | 300万件 |
| 様々な自然言語処理タスク | 命令 | 90万件 |
| インターネットテキスト | インターネット | 300万件 |
| 医療質問応答、対話 | 命令 | 500万件 |
追加事前学習
モデルの医療知識ベースを拡充します。事前学習データ + 一部の命令データを使用します。
命令微調整
- 書籍、ガイド、症例、医療レポート、知識グラフなどのデータから自動的に医療命令セットを構築します。
- 人工アノテーション命令セット。データソースには、電子カルテシステム、看護カルテシステム、PACSシステム、臨床研究システム、手術管理システム、公衆衛生シーン、医務管理シーン、ツールアシスタントシーンが含まれます。
- FastChat2、Self - Instruct3、Evol - Instruct4などの方法を使用して、命令セットを拡張し、命令セットの多様性を豊かにします。
データエンジニアリング
- データ分類:トレーニング段階とタスクシーンに基づいて分類します。
- データクリーニング:関係のない情報を削除し、データのスペルミスを修正し、重要な情報を抽出し、プライバシー保護処理を行います。
- データ重複排除:embedding方法を使用して重複データを削除します。
- データサンプリング:データセットの品質と分布の要件に基づいてターゲットを絞ったサンプリングを行います。
モデルカード
トレーニング設定とパラメータ
モデル名 |
長さ |
精度 |
学習率 |
Weight_decay |
Epochs |
GPUs |
WiNGPT2 - 7B - Base |
2048 |
bf16 |
5e - 5 |
0.05 |
3 |
A100*8 |
WiNGPT2 - 7B - Chat |
4096 |
bf16 |
5e - 6 |
0.01 |
3 |
A100*8 |
分散トレーニング戦略とパラメータ
- deepspeed + cpu_offload + zero_stage3
- gradient_checkpointing
評価
中国語基礎モデル評価C - EVAL(Zero - shot/Few - shot)
|
平均 |
平均(Hard) |
STEM |
社会科学 |
人文科学 |
その他 |
[bloomz - mt - 176B](https://cevalbenchmark.com/static/model.html?method=bloomz - mt - 176B*) |
44.3 |
30.8 |
39 |
53 |
47.7 |
42.7 |
[Chinese LLaMA - 13B](https://cevalbenchmark.com/static/model.html?method=Chinese%20LLaMA - 13B) |
33.3 |
27.3 |
31.6 |
37.2 |
33.6 |
32.8 |
[ChatGLM - 6B*](https://cevalbenchmark.com/static/model.html?method=ChatGLM - 6B*) |
38.9 |
29.2 |
33.3 |
48.3 |
41.3 |
38 |
[baichuan - 7B](https://cevalbenchmark.com/static/model.html?method=baichuan - 7B) |
42.8 |
31.5 |
38.2 |
52 |
46.2 |
39.3 |
[Baichuan - 13B](https://cevalbenchmark.com/static/model.html?method=Baichuan - 13B) |
53.6 |
36.7 |
47 |
66.8 |
57.3 |
49.8 |
[Qwen - 7B](https://cevalbenchmark.com/static/model.html?method=Qwen - 7B) |
59.6 |
41 |
52.8 |
74.1 |
63.1 |
55.2 |
[WiNGPT2 - 7B - Base](https://huggingface.co/winninghealth/WiNGPT2 - 7B - Base) |
57.4 |
42.7 |
53.2 |
69.7 |
55.7 |
55.4 |
中国語医療専門評価MedQA - MCMLE(Zero - shot)
モデル名 |
平均 |
血液系疾患 |
代謝、内分泌系疾患 |
精神神経系疾患 |
運動系疾患 |
リウマチ免疫疾患 |
小児疾患 |
感染症、性感染症 |
その他の疾患 |
[Baichuan - 7B](https://huggingface.co/baichuan - inc/Baichuan - 7B) |
23.1 |
25.6 |
20.2 |
25.8 |
17.9 |
26.5 |
20.6 |
26.1 |
17.1 |
[Baichuan - 13B - Base](https://huggingface.co/baichuan - inc/Baichuan - 13B - Base) |
37.2 |
34.4 |
36.2 |
40.7 |
38.4 |
57.1 |
31.6 |
30.8 |
34.3 |
[Baichuan2 - 7B - Base](https://huggingface.co/baichuan - inc/Baichuan2 - 7B - Base) |
46.4 |
46.9 |
41.4 |
53.8 |
48.3 |
50.0 |
38.6 |
52.7 |
42.9 |
[Baichuan2 - 13B - Base](https://huggingface.co/baichuan - inc/Baichuan2 - 13B - Base) |
62.9 |
68.8 |
64.4 |
69.7 |
64.9 |
60.3 |
50.9 |
61.2 |
62.9 |
[HuatuoGPT - 7B](https://huggingface.co/FreedomIntelligence/HuatuoGPT - 7B) |
22.9 |
14.6 |
17.2 |
31.2 |
25.8 |
14.3 |
22.4 |
23.1 |
17.1 |
[MedicalGPT](https://huggingface.co/shibing624/vicuna - baichuan - 13b - chat) |
17.9 |
21.9 |
15.5 |
19.5 |
9.3 |
7.1 |
16.7 |
20.9 |
9.5 |
[qwen - 7b - Base](https://huggingface.co/Qwen/Qwen - 7B) |
59.3 |
55.2 |
56.9 |
57.0 |
60.9 |
60.3 |
50.4 |
60.4 |
61.0 |
[WiNGPT2 - 7B - Base](https://huggingface.co/winninghealth/WiNGPT2 - 7B - Base) |
82.3 |
83.3 |
82.8 |
86.0 |
81.5 |
85.7 |
75.1 |
78.0 |
80 |
** 現在の公開評価には一定の制限があり、結果は参考にすぎません。
** より専門的な評価をお楽しみに。
制限事項と免責事項
(a) WiNGPT2は専門的な医療分野の大規模言語モデルで、一般ユーザーに擬人化AI医師の問診と質問応答機能、および一般的な医学分野の知識質問応答を提供します。専門の医療関係者に対しては、WiNGPT2が提供する患者の病状の診断、投薬、健康アドバイスなどの回答は参考にすぎません。
(b) あなたはWiNGPT2が提供するのは情報とアドバイスに過ぎず、医療専門家の意見、診断、治療アドバイスを代替することはできないことを理解すべきです。WiNGPT2の情報を使用する前に、医師または他の医療専門家のアドバイスを求め、提供された情報を独自に評価してください。
(c) WiNGPT2の情報には誤りや不正確な部分が含まれる可能性があります。衛寧健康はWiNGPT2の正確性、信頼性、完全性、品質、安全性、タイムリネス、性能、または適合性について、明示または黙示の保証を一切提供しません。WiNGPT2を使用して生じた結果と決定については、あなた自身が責任を負います。第三者の原因によってあなたに損害が生じた場合も同様です。
📄 ライセンス
- 本プロジェクトのライセンスはApache License 2.0です。モデルの重みは基礎モデル[Qwen - 7B](https://github.com/QwenLM/Qwen - 7B)の関連協定と[ライセンス](https://github.com/QwenLM/Qwen - 7B/blob/main/LICENSE)に従う必要があります。詳細はそのウェブサイトを参照してください。
- 本プロジェクト(モデルの重みを含む)を使用する場合は、本プロジェクトを引用してください:https://github.com/winninghealth/WiNGPT2
参考資料
- https://github.com/QwenLM/Qwen - 7B
- https://github.com/lm - sys/FastChat
- https://github.com/yizhongw/self - instruct
- https://github.com/nlpxucan/evol - instruct
お問い合わせ
- ウェブサイト:https://www.winning.com.cn
- メール:wair@winning.com.cn