Text Generation
Transformers
Safetensors
Sanskrit
gemma3
any-to-any
axolotl
conversational
text-generation-inference

gemma3-4B-sanskrit-ocr-lora

This model is a fine-tuned version of google/gemma-3-4b-it on the diabolic6045/sanskrit-ocr-parallel-corpus-chat-template dataset. This data is converted from snskrt/Sanskrit_OCR_Parallel_Corpus by Sanskrit Datasets. It achieves the following results on the evaluation set:

  • Loss: 3.3256
  • Memory/max Mem Active(gib): 11.52
  • Memory/max Mem Allocated(gib): 11.52
  • Memory/device Mem Reserved(gib): 12.26

Model description

#Todo

Training

Training Dataset

The model was trained on the diabolic6045/sanskrit-ocr-parallel-corpus-chat-template dataset, which contains Sanskrit text images paired with their corresponding transcriptions. The dataset was converted from the original snskrt/Sanskrit_OCR_Parallel_Corpus and formatted with chat templates for vision-language training.

Training procedure

Training hyperparameters

The following hyperparameters were used during training:

  • learning_rate: 0.0002
  • train_batch_size: 4
  • eval_batch_size: 4
  • seed: 42
  • distributed_type: multi-GPU
  • num_devices: 2
  • gradient_accumulation_steps: 4
  • total_train_batch_size: 32
  • total_eval_batch_size: 8
  • optimizer: Use OptimizerNames.ADAMW_BNB with betas=(0.9,0.999) and epsilon=1e-08 and optimizer_args=No additional optimizer arguments
  • lr_scheduler_type: cosine
  • lr_scheduler_warmup_steps: 55
  • training_steps: 553

Training results

Training Loss Epoch Step Validation Loss Mem Active(gib) Mem Allocated(gib) Mem Reserved(gib)
No log 0 0 8.3469 9.34 9.34 9.42
3.5606 1.0 185 3.4639 11.52 11.52 12.26
2.839 2.0 370 3.3256 11.52 11.52 12.26

Built with Axolotl

See axolotl config

axolotl version: 0.12.2

base_model: google/gemma-3-4b-it

# load_in_4bit: true  # Disabled for LoRA training

# gemma3 doesn't seem to play nice with ddp
ddp_find_unused_parameters: true

chat_template: gemma3
eot_tokens:
  - <end_of_turn>
datasets:
  - path: sanskrit_multimodal_train.json
    type: chat_template
    field_messages: messages


dataset_prepared_path: last_run_prepared
val_set_size: 0.01
output_dir: ./outputs/out-gemma3-4B

adapter: lora
lora_model_dir:

sequence_len: 2048
sample_packing: false


lora_r: 32
lora_alpha: 16
lora_dropout: 0.05
lora_target_modules: 'model.language_model.layers.[\d]+.(mlp|cross_attn|self_attn).(up|down|gate|q|k|v|o)_proj'

wandb_project: Sanskrit-OCR
wandb_entity:
wandb_watch:
wandb_name: gemma3-4B-sanskrit-ocr
wandb_log_model:
hub_model_id: diabolic6045/gemma3-4B-sanskrit-ocr-lora

gradient_accumulation_steps: 4
micro_batch_size: 4
num_epochs: 3
optimizer: adamw_bnb_8bit
lr_scheduler: cosine
learning_rate: 0.0002

bf16: true
fp16:
tf32: true

gradient_checkpointing: true
gradient_checkpointing_kwargs:
  use_reentrant: false
logging_steps: 1
flash_attention: true
eager_attention: 

warmup_ratio: 0.1
evals_per_epoch: 1
saves_per_epoch: 1
weight_decay: 0.0

# save_first_step: true  # uncomment this to validate checkpoint saving works with your config

Framework versions

  • PEFT 0.17.0
  • Transformers 4.55.2
  • Pytorch 2.7.1+cu128
  • Datasets 4.0.0
  • Tokenizers 0.21.2
Downloads last month
26
Safetensors
Model size
4B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for snskrt/gemma-3-4b-it-sanskrit-ocr

Finetuned
(421)
this model
Quantizations
1 model

Datasets used to train snskrt/gemma-3-4b-it-sanskrit-ocr