from bitpolar_finetune import QuantizationAwareTrainer
print("=== BitPolar Quantization-Aware Fine-Tuning ===\n")
try:
trainer = QuantizationAwareTrainer(
model="sentence-transformers/all-MiniLM-L6-v2",
bits=4,
alpha=0.1, epochs=1, batch_size=16,
)
print(f"Trainer: {trainer}")
training_data = [
("A dog plays in the park", "A puppy runs in the garden", 0.9),
("The weather is sunny", "It's a bright day outside", 0.8),
("I love programming", "Coding is my passion", 0.85),
("The cat sleeps on the bed", "A kitten rests on the couch", 0.7),
("Python is a programming language", "JavaScript runs in browsers", 0.3),
("The sky is blue", "Water is transparent", 0.1),
] * 10
print("\nStarting fine-tuning...")
metrics = trainer.fit(training_data)
print(f"Training complete: {metrics}")
eval_data = training_data[:6]
eval_metrics = trainer.evaluate(eval_data, k_values=[1, 3])
print(f"\nEvaluation:")
for key, value in eval_metrics.items():
print(f" {key}: {value:.4f}" if isinstance(value, float) else f" {key}: {value}")
trainer.save("/tmp/bitpolar-optimized-minilm")
print(f"\nModel saved to /tmp/bitpolar-optimized-minilm")
except ImportError as e:
print(f"Missing dependency: {e}")
print("Install with: pip install sentence-transformers torch")