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