🚀 Palmyra-med-20b
Palmyra-Med-20b は200億のパラメータを持つ大規模言語モデルです。このモデルは Palmyra-Large をベースに、特別に選りすぐった医学データセットを使ってさらに学習を行っています。主な目的は、医学的な対話や質問応答タスクにおける性能を向上させることです。
🚀 クイックスタート
このモデルはHugging Faceの AutoModelForCausalLM
と互換性があり、単一の40GBのA100で簡単に実行できます。
基本的な使用法
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "Writer/palmyra-med-20b"
tokenizer = AutoTokenizer.from_pretrained(model_name, use_fast=False)
model = AutoModelForCausalLM.from_pretrained(
model_name,
device_map="auto",
torch_dtype=torch.float16,
)
prompt = "Can you explain in simple terms how vaccines help our body fight diseases?"
input_text = (
"A chat between a curious user and an artificial intelligence assistant. "
"The assistant gives helpful, detailed, and polite answers to the user's questions. "
"USER: {prompt} "
"ASSISTANT:"
)
model_inputs = tokenizer(input_text.format(prompt=prompt), return_tensors="pt").to(
"cuda"
)
gen_conf = {
"temperature": 0.7,
"repetition_penalty": 1.0,
"max_new_tokens": 512,
"do_sample": True,
}
out_tokens = model.generate(**model_inputs, **gen_conf)
response_ids = out_tokens[0][len(model_inputs.input_ids[0]) :]
output = tokenizer.decode(response_ids, skip_special_tokens=True)
print(output)
高度な使用法
model=Writer/palmyra-med-20b
volume=$PWD/data
docker run --gpus all --shm-size 1g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference --model-id $model
✨ 主な機能
- 専門的な医学学習:特別に選りすぐった医学データセットを使って学習を行い、医学的な対話や質問応答タスクの性能を向上させています。
- 使いやすさ:Hugging Faceの
AutoModelForCausalLM
と互換性があり、単一の40GBのA100で実行できます。
📚 ドキュメント
モデルの説明
モデルの出所
Palmyra-Med: Instruction-Based Fine-Tuning of LLMs Enhancing Medical Domain Performance
使用範囲
適用範囲外の使用
リスクを十分に評価せず、緩和策を策定しないまま本番環境で使用すること;責任がない、または有害と見なされる可能性のある使用シナリオ。
バイアス、リスク、および制限事項
Palmyra-Med-20Bは主に英語のデータで学習されているため、他の言語にうまく汎化できない可能性があります。また、大規模なウェブコーパスを使って学習されているため、ウェブ上で一般的な固定概念やバイアスが含まれる可能性があります。
提案
Palmyra-Med-20Bのユーザーは、防護メカニズムを開発し、本番環境での使用に際して適切な予防策を講じることをお勧めします。
データセット
大規模言語モデルのファインチューニングには、特別に選りすぐった医学データセットを使用しています。このデータセットは、2つの公開されているソースのデータを組み合わせたものです:PubMedQA(Jinら、2019年)とMedQA(Zhangら、2018年)。PubMedQAデータセットはPubMedの要約データベースに由来し、生物医学論文とそれに対応する質問応答ペアで構成されています。これに対し、MedQAデータセットは医学的な質問応答システムの推論能力を評価するための医学的な質問と回答を含んでいます。
上記のソースからのデータを統合して処理することで、カスタムデータセットを準備し、表1に詳細に記載されているデータセットの混合比率を維持しています。これらの比率は、Palmyra-20bとPalmyra-40bモデルのファインチューニング時に同じです。このデータセットを使ってモデルをファインチューニングすることで、それぞれPalmyra-Med-20bとPalmyra-Med-40bというモデルが得られます。
データセット |
比率 |
数量 |
PubMedQA |
75% |
150,000 |
MedQA |
25% |
10,178 |
評価
まずファインチューニングされたモデルの評価結果を示し、次に各評価データセットにおけるベースモデルの性能について議論します。さらに、Palmyra-Med-40bモデルのPubMedQAデータセットの学習過程における段階的な改善状況も報告します。
モデル |
PubMedQA |
MedQA |
Palmyra-20b |
49.8 |
31.2 |
Palmyra-40b |
64.8 |
43.1 |
Palmyra-Med-20b |
75.6 |
44.6 |
Palmyra-Med-40b |
81.1 |
72.4 |
制限事項
このモデルは医療分野以外では効果的に動作しない可能性があります。実際のシーンでのテストが行われていないため、リアルタイムでの有効性と正確性はまだ不確定です。いかなる場合も、医療専門家のアドバイスの代替にはならず、研究ツールとしてのみ使用できます。
引用と関連情報
このモデルを引用する場合は、以下のBibTeX形式を使用してください:
@misc{Palmyra-Med-20B,
author = {Writer Engineering team},
title = {{Palmyra-Large Parameter Autoregressive Language Model}},
howpublished = {\url{https://dev.writer.com}},
year = 2023,
month = March
}
連絡先
Hello@writer.com
詳細な結果は こちら で確認できます。
指標 |
値 |
平均値 |
40.02 |
ARC (25-shot) |
46.93 |
HellaSwag (10-shot) |
73.51 |
MMLU (5-shot) |
44.34 |
TruthfulQA (0-shot) |
35.47 |
Winogrande (5-shot) |
65.35 |
GSM8K (5-shot) |
2.65 |
DROP (3-shot) |
11.88 |
📄 ライセンス
このモデルはApache 2.0ライセンスを使用しています。
⚠️ 重要な注意事項
このモデルは当社のチームによる保守やサポートが行われていないため、本番環境や重要なアプリケーションでの使用は強くお勧めしません。最新のモデルを使用することをおすすめします。最新のモデルは こちら で見つけることができます。
💡 使用上のヒント
Palmyra-Med-20Bのユーザーは、防護メカニズムを開発し、本番環境での使用に際して適切な予防策を講じることをお勧めします。このモデルは医療専門家のアドバイスの代替にはならず、研究ツールとしてのみ使用できます。