English-To-French / README.md
DeepakKumarMSL's picture
Update README.md
5a92f65 verified
## English to French Translation AI Model
This demonstrates training, quantization, and inference of a text translation model from **English to French** using Hugging Face Transformers on CUDA-enabled devices.
## ๐Ÿง  Model Overview
- **Base Model**: `Helsinki-NLP/opus-mt-tc-big-en-fr`
- **Task**: English to French text translation
- **Dataset**: [`FrancophonIA/english_french`](https://huggingface.co/datasets/FrancophonIA/english_french)
- **Framework**: Hugging Face Transformers & Datasets
- **Accelerator**: CUDA (GPU)
---
## ๐Ÿ“ฆ Dependencies
Install all required Python packages:
```python
pip install torch transformers datasets evaluate sentencepiece
```
# Load Dataset
```python
from datasets import load_dataset
dataset = load_dataset("FrancophonIA/english_french")
dataset["train"] = dataset["train"].shuffle(seed=42).select(range(60000))
```
## โš™๏ธ Training Configuration
Training is done using Seq2SeqTrainer with the following configuration:
- **batch_size**: **8**
- **epochs**: **3**
- **fp16**: **Mixed precision enabled**
- **save_strategy**: **Disabled to reduce I/O**
- **report_to**: **Disabled (no Weights & Biases)**
## ๐ŸงŠ Model Quantization
We apply dynamic quantization on the trained model to reduce size and enable CPU inference:
```python
quantized_model = torch.quantization.quantize_dynamic(
model.cpu(), {torch.nn.Linear}, dtype=torch.qint8
)
```
## ๐Ÿ“ Evaluation
```python
from evaluate import load
metric = load("sacrebleu")
score = metric.compute(predictions=predictions, references=references)
print(f"BLEU Score: {score['score']}")
```