🚀 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 的用戶開發防護機制,並在任何生產使用中採取適當的預防措施。
數據集
在微調大語言模型時,我們使用了一個精心策劃的醫學數據集,該數據集結合了兩個公開可用來源的數據: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 的用戶開發防護機制,並在任何生產使用中採取適當的預防措施。該模型不能替代醫療專業人員的建議,只能作為研究工具使用。