Me LLaMA ขอแนะนำชุดโมเดลภาษาขนาดใหญ่ทางการแพทย์แบบโอเพ่นซอร์ส (LLM) ที่ล้ำสมัย ซึ่งรวมถึงโมเดลพื้นฐาน Me LLaMA 13B/70B และเวอร์ชันปรับปรุงการแชท Me LLaMA 13B-chat/70B-chat ได้รับการพัฒนาผ่านนวัตกรรมการฝึกอบรมล่วงหน้าอย่างต่อเนื่องและการปรับแต่งคำสั่งของ LLaMA2 โมเดลเหล่านี้ใช้ประโยชน์จากคลังข้อมูลทางการแพทย์อันกว้างใหญ่ คลังข้อมูลนี้ประกอบด้วยเอกสารและบทคัดย่อของ PubMed ที่คัดสรร ชุดข้อมูลใหม่ของแนวปฏิบัติทางการแพทย์ที่ได้รับการยอมรับในระดับสากล และคลังข้อมูลโดเมนทั่วไป ซึ่งทำให้ Me LLaMA อยู่ในแถวหน้าของการวิจัย AI ทางการแพทย์
ด้วยความก้าวหน้าเฉพาะโดเมน Me LLaMA ได้สร้างมาตรฐานใหม่ในงานการให้เหตุผลทางการแพทย์ที่หลากหลาย สิ่งนี้ทำให้ Me LLaMA เป็นทรัพย์สินที่สำคัญสำหรับการใช้งานและการวิจัย NLP ทางการแพทย์
รหัส ชุดข้อมูล และโมเดลมีให้ใช้งานที่ไม่ใช่เชิงพาณิชย์
ซอฟต์แวร์และโมเดลนี้จัดทำขึ้น "ตามสภาพ" โดยไม่มีการรับประกันใดๆ ทั้งโดยชัดแจ้งหรือโดยนัย รวมถึงแต่ไม่จำกัดเฉพาะการรับประกันความสามารถเชิงพาณิชย์ ความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ และการไม่ละเมิดลิขสิทธิ์ ไม่ว่าในกรณีใด ผู้เขียน ผู้มีส่วนร่วม หรือผู้ถือลิขสิทธิ์จะไม่รับผิดชอบต่อการเรียกร้อง ความเสียหาย หรือความรับผิดอื่นใด ไม่ว่าจะเป็นการกระทำตามสัญญา การละเมิด หรืออย่างอื่น ที่เกิดขึ้นจาก ออกจาก หรือเกี่ยวข้องกับซอฟต์แวร์หรือ การใช้งานหรือการติดต่ออื่น ๆ ในซอฟต์แวร์
แบบจำลอง Me LLaMA เป็นเครื่องมือวิจัยที่มีจุดประสงค์เพื่อใช้ในด้านภาษาศาสตร์เชิงคำนวณและการแพทย์ ไม่ได้มีจุดมุ่งหมายเพื่อใช้เป็นเครื่องมือในการวินิจฉัยหรือสำหรับการตัดสินใจทางคลินิกโดยปราศจากการตรวจสอบและการอนุมัติตามกฎระเบียบที่เหมาะสม ผู้ใช้โมเดล Me LLaMA ควรตระหนักถึงความรับผิดชอบของตนในการรับรองการใช้เทคโนโลยีนี้อย่างมีจริยธรรมและเหมาะสม รวมถึงการปฏิบัติตามข้อกำหนดทางกฎหมายและข้อบังคับที่เกี่ยวข้อง
เนื้อหาและข้อมูลที่มาพร้อมกับแบบจำลองไม่ได้แทนที่ความเชี่ยวชาญของผู้เชี่ยวชาญด้านสุขภาพ ผู้เชี่ยวชาญด้านการดูแลสุขภาพควรใช้วิจารณญาณอย่างมืออาชีพในการประเมินผลลัพธ์ของแบบจำลอง Me LLaMA ผู้ป่วยไม่ควรใช้เอาต์พุตแบบจำลองเพื่อการวินิจฉัยตนเองหรือการรักษาโดยไม่ปรึกษาผู้ให้บริการด้านการดูแลสุขภาพที่มีคุณสมบัติเหมาะสม ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เพื่อการตัดสินใจทางคลินิก ไม่ได้มีจุดมุ่งหมายเพื่อใช้ในการวินิจฉัยหรือการรักษาผู้ป่วย และอาจไม่มีประโยชน์หรือเหมาะสมสำหรับวัตถุประสงค์ทางคลินิกใดๆ
นอกจากนี้ ผู้ใช้ไม่ได้รับอนุญาตอย่างชัดแจ้งจากการแบ่งปันหรือแจกจ่ายผลลัพธ์ใด ๆ ที่สร้างจากโมเดล Me LLaMA โดยไม่ได้รับอนุญาตอย่างชัดแจ้งจากผู้เขียน ซึ่งรวมถึงแต่ไม่จำกัดเพียงการเผยแพร่ การแจกจ่าย หรือการทำให้ผลผลิตที่สร้างขึ้นพร้อมใช้งานแก่บุคคลที่สามในรูปแบบใดๆ ไม่ว่าจะเพื่อวัตถุประสงค์ทางการค้าหรือไม่ก็ตาม ข้อจำกัดนี้จัดทำขึ้นเพื่อให้แน่ใจว่ามีการใช้เทคโนโลยีอย่างมีความรับผิดชอบ และเพื่อเคารพสิทธิ์ในทรัพย์สินทางปัญญาที่เกี่ยวข้องกับโมเดลและผลลัพธ์ของโมเดล การละเมิดข้อกำหนดเหล่านี้อาจส่งผลให้มีการดำเนินการทางกฎหมายและเพิกถอนการเข้าถึงโมเดล
การพัฒนา Me LLaMA เกี่ยวข้องกับกระบวนการที่พิถีพิถันในการฝึกอบรมล่วงหน้าอย่างต่อเนื่องและการปรับแต่งคำสั่งของโมเดล LLaMA2 โดยผสมผสานโทเค็น 129B ที่ครอบคลุม และตัวอย่างการปรับแต่งคำสั่ง 214K จากโดเมนทั่วไป ชีวการแพทย์ และคลินิกที่หลากหลาย วิธีการที่ครอบคลุมนี้มีจุดมุ่งหมายเพื่อสร้างสมดุลระหว่างความรู้เฉพาะโดเมนกับความเข้าใจในบริบททั่วไปที่กว้างขึ้น ซึ่งจะช่วยบรรเทาปัญหาการลืมอันเป็นหายนะได้อย่างมีประสิทธิภาพ
ชุดข้อมูลก่อนการฝึกอบรมต่อเนื่องแบบผสมผสาน ซึ่งประกอบด้วยโทเค็น 129B รวมถึงวรรณกรรมทางชีวการแพทย์ บันทึกทางคลินิก และข้อมูลโดเมนทั่วไปที่หลากหลาย ชุดข้อมูลนี้ได้รับการออกแบบมาเพื่อให้แน่ใจว่าความรู้เชิงลึกด้านการแพทย์ในขณะที่ผสมผสานความรู้ทั่วไปในวงกว้างเข้าด้วยกัน องค์ประกอบของชุดข้อมูลประกอบด้วย:
การฝึกอบรมล่วงหน้าใช้อัตราส่วน 15:1:4 สำหรับข้อมูลชีวการแพทย์ คลินิก ต่อข้อมูลทั่วไป โดยมีเป้าหมายเพื่อรักษาจุดมุ่งเน้นทางการแพทย์ที่เข้มแข็ง ขณะเดียวกันก็ขยายความเข้าใจของแบบจำลองด้วย
Me LLaMA รุ่น 13B และ 70B ได้รับการพัฒนาผ่านการฝึกอบรมล่วงหน้าและการปรับแต่งคำแนะนำอย่างต่อเนื่องบนซูเปอร์คอมพิวเตอร์ HiPerGator ของมหาวิทยาลัยฟลอริดา ซึ่งมาพร้อมกับ GPU 160 A100 80GB กระบวนการนี้มีจุดมุ่งหมายเพื่อปรับโมเดล LLaMA2 เพื่อเพิ่มความเข้าใจและการสร้างข้อความที่เกี่ยวข้องกับการแพทย์ แผนการฝึกอบรมประกอบด้วย:
หลังจากช่วงก่อนการฝึกอบรม โมเดล Me LLaMA ได้รับการปรับแต่งคำสั่งโดยใช้ GPU H100 8 ตัวสำหรับ 3 ยุค โดยใช้อัตราการเรียนรู้ 1e-5 ระยะนี้มุ่งเน้นไปที่การปรับปรุงความสามารถของโมเดลในการทำตามคำแนะนำและสรุปงานทางการแพทย์ โดยใช้การปรับแต่งอย่างละเอียดตามพารามิเตอร์ LoRA เพื่อประสิทธิภาพที่เพิ่มขึ้น
ขั้นตอนการฝึกอบรมโดยละเอียดนี้ตอกย้ำแนวทางที่ครอบคลุมในการพัฒนาแบบจำลอง Me LLaMA โดยใช้ประโยชน์จากทรัพยากรและวิธีการคำนวณขั้นสูง เพื่อให้บรรลุประสิทธิภาพที่ล้ำสมัยในด้านการแพทย์
หากต้องการใช้โมเดล Me LLaMA ภายในเครื่อง ให้เริ่มต้นด้วยการรับไฟล์โมเดลที่จำเป็นจากโปรเจ็กต์ PhysioNet ของเรา
ขั้นแรก ตรวจสอบให้แน่ใจว่าทั้งไลบรารี torch
และ transformers
ได้รับการติดตั้งในสภาพแวดล้อม Python ของคุณ ไลบรารีเหล่านี้จำเป็นสำหรับการทำงานกับโมเดล
สำหรับการสร้างข้อความพื้นฐาน คุณจะต้องใช้ไปป์ไลน์จากไลบรารี transformers
วิธีการนี้ทำให้กระบวนการสร้างข้อความง่ายขึ้น ต่อไปนี้เป็นวิธีการตั้งค่า:
from transformers import pipeline
# Ensure you replace "FOLDER_PATH_TO_MODEL" with the actual path to your model files.
pipe = pipeline ( "text-generation" , model = "FOLDER_PATH_TO_MODEL" )
# Example usage for generating text.
generated_text = pipe ( "The medical condition is characterized by" , num_return_sequences = 1 )
print ( generated_text )
ข้อมูลโค้ดนี้สาธิตวิธีสร้างข้อความตามข้อความแจ้ง อาร์กิวเมนต์ num_return_sequences=1
ระบุว่าคุณต้องการสร้างลำดับข้อความหนึ่งลำดับ
สำหรับงานที่ต้องการการปรับแต่งเพิ่มเติมหรือความสามารถในการปรับแต่งเพิ่มเติม คุณอาจต้องการโหลดโทเค็นและโมเดลโดยตรง วิธีการนี้ช่วยให้คุณควบคุมกระบวนการสร้างข้อความได้มากขึ้น ทำให้คุณสามารถปรับพารามิเตอร์ เช่น ความยาวสูงสุดของข้อความที่สร้างขึ้นได้ นี่คือตัวอย่างโดยละเอียดเพิ่มเติม:
from transformers import AutoTokenizer , AutoModelForCausalLM
# Load the tokenizer and model from your local model directory.
# Don't forget to replace "FOLDER_PATH_TO_MODEL" with the actual path to your model files.
tokenizer = AutoTokenizer . from_pretrained ( "FOLDER_PATH_TO_MODEL" )
model = AutoModelForCausalLM . from_pretrained ( "FOLDER_PATH_TO_MODEL" )
# Tokenizing input text for the model.
input_ids = tokenizer ( "[INPUT SENTENCE]" , return_tensors = "pt" ). input_ids
# Generating output based on the input_ids.
# You can adjust the max_length parameter as necessary for your use case.
generated_tokens = model . generate ( input_ids , max_length = 50 )
# Decoding the generated tokens to produce readable text.
generated_text = tokenizer . decode ( generated_tokens [ 0 ], skip_special_tokens = True )
print ( generated_text )
การตั้งค่านี้ช่วยให้สามารถโต้ตอบกับโมเดลได้ละเอียดยิ่งขึ้น เช่น การปรับแต่งชุดข้อมูลเฉพาะหรือการปรับเปลี่ยนพารามิเตอร์การสร้างสำหรับเอาต์พุตที่แตกต่างกัน อย่าลืมแทนที่ "[INPUT SENTENCE]" ด้วยประโยคหรือข้อความแจ้งที่คุณต้องการให้โมเดลขยายหรือตอบสนอง
git clone [email protected]:BIDS-Xu-Lab/Me-LLaMA.git --recursive
cd Me-LLaMA
pip install poetry
poetry install
cd src/medical-evaluation
poetry run pip install -e .[multilingual]
poetry run python -m spacy download en_core_web_lg
ก่อนการประเมิน กรุณาดาวน์โหลดจุดตรวจสอบ BART ไปที่ src/metrics/BARTScore/bart_score.pth
สำหรับการประเมินอัตโนมัติ โปรดปฏิบัติตามคำแนะนำเหล่านี้:
หม้อแปลงหน้ากอด
หากต้องการประเมินโมเดลที่โฮสต์บน HuggingFace Hub (เช่น llama2-7b-hf) ให้เปลี่ยนคำสั่งนี้ใน scripts/run_evaluation.sh
:
poetry run python src/eval.py
--model " hf-causal-vllm "
--model_args " use_accelerate=True,pretrained=meta-llama/Llama-2-7b-chat-hf,use_fast=False "
--tasks " PUBMEDQA,MedQA,MedMCQA,EmrQA,i2b2,DDI2013,hoc,MTSample,PUBMEDSUM,MimicSum,BioNLI,MedNLI "
จากนั้นรันคำสั่ง bash:
bash scripts/run_evaluation.sh
รายละเอียดเพิ่มเติมสามารถพบได้ในเอกสารประกอบ lm_eval
ทำตามขั้นตอนเดียวกันกับโมเดลโอเพ่นซอร์ส ก่อนอื่นให้เปลี่ยนไฟล์ bash ด้วย:
export OPENAI_API_SECRET_KEY=YOUR_KEY_HERE
poetry run python src/eval.py
--model gpt-4
--tasks " PUBMEDQA,MedQA,MedMCQA,EmrQA,i2b2,DDI2013,hoc,MTSample,PUBMEDSUM,MimicSum,BioNLI,MedNLI "
โปรดทราบว่าสำหรับงานต่างๆ เช่น NER การประเมินอัตโนมัติจะขึ้นอยู่กับรูปแบบเฉพาะ การดำเนินการนี้อาจล้มเหลวในการดึงข้อมูลที่เกี่ยวข้องในการตั้งค่า Zero-shot ส่งผลให้ประสิทธิภาพค่อนข้างต่ำเมื่อเทียบกับผลลัพธ์ที่มีคำอธิบายประกอบโดยมนุษย์ก่อนหน้านี้
@misc{xie2024llama, title={Me LLaMA: Foundation Large Language Models for Medical Applications}, author={Qianqian Xie และ Qingyu Chen และ Aokun Chen และ Cheng Peng และ Yan Hu และ Fongci Lin และ Xueqing Peng และ Jimin Huang และ Jeffrey Zhang และ Vipina Keloth และ Huan He และ Lucila Ohno-Machido และ Yonghui Wu และ Hua Xu และ Jiang Bian} , ปี={2024}, eprint={2402.12749}, archivePrefix={arXiv}, primaryClass={cs.CL} -