本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對醫療保健和生命科學使用案例使用大型語言模型
這說明如何將大型語言模型 LLMs) 用於醫療保健和生命科學應用程式。有些使用案例需要使用大型語言模型來產生式 AI 功能。即使是state-of-the-art LLMs 也有優點和限制,本節中的建議旨在協助您實現目標結果。
您可以使用決策路徑來判斷適合您使用案例的適當 LLM 解決方案,並考量領域知識和可用訓練資料等因素。此外,本節討論熱門的預先訓練醫療 LLMs以及其選擇和使用的最佳實務。它還討論了複雜、高效能解決方案和更簡單、成本更低方法之間的權衡。
LLM 的使用案例
Amazon Comprehend Medical 可以執行特定的 NLP 任務。如需詳細資訊,請參閱Amazon Comprehend Medical 的使用案例。
進階醫療保健和生命科學使用案例可能需要 LLM 的邏輯和生成式 AI 功能,例如:
-
分類自訂醫療實體或文字類別
-
回答臨床問題
-
摘要醫療報告
-
從醫療資訊產生和偵測洞見
自訂方法
請務必了解 LLMs實作方式。LLMs通常使用數十億個參數進行訓練,包括來自許多網域的訓練資料。此訓練可讓 LLM 處理最廣義的任務。不過,當需要特定領域的知識時,通常會出現挑戰。醫療保健和生命科學領域知識的範例包括診所代碼、醫療術語,以及產生準確答案所需的健康資訊。因此,對於這些使用案例,以原狀使用 LLM (不補充網域知識的零鏡頭提示) 可能會導致結果不準確。您可以使用兩種方法來克服此挑戰:擷取增強生成和微調。
擷取增強生成
擷取增強產生 (RAG) 是一種生成式 AI 技術,其中 LLM 會在產生回應之前參考訓練資料來源以外的授權資料來源。RAG 系統可以從知識來源擷取醫學本質資訊 (例如國際疾病分類、國家藥物檔案和醫學主題標題)。這可為 LLM 提供額外的內容,以支援醫療 NLP 任務。
如 結合 Amazon Comprehend Medical 與大型語言模型章節所述,您可以使用 RAG 方法從 Amazon Comprehend Medical 擷取內容。其他常見的知識來源包括存放在資料庫服務中的醫療網域資料,例如 Amazon OpenSearch Service、Amazon Kendra 或 Amazon Aurora。從這些知識來源擷取資訊可能會影響擷取效能,尤其是使用向量資料庫的語意查詢。
儲存和擷取特定網域知識的另一個選項是在您的 RAG 工作流程中使用 Amazon Q Business。Amazon Q Business 可以為內部文件儲存庫或公開網站編製索引 (例如 CMS.gov
建置自訂 RAG 工作流程有多種方式。例如,有多種方法可以從知識來源擷取資料。為了簡化,我們建議使用向量資料庫的常見擷取方法,例如 Amazon OpenSearch Service,將知識儲存為內嵌。這需要您使用內嵌模型,例如句子轉換器,來產生查詢和向量資料庫中存放知識的內嵌。
如需全受管和自訂 RAG 方法的詳細資訊,請參閱 上的擷取增強生成選項和架構 AWS。
微調
微調現有模型需要採用 LLM,例如 Amazon Titan、Mistral 或 Llama 模型,然後根據自訂資料調整模型。微調有各種技術,其中大部分只涉及修改幾個參數,而不是修改模型中的所有參數。這稱為參數效率微調 (PEFT)。如需詳細資訊,請參閱 GitHub 上的 Hugging Face PEFT
以下是兩個常見的使用案例,您可以選擇微調醫療 NLP 任務的 LLM:
-
生成任務 – 以解碼器為基礎的模型會執行生成式 AI 任務。AI/ML 從業人員使用 Ground Truth 資料來微調現有的 LLM。例如,您可以使用公有醫療問題回答資料集 MedQuAD
來訓練 LLM。當您叫用對微調 LLM 的查詢時,您不需要 RAG 方法來提供 LLM 的其他內容。 -
內嵌 – 以編碼器為基礎的模型透過將文字轉換為數值向量來產生內嵌。這些編碼器型模型通常稱為內嵌模型。句子轉換器模型是針對句子最佳化的特定內嵌模型類型。目標是從輸入文字產生內嵌。然後,內嵌會用於語意分析或擷取任務。若要微調內嵌模型,您必須擁有可用作訓練資料的醫學知識,例如文件。這是以相似性或情緒為基礎的文字對完成,以微調句子轉換器模型。如需詳細資訊,請參閱在 Hugging Face 上使用句子轉換器 v3 訓練和微調內嵌模型
。
您可以使用 Amazon SageMaker Ground Truth 來建置高品質、已標記的訓練資料集。您可以使用 Ground Truth 的已標籤資料集輸出,來訓練您自己的模型。您也可以使用輸出做為 Amazon SageMaker AI 模型的訓練資料集。如需具名實體辨識、單一標籤文字分類和多標籤文字分類的詳細資訊,請參閱 Amazon SageMaker AI 文件中的使用 Ground Truth 文字標籤。
選擇 LLM
Amazon Bedrock 是評估高效能 LLMs的建議起點。如需詳細資訊,請參閱 Amazon Bedrock 中支援的基礎模型。您可以在 Amazon Bedrock 中使用模型評估任務,以比較多個輸出的輸出,然後選擇最適合您的使用案例的模型。如需詳細資訊,請參閱《Amazon Bedrock 文件》中的使用 Amazon Bedrock 評估選擇效能最佳的模型。
有些 LLMs對醫療網域資料的訓練有限。如果您的使用案例需要微調 Amazon Bedrock 不支援的 LLM 或 LLM,請考慮使用 Amazon SageMaker AI。在 SageMaker AI 中,您可以使用微調的 LLM 或選擇已針對醫療網域資料訓練的自訂 LLM。
下表列出已針對醫療網域資料進行訓練LLMs。
LLM | 任務 | 知識 | 架構 |
---|---|---|---|
BioBERT |
資訊擷取、文字分類和具名實體辨識 | 來自 PubMed 的摘要、來自 PubMedCentral 的全文文章,以及一般網域知識 | 編碼器 |
ClinicalBERT |
資訊擷取、文字分類和具名實體辨識 | 大型、多中心資料集,以及來自電子運作狀態記錄 (EHR) 系統超過 3,000,000 個病患記錄 | 編碼器 |
ClinicalGPT |
摘要、問答和文字產生 | 廣泛且多樣化的醫療資料集,包括醫療記錄、特定領域的知識和多回合對話諮詢 | 解碼器 |
GatorTron-OG |
摘要、問答、文字產生和資訊擷取 | 臨床備註和生物醫學文獻 | 編碼器 |
Med-BERT |
資訊擷取、文字分類和具名實體辨識 | 大型醫療文字資料集、臨床筆記、研究論文和醫療保健相關文件 | 編碼器 |
Med-PaLM |
醫學用途的問答 | 醫療和生物醫學文字的資料集 | 解碼器 |
medAlpaca |
問答和醫療對話任務 | 各種醫療文字,包括醫療閃存卡、Wiki 和對話資料集等資源 | 解碼器 |
BiomedBERT |
資訊擷取、文字分類和具名實體辨識 | 來自 PubMed 的獨家摘要和來自 PubMedCentral 的全文文章 | 編碼器 |
BioMedLM |
摘要、問答和文字產生 | 來自 PubMed 知識來源的生物醫學文獻 | 解碼器 |
以下是使用預先訓練醫療 LLMs最佳實務:
-
了解訓練資料及其與醫療 NLP 任務的相關性。
-
識別 LLM 架構及其用途。編碼器適用於內嵌和 NLP 任務。解碼器用於產生任務。
-
評估託管預先訓練醫療 LLM 的基礎設施、效能和成本需求。
-
如果需要微調,請確保訓練資料的正確基本真相或知識。請確定您遮罩或修改任何個人身分識別資訊 (PII) 或受保護醫療資訊 (PHI)。
在知識或預期使用案例方面,實際醫療 NLP 任務可能與預先訓練LLMs 不同。如果特定網域的 LLM 不符合您的評估基準,您可以使用自己的資料集微調 LLM,也可以訓練新的基礎模型。訓練新的基礎模型是遠大且通常昂貴的任務。對於大多數使用案例,我們建議微調現有模型。
當您使用或微調預先訓練的醫療 LLM 時,請務必解決基礎設施、安全和護欄的問題。
基礎設施
相較於使用 Amazon Bedrock 進行隨需或批次推論,託管預先訓練的醫療 LLMs(通常來自 Hugging Face) 需要大量資源。若要託管預先訓練的醫療 LLMs,通常會使用在具有一或多個 GPUs 的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上執行的 Amazon SageMaker AI 映像,例如用於加速運算的 ml.g5 執行個體或 ml.inf2 執行個體 AWS Inferentia。Amazon EC2 這是因為 LLMs會耗用大量記憶體和磁碟空間。
安全與護欄
根據您的業務合規要求,請考慮使用 Amazon Comprehend 和 Amazon Comprehend Medical 來遮罩或修改訓練資料中的個人身分識別資訊 (PII) 和受保護醫療資訊 (PHI)。這有助於防止 LLM 在產生回應時使用機密資料。
我們建議您考慮並評估生成式 AI 應用程式中的偏差、公平性和幻覺。無論您是使用預先存在的 LLM 還是微調 LLM,請實作護欄以防止有害的回應。護欄是您根據生成式 AI 應用程式需求和負責任的 AI 政策自訂的保護措施。例如,您可以使用 Amazon Bedrock Guardrails。