Ppace V1.0
模型概述
該模型通過微調實現,專門用於根據世界衛生組織的研究優先級對生物醫學資助項目的摘要進行自動分類,是GLOPID-R Pandemic PACT項目的組成部分。
模型特點
專業領域分類
專門針對生物醫學研究項目,支持12個WHO研究優先級的精確分類
可解釋性增強
通過生成分類依據提升模型決策的可解釋性
高效微調
採用LoRA技術實現高效訓練,在保持高性能的同時減少計算資源需求
模型能力
生物醫學文本理解
多標籤分類
分類依據生成
使用案例
科研資金管理
研究資金流向分析
自動分類生物醫學研究項目,追蹤特定疾病領域的研究資金分配
可快速生成各類疾病研究資金分佈報告
公共衛生決策支持
研究優先級分析
識別具有暴發潛力疾病的研究缺口
為公共衛生應急準備提供數據支持
🚀 大流行PACT高級分類引擎(PPACE)
大流行PACT高級分類引擎(PPACE)是一個經過微調的80億參數大語言模型(LLM),專為根據與世界衛生組織(WHO)一致的研究優先級,自動對資助的生物醫學項目的研究摘要進行分類而設計。作為GLOPID - R大流行PACT項目的一部分開發,PPACE有助於跟蹤和分析針對各種具有爆發潛力的疾病的研究資金和臨床證據。
該模型利用了一個經過人類註釋的數據集,並通過一個更大的大語言模型生成的理由進行了擴展。這些理由為所選標籤提供瞭解釋,增強了模型的可解釋性和準確性。
🚀 快速開始
準備輸入提示
def construct_input_prompt(title, abstract):
categories = """我們有一個生物醫學研究領域的項目,希望根據其相關的研究優先級對其進行分類。我們有12種可能的研究優先級,一個項目可以映射到其中一個或多個優先級。以下是對這12個類別及其涵蓋的具體領域的說明。
1. 病原體:自然史、傳播和診斷:
開發診斷工具,瞭解病原體的形態、基因組學和基因分型,研究免疫力,使用疾病模型,以及評估病原體的環境穩定性。
2. 動物和環境研究及疾病媒介研究:
動物來源、傳播途徑、媒介生物學以及媒介控制策略。
3. 流行病學研究:
研究疾病傳播動態、易感性、控制措施的有效性,以及通過監測和報告進行疾病測繪。
4. 人類臨床特徵和管理:
疾病嚴重程度的預後因素、疾病發病機制、支持性護理和管理、長期健康後果,以及疾病管理的臨床試驗。
5. 感染預防和控制:
研究社區限制措施、屏障和個人防護裝備(PPE)、醫療機構中的感染控制,以及人 - 動物界面的措施。
6. 治療方法研究、開發和實施:
治療方法開發的臨床前研究、治療方法安全性和有效性的臨床試驗、預防性治療的開發、治療方法的物流和供應鏈管理、治療方法的臨床試驗設計,以及與治療給藥相關的不良事件研究。
7. 疫苗研究、開發和實施:
疫苗開發的臨床前研究、疫苗安全性和有效性的臨床試驗、疫苗的物流和分發策略、疫苗設計和接種、疫苗的臨床試驗設計、與免疫接種相關的不良事件研究,以及疫苗誘導免疫的特徵描述。
8. 為倫理問題提供信息的研究:
研究設計中的倫理考慮、公共衛生措施中的倫理問題、倫理臨床決策、倫理資源分配、倫理治理,以及健康社會決定因素中的倫理考慮。
9. 公共衛生、疾病控制和社區恢復力政策:
公共衛生干預措施的方法、社區參與、溝通和信息疫情管理、疫苗/治療猶豫,以及政策研究和干預措施。
10. 疾病、應對和控制措施的二次影響:
間接健康影響、社會影響、經濟影響,以及其他二次影響,如環境影響、糧食安全和基礎設施。
11. 衛生系統研究:
衛生服務提供、衛生籌資、獲得藥品和技術的途徑、衛生信息系統、衛生領導和治理,以及衛生人力管理。
12. 能力建設:
個人能力建設、機構能力加強、系統/環境組成部分,以及各級能力建設的跨領域活動。"""
prompt = "根據研究分類指南,使用1到12的類別將以下項目分類到適當的主要研究優先級中。"
prompt += f"\n\n{categories.strip()}\n\n項目信息:\n\n"
prompt += f"### 標題:\n'''\n{title.strip()}\n'''\n\n### 摘要:\n'''\n{abstract.strip()}\n'''\n\n"
prompt += "根據這些信息,確定該項目相關的研究類別。為您的選擇提供清晰的解釋。請按照以下格式分段回覆:"
prompt += "\n\n### 解釋: ...\n\n### 類別: ..."
return prompt
title = "靈長類免疫缺陷病毒的中和作用"
abstract = "在COVID - 19大流行緊急情況下,我們將重新利用項目團隊在HIV研究中核心的現有檢測方法、技術和專業知識,包括病毒學、結構生物學、疫苗開發和蛋白質生產技能,來研究SARS - CoV - 2。這些交互式研究工作將借鑑我們已有的方法,應該能夠有效利用我們現有的美國國立衛生研究院(NIH)資助資源。我們注意到,在所有三個執行地點,對我們最初與HIV - 1疫苗研發相關目標的投入仍存在機構限制。這些目標將保持不變,但在我們開展新的SARS - CoV - 2項目期間,投入的精力將減少,因為由於COVID - 19大流行,這些新項目的機構限制較少。"
input_prompt = construct_input_prompt(title, abstract)
加載模型
model_id = "nlpie/ppace-v1.0"
tokenizer = ts.AutoTokenizer.from_pretrained(model_id)
tokenizer.padding_side = 'right'
tokenizer.pad_token = tokenizer.eos_token
tokenizer.add_eos_token = True
tokenizer.bos_token, tokenizer.eos_token
model = ts.AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
attn_implementation="flash_attention_2",
torch_dtype=torch.bfloat16)
推理
def generateOutput(input):
inputs = tokenizer(
[
tokenizer.decode(tokenizer.apply_chat_template([{"content": input, "role": "user"}]))
], return_tensors = "pt").to("cuda")
output = model.generate(**inputs, max_new_tokens = 512, num_beams=4, eos_token_id=tokenizer("<|eot_id|>", add_special_tokens=False)["input_ids"][0])
return tokenizer.decode(output[0])
output = generateOutput(input_prompt)
完整代碼
def construct_input_prompt(title, abstract):
categories = """我們有一個生物醫學研究領域的項目,希望根據其相關的研究優先級對其進行分類。我們有12種可能的研究優先級,一個項目可以映射到其中一個或多個優先級。以下是對這12個類別及其涵蓋的具體領域的說明。
1. 病原體:自然史、傳播和診斷:
開發診斷工具,瞭解病原體的形態、基因組學和基因分型,研究免疫力,使用疾病模型,以及評估病原體的環境穩定性。
2. 動物和環境研究及疾病媒介研究:
動物來源、傳播途徑、媒介生物學以及媒介控制策略。
3. 流行病學研究:
研究疾病傳播動態、易感性、控制措施的有效性,以及通過監測和報告進行疾病測繪。
4. 人類臨床特徵和管理:
疾病嚴重程度的預後因素、疾病發病機制、支持性護理和管理、長期健康後果,以及疾病管理的臨床試驗。
5. 感染預防和控制:
研究社區限制措施、屏障和個人防護裝備(PPE)、醫療機構中的感染控制,以及人 - 動物界面的措施。
6. 治療方法研究、開發和實施:
治療方法開發的臨床前研究、治療方法安全性和有效性的臨床試驗、預防性治療的開發、治療方法的物流和供應鏈管理、治療方法的臨床試驗設計,以及與治療給藥相關的不良事件研究。
7. 疫苗研究、開發和實施:
疫苗開發的臨床前研究、疫苗安全性和有效性的臨床試驗、疫苗的物流和分發策略、疫苗設計和接種、疫苗的臨床試驗設計、與免疫接種相關的不良事件研究,以及疫苗誘導免疫的特徵描述。
8. 為倫理問題提供信息的研究:
研究設計中的倫理考慮、公共衛生措施中的倫理問題、倫理臨床決策、倫理資源分配、倫理治理,以及健康社會決定因素中的倫理考慮。
9. 公共衛生、疾病控制和社區恢復力政策:
公共衛生干預措施的方法、社區參與、溝通和信息疫情管理、疫苗/治療猶豫,以及政策研究和干預措施。
10. 疾病、應對和控制措施的二次影響:
間接健康影響、社會影響、經濟影響,以及其他二次影響,如環境影響、糧食安全和基礎設施。
11. 衛生系統研究:
衛生服務提供、衛生籌資、獲得藥品和技術的途徑、衛生信息系統、衛生領導和治理,以及衛生人力管理。
12. 能力建設:
個人能力建設、機構能力加強、系統/環境組成部分,以及各級能力建設的跨領域活動。"""
prompt = "根據研究分類指南,使用1到12的類別將以下項目分類到適當的主要研究優先級中。"
prompt += f"\n\n{categories.strip()}\n\n項目信息:\n\n"
prompt += f"### 標題:\n'''\n{title.strip()}\n'''\n\n### 摘要:\n'''\n{abstract.strip()}\n'''\n\n"
prompt += "根據這些信息,確定該項目相關的研究類別。為您的選擇提供清晰的解釋。請按照以下格式分段回覆:"
prompt += "\n\n### 解釋: ...\n\n### 類別: ..."
return prompt
title = "靈長類免疫缺陷病毒的中和作用"
abstract = "在COVID - 19大流行緊急情況下,我們將重新利用項目團隊在HIV研究中核心的現有檢測方法、技術和專業知識,包括病毒學、結構生物學、疫苗開發和蛋白質生產技能,來研究SARS - CoV - 2。這些交互式研究工作將借鑑我們已有的方法,應該能夠有效利用我們現有的美國國立衛生研究院(NIH)資助資源。我們注意到,在所有三個執行地點,對我們最初與HIV - 1疫苗研發相關目標的投入仍存在機構限制。這些目標將保持不變,但在我們開展新的SARS - CoV - 2項目期間,投入的精力將減少,因為由於COVID - 19大流行,這些新項目的機構限制較少。"
input_prompt = construct_input_prompt(title, abstract)
model_id = "nlpie/ppace-v1.0"
tokenizer = ts.AutoTokenizer.from_pretrained(model_id)
tokenizer.padding_side = 'right'
tokenizer.pad_token = tokenizer.eos_token
tokenizer.add_eos_token = True
tokenizer.bos_token, tokenizer.eos_token
model = ts.AutoModelForCausalLM.from_pretrained(
model_id,
device_map="auto",
attn_implementation="flash_attention_2",
torch_dtype=torch.bfloat16)
def generateOutput(input):
inputs = tokenizer(
[
tokenizer.decode(tokenizer.apply_chat_template([{"content": input, "role": "user"}]))
], return_tensors = "pt").to("cuda")
output = model.generate(**inputs, max_new_tokens = 512, num_beams=4, eos_token_id=tokenizer("<|eot_id|>", add_special_tokens=False)["input_ids"][0])
return tokenizer.decode(output[0])
output = generateOutput(input_prompt)
print(output)
🔧 技術細節
PPACE使用低秩自適應(LoRA)進行微調,以確保在保持高性能的同時實現高效訓練。微調過程包括在一個包含5142個項目的數據集上對模型進行4個週期的訓練,使用8塊A100 GPU,每塊GPU的批量大小為1,並進行4次梯度累積步驟。
超參數
超參數 | 值 |
---|---|
總批量大小 | 8 |
梯度累積步驟 | 4 |
學習率 | 2e - 4 |
學習率調度器 | 線性 |
週期數 | 2 |
LoRA秩 | 128 |
LoRA α | 256 |
LoRA丟棄率 | 0.05 |
📄 許可證
本項目採用MIT許可證。
Phi 2 GGUF
其他
Phi-2是微軟開發的一個小型但強大的語言模型,具有27億參數,專注於高效推理和高質量文本生成。
大型語言模型 支持多種語言
P
TheBloke
41.5M
205
Roberta Large
MIT
基於掩碼語言建模目標預訓練的大型英語語言模型,採用改進的BERT訓練方法
大型語言模型 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基礎模型的蒸餾版本,在保持相近性能的同時更輕量高效,適用於序列分類、標記分類等自然語言處理任務。
大型語言模型 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一個多語言大語言模型,針對多語言對話用例進行了優化,在常見的行業基準測試中表現優異。
大型語言模型 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基於100種語言的2.5TB過濾CommonCrawl數據預訓練的多語言模型,採用掩碼語言建模目標進行訓練。
大型語言模型 支持多種語言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基於Transformer架構的英語預訓練模型,通過掩碼語言建模目標在海量文本上訓練,支持文本特徵提取和下游任務微調
大型語言模型 英語
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI發佈的開放預訓練Transformer語言模型套件,參數量從1.25億到1750億,旨在對標GPT-3系列性能,同時促進大規模語言模型的開放研究。
大型語言模型 英語
O
facebook
6.3M
198
1
基於transformers庫的預訓練模型,適用於多種NLP任務
大型語言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多語言大語言模型系列,包含8B、70B和405B參數規模,支持8種語言和代碼生成,優化了多語言對話場景。
大型語言模型
Transformers 支持多種語言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基礎版是由Google開發的文本到文本轉換Transformer模型,參數規模2.2億,支持多語言NLP任務。
大型語言模型 支持多種語言
T
google-t5
5.4M
702
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98