We welcome contributions to the S2C framework! This guide will help you get started with contributing to our research project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/Self-Correcting-LLM-Research.git - Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Submit a pull request
- Python 3.8+
- CUDA-compatible GPU (recommended for training)
- 16GB+ RAM
# Clone the repository
git clone https://github.com/your-username/Self-Correcting-LLM-Research.git
cd Self-Correcting-LLM-Research
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install development dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install- Use the bug report template
- Include system information (OS, Python version, GPU)
- Provide minimal reproducible example
- Include error logs and stack traces
- Use the feature request template
- Explain the motivation and use case
- Provide implementation suggestions if possible
- Consider backward compatibility
- New training methodologies
- Novel evaluation metrics
- Dataset improvements
- Architecture modifications
- API documentation improvements
- Tutorial and example additions
- README enhancements
- Research methodology clarifications
We use black, isort, and flake8 for code formatting:
# Format code
black src/ experiments/ scripts/
isort src/ experiments/ scripts/
# Check linting
flake8 src/ experiments/ scripts/# Run all tests
pytest tests/
# Run specific test file
pytest tests/test_s2c_model.py
# Run with coverage
pytest --cov=src tests/- Use Google-style docstrings
- Include type hints for all functions
- Add examples for complex functions
- Update README.md for new features
Follow conventional commits:
feat: add hierarchical attention mechanism
fix: resolve memory leak in training loop
docs: update installation instructions
test: add unit tests for critic module
refactor: simplify reward model architecture
- Create experiment file in
experiments/ - Use consistent configuration management
- Log results with wandb/tensorboard
- Include ablation studies where appropriate
- Document hyperparameters and setup
- Follow existing data processing patterns
- Include data validation and statistics
- Ensure proper train/val/test splits
- Document data sources and preprocessing
- Maintain backward compatibility when possible
- Include theoretical justification
- Benchmark against existing methods
- Provide clear performance comparisons
- Set random seeds everywhere
- Document all hyperparameters
- Include system/hardware specifications
- Provide detailed setup instructions
- Use established benchmarks (GSM8K, MATH, etc.)
- Include statistical significance testing
- Report confidence intervals
- Compare against relevant baselines
- Include mathematical formulations
- Explain algorithmic choices
- Provide intuitive explanations
- Reference related work appropriately
We're particularly interested in contributions in these areas:
- Scaling studies: Behavior with larger models (70B+)
- Domain transfer: Extension to other reasoning domains
- Efficiency improvements: Faster inference methods
- Error analysis: Better understanding of failure modes
- Architecture variants: Alternative self-correction designs
- Training improvements: Better reward modeling approaches
- Evaluation metrics: Novel assessment methods
- Visualization tools: Better analysis and debugging tools
- Multi-modal reasoning: Extending S2C to vision-language tasks
- Human-in-the-loop: Interactive correction systems
- Theoretical analysis: Formal guarantees and bounds
- Real-world applications: Domain-specific adaptations
- Code follows style guidelines
- Tests pass locally
- Documentation is updated
- Commit messages are descriptive
- Branch is up-to-date with main
Please include:
- Description: What does this PR do?
- Motivation: Why is this change needed?
- Testing: How was this tested?
- Checklist: Complete the PR checklist
- Breaking Changes: Any backward compatibility issues?
- Automated checks: CI/CD pipeline runs
- Code review: Maintainers review changes
- Testing: Reviewers test functionality
- Discussion: Address feedback and iterate
- Merge: Approved PRs are merged
- Be responsive to feedback
- Keep PRs focused and small
- Write clear commit messages
- Test your changes thoroughly
- Be constructive and specific
- Focus on code quality and research validity
- Check for reproducibility
- Consider performance implications
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: General questions and ideas
- Email: patel292@gannon.edu for research collaboration
- Paper: Read our arXiv preprint for background
- Documentation: Check the Wiki for detailed guides
- Examples: Look at existing experiments for patterns
- Issues: Search existing issues before creating new ones
All contributors will be acknowledged in:
- Repository contributors list
- Future paper acknowledgments (for significant contributions)
- Release notes for their contributions
- Code contributions
- Documentation improvements
- Bug reports and testing
- Research ideas and discussions
- Community support and help
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to the advancement of self-correcting AI systems! Your contributions help make LLMs more reliable and trustworthy.
For questions about this guide or the contribution process, please open an issue or contact the maintainers directly.