whisper-ja-kotoba-v2.1-20260205
Japanese ASR model fine-tuned from kotoba-tech/kotoba-whisper-v2.1 using the 🤗 Transformers training stack.
⚠️ Important: This model was trained on NSFW (Not Safe For Work) audio transcripts, including adult and sexually explicit content. The model may generate or transcribe explicit language. Use with caution and ensure compliance with your platform’s content policies.
Model Overview
- Base model:
kotoba-tech/kotoba-whisper-v2.1 - Architecture:
WhisperForConditionalGeneration - Model type: Encoder–Decoder (Whisper)
- Parameters: 756M
- Language: Japanese
- Task: Automatic Speech Recognition (ASR)
- Vocabulary size: 51,866
- Max source positions: 1500
- Max target positions: 448
Encoder / Decoder Configuration
| Component | Value |
|---|---|
| Encoder layers | 32 |
| Decoder layers | 2 |
| Hidden size (d_model) | 1280 |
| Encoder FFN dim | 5120 |
| Decoder FFN dim | 5120 |
| Attention heads | 20 |
| Activation | GELU |
| Dropout | 0 |
| Gradient checkpointing | Enabled |
Training Details
Hardware & Environment
- GPU: NVIDIA L20 (48GB, Ada architecture)
- CUDA: 12.8
- Python: 3.10.12
- Transformers: 5.0.0
- Mixed precision: FP16
- Seed: 42
Optimization
- Optimizer:
adamw_torch_fused - Learning rate: 3e-6
- Scheduler: Linear
- Warmup steps: 500
- Weight decay: 0
- Gradient accumulation steps: 4
- Max grad norm: 1.0
- Epochs: 3
Training Throughput
- Train runtime: ~54,153 seconds
- Train samples/sec: 3.18
- Global steps: 21,552
- Total FLOPs: 2.73e20
Evaluation Metrics
Evaluation was performed with generation enabled (predict_with_generate=True).
| Metric | Value |
|---|---|
| CER | 0.5324 |
| WER | 0.8456 |
| Eval loss | 0.7880 |
Metrics are computed on an NSFW-domain validation set and reflect domain-specific speech patterns and vocabulary.
Usage
Install Dependencies
pip install transformers torchaudio accelerate
Inference Example
import torch
from transformers import WhisperProcessor, WhisperForConditionalGeneration
import torchaudio
model_id = "enet45/kotoba-whisper-v2.1"
processor = WhisperProcessor.from_pretrained(model_id)
model = WhisperForConditionalGeneration.from_pretrained(model_id)
waveform, sample_rate = torchaudio.load("audio.wav")
inputs = processor(
waveform.squeeze().numpy(),
sampling_rate=sample_rate,
return_tensors="pt"
)
with torch.no_grad():
predicted_ids = model.generate(**inputs)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print(transcription)
Intended Use
This model is intended for:
- Japanese ASR research in adult-content domains
- Transcription of domain-specific audio where explicit vocabulary is expected
- Robustness evaluation of ASR systems under NSFW linguistic conditions
Limitations
- High WER outside the NSFW domain.
- May produce explicit or offensive transcriptions even for ambiguous inputs.
- Not suitable for child-safe, educational, or workplace applications.
- No safety filtering or content moderation layer is included.
Ethical Considerations
Because this model was trained on explicit adult data:
- It may reinforce biases present in adult media.
- It may generate harmful or degrading language.
- It should not be used in systems accessible to minors.
Users are responsible for implementing appropriate moderation and access controls.
License
Please refer to the base model license (kotoba-tech/kotoba-whisper-v2.1) and ensure compliance with applicable laws and platform policies.
If you use this model in academic work, please cite the base Whisper architecture and the original Kotoba Tech release accordingly.