项目概述
OpenBioLLM-70B是一款先进的开源生物医学大型语言模型,由Saama AI实验室基于Llama 3技术精心开发并微调。此模型专为生物医学领域设计,利用尖端技术,在多种生物医学任务中实现了最先进的性能表现。
背景:
Saama AI实验室推出的OpenBioLLM-Llama3-70B和OpenBioLLM-Llama3-8B在Hugging Face榜单中刷新了医疗AI大模型的记录,位居榜首。此模型的生物医学领域测试性能超越了GPT-4、Gemini、Meditron-70B、Med-PaLM-2等行业领先模型,展示了其卓越的专业能力和广泛的应用前景。
主要功能:
-
🏥 医学专业化:OpenBioLLM-70B针对医疗和生命科学领域的特定语言和知识需求进行了定制,通过在广泛的高质量生物医学数据上进行精细微调,使其能够以领域特定的准确性和流畅性理解和生成文本。
-
🎓 卓越性能:OpenBioLLM-70B具备700亿参数,性能优于其他同规模的开源生物医学语言模型,并在生物医学基准测试中比GPT-4等大型专有及开源模型表现更佳。
-
🧠 先进的训练技术:此模型在Meta-Llama-3-70B-Instruct的基础上进一步构建,整合了DPO(直接偏好优化)数据集和定制的医学指导数据集。其训练过程包括了策略优化和精确微调,以适应生物医学应用的关键能力和偏好。
发布详情:
-
模型规模:700亿参数
-
量化:提供了优化的量化版本,以便于部署
-
语言:英语(NLP)
-
开发团队:Saama AI实验室的Ankit Pal(Aaditya Ura)领导开发
-
许可证:Meta-Llama许可证
-
基于模型:从Meta-Llama-3-70B-Instruct微调而来
OpenBioLLM-70B标志着在为生物医学社区民主化先进语言AI方面迈出了重要一步。通过利用Llama-3等领先开源项目的最先进架构和训练技术,我们创造了一个强大的工具,加速了在医疗保健和生命科学中的创新与发现。我们非常高兴能将OpenBioLLM-70B与全球的研究人员和开发者共享。
安装与配置
前提条件
- 需要Python环境,并安装transformers和torch库。
安装步骤
-
克隆仓库:
git clone https://github.com/aaditya/OpenBioLLM-Llama3-70B.git
-
安装依赖:
pip install -r requirements.txt
-
运行项目:
python run_model.py
配置说明
确保所有配置文件根据您的系统环境正确设置。
使用指南
使用Transformers库
在使用OpenBioLLM-70B时,请确保使用由Llama-3指令版本提供的确切聊天模板。若不按此模板使用,可能会导致模型性能下降。模型输出在少数情况下可能较为详细,建议将温度参数设置为0,以减少此类情况的发生。
示例代码
使用Transformers库来加载和运行OpenBioLLM-70B模型的示例:
import transformers
import torch
model_id = "aaditya/OpenBioLLM-Llama3-70B"
pipeline = transformers.pipeline(
"text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device="auto",)
messages = [
{"role": "system", "content": "You are an expert and experienced from the healthcare and biomedical domain with extensive medical knowledge and practical experience. Your name is OpenBioLLM, and you were developed by Saama AI Labs. who's willing to help answer the user's query with explanation. In your explanation, leverage your deep medical expertise such as relevant anatomical structures, physiological processes, diagnostic criteria, treatment guidelines, or other pertinent medical concepts. Use precise medical terminology while still aiming to make the explanation clear and accessible to a general audience."}, {"role": "user", "content": "How can i split a 3mg or 4mg waefin pill so i can get a 2.5mg pill?"},]
prompt = pipeline.tokenizer.apply_chat_template(
messages, tokenize=False,
add_generation_prompt=True
)
terminators = [
pipeline.tokenizer.eos_token_id, pipeline.tokenizer.convert_tokens_to_ids("")]
outputs = pipeline(
prompt, max_new_tokens=256, eos_token_id=terminators, do_sample=True, temperature=0.0, top_p=0.9,)
print(outputs[0]["generated_text"][len(prompt):])
训练过程和性能
OpenBioLLM-70B的训练采用了以下超参数:
-
学习率:0.0002
-
学习率调度器:余弦衰减
-
训练批次大小:12
-
评估批次大小:8
-
GPU类型:H100 80GB SXM5
-
设备数量:8
-
优化器:adamw_bnb_8bit
-
学习率预热步数:100
-
训练周期数:4
框架版本:
-
Transformers 4.39.3
-
Pytorch 2.1.2+cu121
-
Datasets 2.18.0
-
Tokenizers 0.15.1
基准测试结果
OpenBioLLM-70B在多个生物医学领域的基准测试中展示了卓越性能,与GPT-4、Gemini、Meditron-70B、Med-PaLM-1和Med-PaLM-2等较大模型相比,其在9个不同的生物医学数据集上取得了领先的成绩,平均得分为86.06%,尽管其参数数量显著较少。模型在领域特定任务,如Clinical KG、Medical Genetics和PubMedQA中的强劲表现,凸显了其在捕捉和应用生物医学知识方面的有效性。
🔥 详细医学科目精确度:OpenBioLLM-70B在以下领域显示了其优越的专业能力:
-
Clinical KG:对临床知识图谱的理解和生成能力突出。
-
Medical Genetics:在医学遗传学领域的应用表现优异,能够处理复杂的遗传信息。
-
PubMedQA:在解答基于PubMed数据库的问题上显示了高效的信息检索和回答能力。
此外,对于Med-PaLM-1和Med-PaLM-2的比较,由于这些模型官方论文中未提供零次射击(zero-shot)准确率,我们采用其五次射击(5-shot)准确率进行对比。所有其他结果均在零次射击设置下展示。
通过这些详尽的测试和比较,OpenBioLLM-70B证实了其在处理具体医学任务时的精确性和高效性,使其成为生物医学研究和应用中的有力工具。
应用案例与示例
Summarize Clinical Notes
OpenBioLLM-70B能够高效分析并总结复杂的临床笔记、电子健康记录(EHR)和出院摘要,提取关键信息并生成简洁、结构化的总结。
Answer Medical Questions
OpenBioLLM-70B能够回答广泛的医疗问题,展示其在医学知识问答方面的应用潜力。
Clinical Entity Recognition
OpenBioLLM-70B能够执行高级的临床实体识别,通过识别和提取未结构化临床文本中的关键医学概念(如疾病、症状、药物、程序和解剖结构),准确注释和分类临床实体。这种能力可以支持临床决策支持、药物监测和医学研究等多种下游应用。
Biomarkers Extraction
OpenBioLLM-70B可以从医学文献和临床记录中提取生物标记物,支持疾病诊断和治疗过程中的关键决策。
Classification
OpenBioLLM-70B可以执行多种生物医学分类任务,如疾病预测、情感分析和医学文档分类。
De-Identification
OpenBioLLM-70B能够检测并移除医疗记录中的个人身份信息(PII),确保患者隐私并符合HIPAA等数据保护法规的要求。
咨询须知
尽管OpenBioLLM-70B利用了高质量的数据源,但其输出可能仍含有不准确性、偏见或不对齐现象,若在未经进一步测试和微调的情况下依赖此模型进行医疗决策,可能存在风险。目前,该模型在随机对照试验或真实世界的医疗环境中的性能尚未经过严格评估。
因此,我们强烈建议目前不要将OpenBioLLM-70B用于任何直接的病人护理、临床决策支持或其他专业医疗目的。其使用应限于具备相关限制认识的合格个人的研究、开发和探索性应用。OpenBioLLM-70B仅作为研究工具,以协助医疗专业人士,并且绝不能视为取代合格医疗医生的专业判断和专长。
适当地适应和验证OpenBioLLM-70B针对特定医疗用例需要大量额外工作,可能包括:
-
在相关临床场景中进行彻底的测试和评估
-
与基于证据的指导方针和最佳实践的对齐
-
缓解潜在的偏见和故障模式
-
与人类监督和解释的整合
-
符合监管和伦理标准
在个人医疗需求上,始终应咨询合格的医疗服务提供者。
文档与资源
OpenBioLLM-Llama3有两个版本,分别是70B 和 8B。
OpenBioLLM-70B提供了SOTA性能,为同等规模模型设立了新的最先进水平
OpenBioLLM-8B模型甚至超越了GPT-3.5、Gemini和Meditron-70B。
-
70B:https://huggingface.co/aaditya/Llama3-OpenBioLLM-70B
-
8B:https://huggingface.co/aaditya/Llama3-OpenBioLLM-8B
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。