返回顶部
l

low-resource-ai-researcher

Train high-performance medical LLMs on consumer GPUs using parameter-efficient

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
65
下载量
0
收藏
概述
安装方式
版本历史

low-resource-ai-researcher

# Skill: Low-Resource AI Researcher **ID:** 215 **Category:** AI/ML Research **Language:** Python **Framework:** PyTorch + PEFT (LoRA/QLoRA) + Transformers ## Overview Based on Parameter-Efficient Fine-Tuning (PEFT) technology, trains high-performance medical domain large language models on consumer-grade GPUs or single A100. Supports advanced fine-tuning methods such as LoRA, QLoRA, optimized for medical text understanding and generation tasks. ## Features - 🚀 **Parameter-Efficient Fine-Tuning**: LoRA, QLoRA, DoRA support - 🏥 **Medical Domain Optimized**: Pre-configured for medical QA, diagnosis, clinical notes - 💻 **Low-Resource Ready**: Optimized for consumer GPUs (RTX 3090/4090) and single A100 - 📊 **Quantization**: 4-bit/8-bit quantization with bitsandbytes - 🔄 **Multi-Task**: Supports SFT, DPO, and medical instruction tuning - 📝 **Medical Datasets**: Built-in support for PubMedQA, MedQA, MIMIC-III ## Installation ```bash # Core dependencies pip install torch transformers datasets accelerate peft bitsandbytes # Optional for training optimization pip install flash-attn --no-build-isolation pip install wandb tensorboard # Medical NLP utilities pip install scispacy scikit-learn ``` ## Quick Start ```python from skills.low_resource_ai_researcher.scripts.main import MedicalPEFTTrainer # Initialize trainer trainer = MedicalPEFTTrainer( model_name="meta-llama/Llama-2-7b-hf", task="medical_qa" ) # Train with LoRA trainer.train( output_dir="./medical_lora_model", num_epochs=3, batch_size=4, use_qlora=True # 4-bit quantization ) ``` ## Configuration ### Hardware Profiles | Profile | GPU Memory | Quantization | Max Model Size | Batch Size | |---------|-----------|--------------|----------------|------------| | consumer-24g | 24GB (RTX 3090/4090) | QLoRA 4-bit | 70B | 1-2 | | a100-40g | 40GB (A100) | LoRA 8-bit | 70B | 4-8 | | a100-80g | 80GB (A100) | LoRA 16-bit | 70B | 8-16 | | multi-gpu | 2x A100 | LoRA 16-bit | 70B+ | 16+ | ### LoRA Config ```yaml lora: r: 64 # LoRA rank lora_alpha: 128 # Scaling factor target_modules: # Modules to apply LoRA - q_proj - v_proj - k_proj - o_proj - gate_proj - up_proj - down_proj lora_dropout: 0.05 bias: "none" task_type: "CAUSAL_LM" ``` ## CLI Usage ```bash # Basic training python scripts/main.py \ --model_name_or_path meta-llama/Llama-2-7b-hf \ --dataset medical_qa \ --output_dir ./output \ --use_qlora \ --per_device_train_batch_size 4 # With custom config python scripts/main.py --config configs/medical_qlora.yaml # Resume training python scripts/main.py --resume_from_checkpoint ./output/checkpoint-1000 ``` ## API Reference ### MedicalPEFTTrainer ```python trainer = MedicalPEFTTrainer( model_name: str, # Base model name/path task: str, # Task type: medical_qa, diagnosis, clinical_note lora_r: int = 64, # LoRA rank lora_alpha: int = 128, # LoRA alpha use_qlora: bool = False, # Use 4-bit quantization target_modules: List[str] = None, device_map: str = "auto", trust_remote_code: bool = True ) ``` ### Methods | Method | Description | |--------|-------------| | `train()` | Start fine-tuning with configured parameters | | `evaluate()` | Evaluate on medical benchmark datasets | | `merge_and_save()` | Merge LoRA weights and save full model | | `load_model()` | Load a trained model for inference | | `generate()` | Generate medical text/responses | ## Supported Models - **LLaMA 2/3** (7B, 13B, 70B) - **Mistral** (7B, 8x7B) - **Yi** (6B, 34B) - **Qwen** (7B, 14B, 72B) - **Baichuan** (7B, 13B) - **ChatGLM** (6B) ## Medical Datasets | Dataset | Description | Size | |---------|-------------|------| | PubMedQA | Biomedical QA | 1k QA pairs | | MedQA | USMLE-style questions | 61k | | MedMCQA | Medical entrance exam QA | 194k | | MIMIC-III | Clinical notes | De-identified | | CMeEE | Chinese medical NER | 15k | | Huatuo-26M | Chinese medical corpus | 26M samples | ## Performance Benchmarks | Model | Method | GPU | Training Time | MedQA Acc | |-------|--------|-----|---------------|-----------| | LLaMA-2-7B | LoRA | A100-40G | 2h | 58.2% | | LLaMA-2-7B | QLoRA | RTX 4090 | 3h | 57.8% | | LLaMA-2-13B | QLoRA | A100-40G | 4h | 62.5% | | Mistral-7B | LoRA | A100-40G | 2.5h | 61.3% | ## Best Practices 1. **Gradient Accumulation**: Use for effective larger batch sizes 2. **Learning Rate**: Start with 2e-4 for LoRA, 1e-4 for full fine-tuning 3. **Warmup Steps**: 100 steps for medical domain adaptation 4. **Max Length**: 2048-4096 for clinical notes, 512-1024 for QA 5. **Data Quality**: Filter out low-quality medical data carefully ## Troubleshooting ### Out of Memory ```python # Enable gradient checkpointing trainer.train(gradient_checkpointing=True) # Reduce sequence length trainer.train(max_seq_length=1024) # Use DeepSpeed ZeRO-3 for large models ``` ### Slow Training ```python # Enable Flash Attention trainer.train(use_flash_attention=True) # Use bf16 on Ampere GPUs trainer.train(bf16=True) ``` ## License This skill follows the license of the underlying models used. Medical applications require compliance with HIPAA/GDPR regulations. ## References 1. Hu et al. (2021) - LoRA: Low-Rank Adaptation of Large Language Models 2. Dettmers et al. (2023) - QLoRA: Efficient Finetuning of Quantized LLMs 3. Singhal et al. (2023) - Large Language Models Encode Clinical Knowledge ## Risk Assessment | Risk Indicator | Assessment | Level | |----------------|------------|-------| | Code Execution | Python/R scripts executed locally | Medium | | Network Access | No external API calls | Low | | File System Access | Read input files, write output files | Medium | | Instruction Tampering | Standard prompt guidelines | Low | | Data Exposure | Output files saved to workspace | Low | ## Security Checklist - [ ] No hardcoded credentials or API keys - [ ] No unauthorized file system access (../) - [ ] Output does not expose sensitive information - [ ] Prompt injection protections in place - [ ] Input file paths validated (no ../ traversal) - [ ] Output directory restricted to workspace - [ ] Script execution in sandboxed environment - [ ] Error messages sanitized (no stack traces exposed) - [ ] Dependencies audited ## Prerequisites ```bash # Python dependencies pip install -r requirements.txt ``` ## Evaluation Criteria ### Success Metrics - [ ] Successfully executes main functionality - [ ] Output meets quality standards - [ ] Handles edge cases gracefully - [ ] Performance is acceptable ### Test Cases 1. **Basic Functionality**: Standard input → Expected output 2. **Edge Case**: Invalid input → Graceful error handling 3. **Performance**: Large dataset → Acceptable processing time ## Lifecycle Status - **Current Stage**: Draft - **Next Review Date**: 2026-03-06 - **Known Issues**: None - **Planned Improvements**: - Performance optimization - Additional feature support

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 low-resource-ai-researcher-1776013515 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 low-resource-ai-researcher-1776013515 技能

通过命令行安装

skillhub install low-resource-ai-researcher-1776013515

下载 Zip 包

⬇ 下载 low-resource-ai-researcher v1.0.0

文件大小: 11.47 KB | 发布时间: 2026-4-13 10:54

v1.0.0 最新 2026-4-13 10:54
- Initial release of Low-Resource AI Researcher skill (v1.0.0)
- Enables training of high-performance medical large language models on consumer GPUs using parameter-efficient fine-tuning (LoRA, QLoRA)
- Supports popular medical datasets (PubMedQA, MedQA, MIMIC-III) and multiple LLM architectures (LLaMA, Mistral, Yi, Qwen, Baichuan, ChatGLM)
- Provides configurable hardware profiles, quantization options, and CLI/API usage for flexible training and evaluation
- Includes security, troubleshooting, and best practice guidelines for safe and efficient usage

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部