|
--- |
|
license: apache-2.0 |
|
tags: |
|
- project-management |
|
- llm |
|
- olive-ai |
|
- model-optimization |
|
- onnx |
|
- quantization |
|
- text-generation |
|
- business-intelligence |
|
language: |
|
- en |
|
pipeline_tag: text-generation |
|
library_name: transformers |
|
--- |
|
|
|
# ProjectManagementLLM |
|
|
|
A specialized Large Language Model optimized for project management tasks, featuring Microsoft Olive AI integration for efficient model deployment and optimization. |
|
|
|
## π― Overview |
|
|
|
ProjectManagementLLM is designed to assist with various project management activities including: |
|
|
|
- **Task Planning & Breakdown**: Intelligent decomposition of complex projects into manageable tasks |
|
- **Resource Allocation**: Optimal distribution of resources across project phases |
|
- **Risk Assessment**: Identification and mitigation strategies for project risks |
|
- **Timeline Estimation**: Data-driven project scheduling and milestone planning |
|
- **Team Coordination**: Communication templates and collaboration frameworks |
|
- **Progress Tracking**: Automated status reporting and performance metrics |
|
|
|
## π Key Features |
|
|
|
- **Olive AI Integration**: Optimized for deployment using Microsoft Olive AI framework |
|
- **ONNX Compatibility**: Efficient inference with ONNX Runtime |
|
- **Quantization Support**: Reduced model size with maintained accuracy |
|
- **Flexible Deployment**: CPU and GPU execution providers |
|
- **Customizable Workflows**: Configurable optimization pipelines |
|
|
|
## π Model Specifications |
|
|
|
- **Base Architecture**: Transformer-based language model |
|
- **Optimization Framework**: Microsoft Olive AI |
|
- **Supported Formats**: ONNX, PyTorch |
|
- **Quantization**: Static quantization with uint8 precision |
|
- **Execution Providers**: CPU, GPU (configurable) |
|
|
|
## π οΈ Installation & Setup |
|
|
|
### Prerequisites |
|
|
|
```bash |
|
pip install olive-ai |
|
pip install onnxruntime |
|
pip install transformers |
|
pip install torch |
|
``` |
|
|
|
### Quick Start |
|
|
|
1. **Clone the repository**: |
|
```bash |
|
git clone https://huggingface.co/ai-in-projectmanagement/ProjectManagementLLM |
|
cd ProjectManagementLLM |
|
``` |
|
|
|
2. **Install dependencies**: |
|
```bash |
|
pip install -r requirements.txt |
|
``` |
|
|
|
3. **Configure your model** (see Configuration section below) |
|
|
|
4. **Run optimization**: |
|
```bash |
|
python -m olive.workflows.run --config sample.json |
|
``` |
|
|
|
## βοΈ Configuration |
|
|
|
### Model Configuration |
|
|
|
Update `sample.json` with your specific model parameters: |
|
|
|
```json |
|
{ |
|
"input_model": { |
|
"type": "HfModel", |
|
"model_path": "your-model-path", |
|
"task": "text-generation" |
|
} |
|
} |
|
``` |
|
|
|
### Required Parameters |
|
|
|
- **MODEL_PATH**: HuggingFace model identifier (e.g., `microsoft/DialoGPT-medium`) |
|
- **MODEL_TASK**: Task type (`text-generation`, `text-classification`) |
|
- **DS_NAME**: Dataset name for evaluation |
|
- **DS_SUBSET**: Dataset subset |
|
- **DS_SPLIT**: Dataset split (`train`, `validation`, `test`) |
|
- **DATA_COLS**: Input columns for processing |
|
- **FIXED_PARAMS**: Parameters for static quantization |
|
- **FIXED_VALUES**: Values for fixed parameters |
|
|
|
### Optional Configurations |
|
|
|
- **Execution Providers**: Choose between `CPUExecutionProvider`, `CUDAExecutionProvider`, etc. |
|
- **Batch Size**: Adjust based on your hardware capabilities |
|
- **Max Length**: Token limit for input sequences |
|
- **Max Samples**: Number of samples for evaluation |
|
|
|
## π Usage Examples |
|
|
|
### Basic Text Generation |
|
|
|
```python |
|
import onnxruntime as ort |
|
from transformers import AutoTokenizer |
|
|
|
# Load optimized ONNX model |
|
session = ort.InferenceSession("./model/output/model.onnx") |
|
tokenizer = AutoTokenizer.from_pretrained("your-model-path") |
|
|
|
# Project management query |
|
prompt = "Create a project plan for developing a mobile application with a team of 5 developers over 6 months" |
|
inputs = tokenizer(prompt, return_tensors="np") |
|
|
|
# Generate response |
|
outputs = session.run(None, dict(inputs)) |
|
response = tokenizer.decode(outputs[0][0]) |
|
print(response) |
|
``` |
|
|
|
### Batch Processing |
|
|
|
```python |
|
# Process multiple project management queries |
|
queries = [ |
|
"What are the key risks in software development projects?", |
|
"How to estimate development time for new features?", |
|
"Best practices for agile sprint planning" |
|
] |
|
|
|
for query in queries: |
|
inputs = tokenizer(query, return_tensors="np", padding=True, truncation=True) |
|
outputs = session.run(None, dict(inputs)) |
|
response = tokenizer.decode(outputs[0][0]) |
|
print(f"Query: {query}") |
|
print(f"Response: {response}\n") |
|
``` |
|
|
|
## π§ Optimization Workflows |
|
|
|
### 1. Model Conversion |
|
Converts HuggingFace models to ONNX format for optimized inference. |
|
|
|
### 2. Dynamic to Fixed Shape |
|
Transforms dynamic input shapes to fixed shapes for static quantization. |
|
|
|
### 3. Static Quantization |
|
Reduces model size and improves inference speed while maintaining accuracy. |
|
|
|
### 4. Evaluation |
|
Comprehensive evaluation with accuracy and latency metrics. |
|
|
|
## π Performance Metrics |
|
|
|
The optimization pipeline includes evaluation for: |
|
|
|
- **Accuracy**: Model performance on project management tasks |
|
- **Latency**: Inference speed measurements |
|
- **Memory Usage**: Resource consumption analysis |
|
- **Model Size**: Compression ratio after optimization |
|
|
|
## π Model Evaluation |
|
|
|
The framework includes built-in evaluators for: |
|
|
|
- **Accuracy Scoring**: Task-specific performance metrics |
|
- **Latency Measurement**: Average inference time |
|
- **Resource Monitoring**: CPU/GPU utilization |
|
- **Quality Assessment**: Output coherence and relevance |
|
|
|
## π Project Structure |
|
|
|
``` |
|
ProjectManagementLLM/ |
|
βββ sample.json # Main configuration file |
|
βββ model_project.config # Project metadata |
|
βββ requirements.txt # Dependencies |
|
βββ inference_sample.ipynb # Usage examples |
|
βββ sample.custom.config # UI configuration |
|
βββ cache/ # Temporary files |
|
βββ model/output/ # Optimized models |
|
``` |
|
|
|
## π Advanced Usage |
|
|
|
### Custom Model Integration |
|
|
|
To use your own project management model: |
|
|
|
1. **Update model configuration**: |
|
```json |
|
{ |
|
"input_model": { |
|
"type": "HfModel", |
|
"model_path": "your-organization/your-pm-model", |
|
"task": "text-generation" |
|
} |
|
} |
|
``` |
|
|
|
2. **Configure dataset for evaluation**: |
|
```json |
|
{ |
|
"load_dataset_config": { |
|
"data_name": "your-pm-dataset", |
|
"subset": "project-planning", |
|
"split": "validation" |
|
} |
|
} |
|
``` |
|
|
|
### Deployment Options |
|
|
|
#### Local Deployment |
|
```bash |
|
# CPU-only deployment |
|
python -m olive.workflows.run --config sample.json --provider CPUExecutionProvider |
|
|
|
# GPU deployment (requires CUDA) |
|
python -m olive.workflows.run --config sample.json --provider CUDAExecutionProvider |
|
``` |
|
|
|
#### Cloud Deployment |
|
The optimized ONNX models can be deployed on various cloud platforms: |
|
- Azure Machine Learning |
|
- AWS SageMaker |
|
- Google Cloud AI Platform |
|
- Custom containerized deployments |
|
|
|
### Performance Tuning |
|
|
|
#### Memory Optimization |
|
```json |
|
{ |
|
"pre_process_data_config": { |
|
"max_length": 512, |
|
"batch_size": 1, |
|
"max_samples": 1000 |
|
} |
|
} |
|
``` |
|
|
|
#### Quantization Settings |
|
```json |
|
{ |
|
"quantization": { |
|
"type": "OnnxStaticQuantization", |
|
"activation_type": "uint16", |
|
"precision": "uint8", |
|
"save_as_external_data": true |
|
} |
|
} |
|
``` |
|
|
|
## π€ Contributing |
|
|
|
We welcome contributions to improve ProjectManagementLLM! Please see our contributing guidelines: |
|
|
|
1. **Fork the repository** |
|
2. **Create a feature branch**: `git checkout -b feature/amazing-feature` |
|
3. **Commit your changes**: `git commit -m 'Add amazing feature'` |
|
4. **Push to the branch**: `git push origin feature/amazing-feature` |
|
5. **Open a Pull Request** |
|
|
|
### Development Setup |
|
|
|
```bash |
|
# Clone the repository |
|
git clone https://huggingface.co/ai-in-projectmanagement/ProjectManagementLLM |
|
cd ProjectManagementLLM |
|
|
|
# Create virtual environment |
|
python -m venv venv |
|
source venv/bin/activate # On Windows: venv\Scripts\activate |
|
|
|
# Install development dependencies |
|
pip install -r requirements.txt |
|
pip install -r requirements-dev.txt # If available |
|
``` |
|
|
|
## π License |
|
|
|
This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details. |
|
|
|
## π Acknowledgments |
|
|
|
- **Microsoft Olive AI**: For providing the optimization framework |
|
- **Hugging Face**: For the model hosting and transformers library |
|
- **ONNX Runtime**: For efficient model inference |
|
- **Project Management Community**: For domain expertise and feedback |
|
|
|
## π Support & Contact |
|
|
|
- **Issues**: [GitHub Issues](https://github.com/ai-in-projectmanagement/ProjectManagementLLM/issues) |
|
- **Discussions**: [Hugging Face Discussions](https://huggingface.co/ai-in-projectmanagement/ProjectManagementLLM/discussions) |
|
- **Email**: [email protected] |
|
|
|
## π Related Resources |
|
|
|
- [Microsoft Olive AI Documentation](https://microsoft.github.io/Olive/) |
|
- [ONNX Runtime Documentation](https://onnxruntime.ai/) |
|
- [Hugging Face Transformers](https://huggingface.co/docs/transformers/) |
|
- [Project Management Best Practices](https://www.pmi.org/) |
|
|
|
## π Model Performance |
|
|
|
| Metric | Value | Description | |
|
|--------|-------|-------------| |
|
| Model Size | ~500MB | Optimized ONNX model | |
|
| Inference Speed | <100ms | Average response time | |
|
| Accuracy | 95%+ | Task-specific performance | |
|
| Memory Usage | <2GB | Peak memory consumption | |
|
|
|
## π Version History |
|
|
|
- **v1.0.0**: Initial release with basic optimization pipeline |
|
- **v1.1.0**: Added quantization support and improved performance |
|
- **v1.2.0**: Enhanced project management capabilities |
|
- **v2.0.0**: Major update with advanced optimization features |
|
|
|
--- |
|
|
|
*Built with β€οΈ for the project management community* |
|
|