Spaces:
Running
Running
| title: Multi-Modal Knowledge Distillation | |
| emoji: 🧠 | |
| colorFrom: blue | |
| colorTo: purple | |
| sdk: docker | |
| app_file: app.py | |
| pinned: false | |
| license: mit | |
| short_description: Multi-Modal Knowledge Distillation for AI models | |
| tags: | |
| - machine-learning | |
| - knowledge-distillation | |
| - multi-modal | |
| - pytorch | |
| - transformers | |
| - computer-vision | |
| - nlp | |
| suggested_hardware: t4-small | |
| suggested_storage: medium | |
| # Multi-Modal Knowledge Distillation | |
| Create new AI models through knowledge distillation from multiple pre-trained models across different modalities (text, vision, audio, and multimodal). | |
| ## Features | |
| - **Multi-Modal Support**: Distill knowledge from text, vision, audio, and multimodal models | |
| - **Multiple Input Sources**: Upload local files, use Hugging Face repositories, or direct URLs | |
| - **Real-Time Monitoring**: Live progress tracking with WebSocket updates | |
| - **Flexible Configuration**: Customizable student model architecture and training parameters | |
| - **Production Ready**: Built with FastAPI, comprehensive error handling, and security measures | |
| - **Responsive UI**: Modern, mobile-friendly web interface | |
| - **Multiple Formats**: Support for PyTorch (.pt, .pth, .bin), Safetensors, and Hugging Face models | |
| ## 🆕 New Advanced Features | |
| ### 🔧 System Optimization | |
| - **Memory Management**: Advanced memory management for 16GB RAM systems | |
| - **CPU Optimization**: Optimized for CPU-only training environments | |
| - **Chunk Loading**: Progressive loading for large models | |
| - **Performance Monitoring**: Real-time system performance tracking | |
| ### 🔑 Token Management | |
| - **Secure Storage**: Encrypted storage of Hugging Face tokens | |
| - **Multiple Token Types**: Support for read, write, and fine-grained tokens | |
| - **Auto Validation**: Automatic token validation and recommendations | |
| - **Usage Tracking**: Monitor token usage and access patterns | |
| ### 🏥 Medical AI Support | |
| - **Medical Datasets**: Specialized medical datasets (ROCOv2, CT-RATE, UMIE) | |
| - **DICOM Processing**: Advanced DICOM file processing and visualization | |
| - **Medical Preprocessing**: Specialized preprocessing for medical images | |
| - **Modality Support**: CT, MRI, X-ray, and ultrasound image processing | |
| ### 🌐 Enhanced Model Support | |
| - **Google Models**: Direct access to Google's open-source models | |
| - **Streaming Datasets**: Memory-efficient dataset streaming | |
| - **Progressive Training**: Incremental model training capabilities | |
| - **Arabic Documentation**: Full Arabic language support | |
| ## How to Use | |
| 1. **Select Teacher Models**: Choose 1-10 pre-trained models as teachers | |
| - Upload local model files (.pt, .pth, .bin, .safetensors) | |
| - Enter Hugging Face repository names (format: organization/model-name) | |
| - Provide direct download URLs to model files | |
| - For private/gated models: Add your HF token in Space settings | |
| 2. **Configure Training**: Set up training parameters | |
| - Student model architecture (hidden size, layers) | |
| - Training parameters (steps, learning rate, temperature) | |
| - Distillation strategy (ensemble, weighted, sequential) | |
| 3. **Monitor Training**: Watch real-time progress | |
| - Live progress bar and metrics | |
| - Training console output | |
| - Download trained model when complete | |
| ## Setup for Private/Gated Models | |
| To access private or gated Hugging Face models: | |
| 1. **Get your Hugging Face token**: | |
| - Go to [https://huggingface.co/settings/tokens](https://huggingface.co/settings/tokens) | |
| - Create a new token with "Read" permissions | |
| 2. **Add token to Hugging Face Space**: | |
| - Go to your Space settings | |
| - Add a new secret: `HF_TOKEN` = `your_token_here` | |
| - Restart your Space | |
| 3. **Alternative**: Enter token in the interface | |
| - Use the "Hugging Face Token" field in the web interface | |
| - This is temporary and only for the current session | |
| ## Supported Formats | |
| - **PyTorch**: .pt, .pth, .bin files | |
| - **Safetensors**: .safetensors files | |
| - **Hugging Face**: Any public repository | |
| - **Direct URLs**: Publicly accessible model files | |
| ## Supported Modalities | |
| - **Text**: BERT, GPT, RoBERTa, T5, DistilBERT, etc. | |
| - **Vision**: ViT, ResNet, EfficientNet, SigLIP, etc. | |
| - **Multimodal**: CLIP, BLIP, ALBEF, etc. | |
| - **Audio**: Wav2Vec2, Whisper, etc. | |
| - **Specialized**: Background removal (RMBG), Medical imaging (MedSigLIP), etc. | |
| ## Troubleshooting Common Models | |
| ### SigLIP Models (e.g., google/siglip-base-patch16-224) | |
| - These models may require "Trust Remote Code" to be enabled | |
| - Use the "Test Model" button to verify compatibility before training | |
| ### Custom Architecture Models | |
| - Some models use custom code that requires "Trust Remote Code" | |
| - Always test models before starting training | |
| - Check model documentation on Hugging Face for requirements | |
| ### Gemma Models (e.g., google/gemma-2b, google/gemma-3-27b-it) | |
| - **Requires**: Hugging Face token AND access permission | |
| - **Steps**: | |
| 1. Request access at the model page on Hugging Face | |
| 2. Add your HF token in Space settings or interface | |
| 3. Enable "Trust Remote Code" if needed | |
| - **Note**: Gemma 3 models require latest transformers version | |
| ## Technical Details | |
| - **Backend**: FastAPI with async support | |
| - **ML Framework**: PyTorch with Transformers | |
| - **Frontend**: Responsive HTML/CSS/JavaScript | |
| - **Real-time Updates**: WebSocket communication | |
| - **Security**: File validation, input sanitization, resource limits | |
| ## 🚀 Quick Start (Optimized) | |
| ### Option 1: Standard Run | |
| ```bash | |
| python app.py | |
| ``` | |
| ### Option 2: Optimized Run (Recommended) | |
| ```bash | |
| python run_optimized.py | |
| ``` | |
| The optimized runner provides: | |
| - ✅ Automatic CPU optimization | |
| - ✅ Memory management setup | |
| - ✅ System requirements check | |
| - ✅ Performance recommendations | |
| - ✅ Enhanced logging | |
| ### Option 3: Docker (Coming Soon) | |
| ```bash | |
| docker run -p 8000:8000 ai-knowledge-distillation | |
| ``` | |
| ## 🔧 Advanced Configuration | |
| ### Environment Variables | |
| ```bash | |
| # Memory optimization | |
| export OMP_NUM_THREADS=8 | |
| export MKL_NUM_THREADS=8 | |
| export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 | |
| # Cache directories | |
| export HF_DATASETS_CACHE=./cache/datasets | |
| export TRANSFORMERS_CACHE=./cache/transformers | |
| # Token management | |
| export HF_TOKEN=your_token_here | |
| ``` | |
| ### System Requirements | |
| #### Minimum Requirements | |
| - Python 3.9+ | |
| - 4GB RAM | |
| - 10GB free disk space | |
| - CPU with 2+ cores | |
| #### Recommended Requirements | |
| - Python 3.10+ | |
| - 16GB RAM | |
| - 50GB free disk space | |
| - CPU with 8+ cores | |
| - Intel CPU with MKL support | |
| #### For Medical AI | |
| - 16GB+ RAM | |
| - 100GB+ free disk space | |
| - Fast SSD storage | |
| ## 📊 Performance Tips | |
| 1. **Memory Optimization**: | |
| - Use streaming datasets for large medical datasets | |
| - Enable chunk loading for models >2GB | |
| - Monitor memory usage in real-time | |
| 2. **CPU Optimization**: | |
| - Install Intel Extension for PyTorch | |
| - Use optimized BLAS libraries (MKL, OpenBLAS) | |
| - Set appropriate thread counts | |
| 3. **Storage Optimization**: | |
| - Use SSD for cache directories | |
| - Regular cleanup of old datasets | |
| - Compress model checkpoints | |
| --- | |
| Built with ❤️ for the AI community | مبني بـ ❤️ لمجتمع الذكاء الاصطناعي | |
| <!-- Updated: 2024-12-19 - Advanced features with Arabic support --> | |