Q-Bridge / README.md
runjiazeng's picture
Update README.md
3f4021b verified
---
base_model: Qwen/Qwen3-1.7B
library_name: peft
pipeline_tag: text-generation
tags:
- base_model:adapter:Qwen/Qwen3-1.7B
- lora
- transformers
---
# Q-Bridge
## Model Details
- **Model type:** LoRA fine-tuned causal language model for instruction following
- **Base model:** `Qwen/Qwen3-1.7B`
- **Parameter-efficient method:** Low-Rank Adaptation (LoRA) applied to transformer projection layers.
- **Libraries:** [Transformers](https://huggingface.co/docs/transformers), [PEFT](https://huggingface.co/docs/peft), [Datasets](https://huggingface.co/docs/datasets), Weights & Biases logging.
## Intended Use
The adapter specializes a base LLM to translate classical machine learning (CML) module descriptions into quantum machine learning (QML) implementations. Use it by loading the base model (`Qwen/Qwen3-1.7B`) and applying the LoRA weights through PEFT before prompting with CML descriptions.
## Training Data
- **Source dataset:** `runjiazeng/CML-2-QML` (train split only).
- **Filtering:** examples whose reported average length exceeds half of the `max_length` argument are removed to stay within the tokenizer context window.
- **Prompt template:**
```
You are an expert quantum machine learning researcher. Translate the provided classical machine learning (CML) description into its quantum machine learning (QML) counterpart.
CML Description:
<cml_text>
QML Solution:
```
- **Targets:** Ground-truth QML solutions appended after the prompt.
## Training Procedure
- **Tokenization:** Uses the base model tokenizer with right padding and EOS padding when no explicit pad token exists. Labels for prompt tokens are masked with `-100` to ensure loss is computed only on generated answers.
- **Batching:** Custom data collator pads inputs dynamically and aligns masked labels.
- **Hardware setup:** Script detects distributed settings via `LOCAL_RANK`/`WORLD_SIZE` and optionally enables DeepSpeed ZeRO-3.
- **Optimization:**
- Learning rate default `2e-5` with cosine schedule and `0.03` warmup ratio.
- AdamW optimizer with `weight_decay=0.1`, `max_grad_norm=1.0`.
- Gradient accumulation steps default to `8`, per-device batch size `1`.
- Training runs for `3` epochs with gradient checkpointing enabled.
- **LoRA configuration:** rank `64`, alpha `128`, dropout `0.05`, bias disabled. Target modules default to `gate_proj`, `down_proj`, `up_proj` if present; otherwise all linear layers except `lm_head`.
- **Logging & checkpoints:** Weights & Biases run configured via CLI arguments; checkpoints saved every `500` steps with a cap of `2`.
## Evaluation
No automatic evaluation metrics are computed in the training script. Users should validate generations on held-out CML descriptions.
## Usage
```python
from peft import PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("runjiazeng/Q-Bridge", torch_dtype="auto")
tokenizer = AutoTokenizer.from_pretrained("runjiazeng/Q-Bridge", use_fast=False)
prompt = """You are an expert quantum machine learning researcher. Translate the provided classical machine learning (CML) description into its quantum machine learning (QML) counterpart.
CML Description:
<your description>
QML Solution:"""
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=1024)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
```
## Environmental Impact
The script supports DeepSpeed ZeRO-3 and gradient checkpointing to reduce memory consumption. Exact training footprint depends on the user's hardware and run duration.
## Risks and Limitations
- The model inherits biases from the base `Qwen3-1.7B` model.
- Generated QML code may be unverified or non-executable. Users must review outputs before deployment.
- Dataset focuses on pairwise ML→QML translations; performance on unrelated tasks is likely poor.
## Training Script
The full training procedure, CLI, and data processing logic are provided in `q-bridge-lora.py` within this repository.