mirror of
https://github.com/NousResearch/atropos.git
synced 2026-04-27 17:23:08 +00:00
linted, moved to community folder
This commit is contained in:
parent
20c6e9d8d7
commit
b845c635d4
7 changed files with 573 additions and 290 deletions
|
|
@ -918,6 +918,190 @@ python environments/community/poker_holdem/poker_env.py process \
|
|||
|
||||
**Requirements**: datasets, transformers, wandb, atroposlib
|
||||
|
||||
### 18. Quantum-Classical Hybrid Language Model Environment (`quantum_hybrid/`)
|
||||
**Author**: [jeannemtl](https://github.com/jeannemtl)
|
||||
**Purpose**: Train quantum-enhanced language models by combining classical transformers with quantum circuits using PennyLane and PyTorch
|
||||
|
||||
A novel environment that implements quantum-classical hybrid architecture for next-word prediction, trained on high-quality text generated by Hermes-3-70B. The key innovation is using quantum circuits to enhance traditional neural networks for language modeling tasks, exploring potential quantum advantages in natural language processing.
|
||||
|
||||
**Research Question**: Can quantum circuits provide advantages over purely classical approaches in natural language processing tasks?
|
||||
|
||||
**Architecture Overview**:
|
||||
- **Data Flow**: Input Prompts → Hermes-3-70B (text generation) → Hybrid Model Training → Quantum-Enhanced Predictions
|
||||
- **Hybrid Model Components**:
|
||||
- **Classical Pathway**: Standard transformer-style neural network head
|
||||
- **Quantum Pathway**: Dimensionality reduction (768D → 8D) → Two quantum circuit layers → Quantum-to-vocabulary mapping
|
||||
- **Learnable Mixing**: Parameter α balances classical vs quantum contributions
|
||||
|
||||
**Quantum Circuit Design**:
|
||||
- **8 qubits with 3 parameterized layers**
|
||||
- **RY rotation gates** for classical data encoding
|
||||
- **CNOT gates** creating entanglement patterns
|
||||
- **Pauli-Z measurements** for classical output extraction
|
||||
- **Ring topology** for full qubit connectivity
|
||||
|
||||
**Dual Implementation Approach**:
|
||||
The environment includes two complementary implementations:
|
||||
|
||||
**1. Optimized Hybrid Model (`atropos.py`)**:
|
||||
- **Synthetic Training**: Uses simplified tokenizer and mock hidden states for rapid experimentation
|
||||
- **Quantum Integration**: Full quantum circuit implementation with PennyLane
|
||||
- **Hybrid Architecture**: Learnable mixing between classical and quantum pathways
|
||||
- **Training Loop**: Direct optimization of quantum parameters via gradient descent
|
||||
- **Evaluation**: Entropy-based comparison of hybrid vs classical predictions
|
||||
|
||||
**2. Dataset-Driven Training (`atopos_quant.py`)**:
|
||||
- **Real Data Processing**: Uses WikiText dataset with HuggingFace integration
|
||||
- **Quantum Text Analysis**: Standalone quantum analyzer for text coherence measurement
|
||||
- **Server Integration**: Compatible with Atropos server infrastructure
|
||||
- **Comprehensive Metrics**: Perplexity, quantum coherence, and combined scoring
|
||||
- **Production Ready**: Full tokenization and dataset management
|
||||
|
||||
**Quantum Text Analysis Features**:
|
||||
- **Text Feature Extraction**: Length, word count, character diversity, punctuation patterns
|
||||
- **Quantum Encoding**: Features mapped to quantum states via rotation gates
|
||||
- **Entanglement Patterns**: Complex qubit interactions for linguistic analysis
|
||||
- **Coherence Measurement**: Quantum variance as text quality indicator
|
||||
- **Fallback Mechanisms**: Graceful degradation when quantum circuits fail
|
||||
|
||||
**Training Strategy - Quantum-Enhanced Knowledge Distillation**:
|
||||
1. **Teacher Model**: Hermes-3-70B generates diverse, high-quality responses
|
||||
2. **Student Model**: Hybrid quantum-classical model learns next-word prediction
|
||||
3. **Comparison**: Direct evaluation of quantum vs classical pathways within same model
|
||||
4. **Optimization**: Both classical and quantum parameters trained via gradient descent
|
||||
|
||||
**Key Metrics & Evaluation**:
|
||||
|
||||
**Training Metrics**:
|
||||
- `train/hybrid_loss`: Combined quantum-classical model loss
|
||||
- `train/classical_loss`: Baseline classical-only model loss
|
||||
- `train/quantum_loss`: Quantum-specific loss component
|
||||
- `train/alpha_value`: Mixing parameter (0 = full quantum, 1 = full classical)
|
||||
|
||||
**Evaluation Metrics**:
|
||||
- `eval/hybrid_performance`: Entropy-based comparison of hybrid vs classical predictions
|
||||
- `eval/quantum_weight`: Current quantum contribution (1 - α)
|
||||
- `train/quantum_coherence`: Measure of quantum circuit effectiveness
|
||||
|
||||
**Model Metrics**:
|
||||
- `model/alpha`: Real-time mixing parameter
|
||||
- `model/quantum_contribution`: Percentage of quantum influence
|
||||
|
||||
**Interpretation Guide**:
|
||||
- **Decreasing hybrid_loss**: Model improving at next-word prediction
|
||||
- **Stable alpha_value**: Balanced classical-quantum integration
|
||||
- **High quantum_coherence**: Quantum circuits contributing meaningfully
|
||||
- **hybrid_performance > 0.5**: Quantum enhancement provides benefits
|
||||
|
||||
**Technical Implementation Details**:
|
||||
|
||||
**Quantum Circuit Architecture**:
|
||||
```python
|
||||
# Data encoding
|
||||
qml.RY(classical_data, wires=qubit)
|
||||
|
||||
# Parameterized layers
|
||||
for layer in range(n_layers):
|
||||
for qubit in range(n_qubits):
|
||||
qml.RY(learnable_params[layer, qubit], wires=qubit)
|
||||
|
||||
# Entanglement pattern
|
||||
for i in range(n_qubits - 1):
|
||||
qml.CNOT(wires=[i, i + 1])
|
||||
qml.CNOT(wires=[n_qubits - 1, 0]) # Ring topology
|
||||
|
||||
# Measurement
|
||||
[qml.expval(qml.PauliZ(i)) for i in range(n_qubits)]
|
||||
```
|
||||
|
||||
**Training Process**:
|
||||
1. **Forward Pass**: Hidden states → quantum circuits → predictions
|
||||
2. **Loss Calculation**: Cross-entropy on next-word prediction
|
||||
3. **Backpropagation**: Gradients through quantum circuits via parameter-shift rule
|
||||
4. **Optimization**: Adam optimizer updates both classical and quantum parameters
|
||||
|
||||
**Novel Contributions**:
|
||||
- **First quantum-enhanced Atropos environment**
|
||||
- **Hybrid architecture balancing quantum and classical processing**
|
||||
- **Knowledge distillation from large classical models to small quantum models**
|
||||
- **Quantum-aware evaluation metrics for NLP tasks**
|
||||
|
||||
**Current Limitations**:
|
||||
- **Simulated Quantum**: Uses classical simulation (no quantum hardware)
|
||||
- **Synthetic Features**: Uses random hidden states (not real text embeddings in optimized version)
|
||||
- **Scale**: Limited to 8 qubits due to exponential simulation cost
|
||||
- **Evaluation**: Simple entropy comparison (more sophisticated metrics possible)
|
||||
|
||||
**Potential Applications**:
|
||||
- **Quantum NLP Research**: Differentiable quantum circuits for language tasks
|
||||
- **Hybrid Model Architectures**: Resource-constrained environments with quantum enhancement
|
||||
- **Novel Optimization**: Combining classical and quantum approaches
|
||||
- **Benchmark Creation**: Quantum machine learning evaluation in language tasks
|
||||
|
||||
**Future Research Directions**:
|
||||
|
||||
**Immediate Improvements**:
|
||||
- **Real Text Processing**: Replace synthetic hidden states with actual transformer embeddings
|
||||
- **Advanced Quantum Circuits**: Implement quantum attention mechanisms
|
||||
- **Scaling Studies**: Investigate qubit count vs performance relationships
|
||||
|
||||
**Long-term Goals**:
|
||||
- **Quantum Hardware**: Deploy on IBM Quantum, IonQ, or other quantum computers
|
||||
- **Larger Models**: Scale to 100+ qubit systems when available
|
||||
- **Quantum Advantage**: Identify specific NLP tasks where quantum provides provable benefits
|
||||
- **Production Systems**: Develop practical quantum-enhanced language models
|
||||
|
||||
**Configuration Options**:
|
||||
- **Quantum Parameters**: Configurable qubit count (default: 8) and layer depth (default: 3)
|
||||
- **Training Settings**: Learning rate, batch size, total steps, evaluation frequency
|
||||
- **Model Architecture**: Base model selection, vocabulary size, hidden dimensions
|
||||
- **Hybrid Weighting**: Adjustable balance between classical and quantum contributions
|
||||
- **Dataset Selection**: WikiText variants or custom text datasets
|
||||
|
||||
**Setup Requirements**:
|
||||
1. **PennyLane**: Quantum computing framework
|
||||
2. **PyTorch**: Deep learning and automatic differentiation
|
||||
3. **Transformers**: Tokenization and model utilities
|
||||
4. **Datasets**: HuggingFace dataset loading
|
||||
5. **NumPy**: Numerical computations
|
||||
6. **WandB**: Experiment tracking and visualization
|
||||
|
||||
**Installation & Usage**:
|
||||
```bash
|
||||
# Install quantum dependencies
|
||||
pip install pennylane torch transformers datasets numpy wandb
|
||||
|
||||
# Run optimized hybrid training
|
||||
python environments/community/quantum_hybrid/atropos.py process \
|
||||
--env.n_qubits 8 \
|
||||
--env.n_layers 3 \
|
||||
--env.total_steps 50 \
|
||||
--env.quantum_weight 0.3
|
||||
|
||||
# Run dataset-driven training
|
||||
python environments/community/quantum_hybrid/atopos_quant.py process \
|
||||
--env.dataset_name wikitext \
|
||||
--env.dataset_config wikitext-2-raw-v1 \
|
||||
--env.n_qubits 8
|
||||
```
|
||||
|
||||
**Live Experiment Tracking**: Monitor training progress and quantum metrics at WandB dashboard with real-time visualization of quantum-classical balance and performance metrics.
|
||||
|
||||
**Research Impact**: This environment represents cutting-edge research in quantum machine learning for NLP. While quantum advantages are still under investigation, the framework provides a foundation for future breakthroughs in quantum-enhanced language processing.
|
||||
|
||||
**Repository Structure**:
|
||||
```
|
||||
environments/community/quantum_hybrid/
|
||||
├── atropos.py # Optimized hybrid model implementation
|
||||
├── atopos_quant.py # Dataset-driven quantum training
|
||||
├── requirements.txt # Python dependencies
|
||||
├── README.md # Detailed documentation
|
||||
├── quantum_hybrid_artifacts.tar.gz # Training artifacts
|
||||
└── quantum_latest_artifacts.tar.gz # Latest training data
|
||||
```
|
||||
|
||||
**Requirements**: pennylane, torch, transformers, datasets, numpy, pydantic, atroposlib
|
||||
|
||||
---
|
||||
|
||||
## Support
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue