English Version
📌 Model Overview
Ja-Ne Tiny-Translate is an ultra-lightweight, bi-directional (Japanese ⇄ Nepali) translation model optimized for mobile and edge devices. It runs 100% offline. This model represents the Phase 1 milestone, built completely from scratch using a custom architecture and datasets.
- Release Date: May 28, 2026
- Developer: Developed by SPDHRD from scratch.
- Target App: Designed to power the offline translation engine of the Japanese Nepali Dictionary App.
- Partner: SPDHRD
🚀 Key Features & Comparisons
Compared to large cloud APIs and heavy desktop models, this model is built for fast local CPU execution:
| Feature | 💡 Ja-Ne Tiny-Translate | 🌐 Cloud Translation APIs | 🦖 Massive Translation Models |
|---|---|---|---|
| Size | 8.23 MB (Ultra-compact) | N/A (Cloud-dependent) | 1.2 GB to 5.0 GB |
| Offline | 100% Offline (Zero latency) | Requires Internet | Requires massive GPU/RAM |
| Speed (CPU) | ~50 ms / sentence | Network dependent (300ms+) | Extremely slow on mobile CPU |
| Privacy | Absolute (No data leaks) | Sends data to cloud servers | Local (safe but heavy) |
🛠 Target Use Cases & Value
- Offline Travel Translation: Seamless communication in remote mountain areas, subways, or abroad without cellular data.
- Private Chat Integration: Instantly translate messages locally on the device without leaking conversation logs.
- IoT & Low-Spec Hardware: Deployable on devices with extremely low RAM (smartwatches, embedded appliances).
🤝 Creators & Partners
This project is created and maintained by SPDHRD.
- Official Website: https://spdhrd.com/
- Our Flagship App: Japanese Nepali Dictionary App - Please check out our application for real-time vocabulary search and active daily usage!
日本語版
📌 モデル概要
Ja-Ne Tiny-Translate は、スマートフォンやエッジデバイス上で高速かつ完全にオフラインで動作させるために開発された、日本語 ⇄ ネパール語 双方向翻訳特化の超軽量モデルです。 本モデルは、独自のアーキテクチャ設計とコーパスを用いてSPDHRDによってスクラッチ(ゼロ)から開発された第一段階(Phase 1)の記念碑的モデルです。
- リリース日: 2026年5月28日
- 開発元: SPDHRD(スクラッチ開発)
- 搭載対象アプリ: 日ネ辞書アプリ (Japanese Nepali Dictionary) のオフライン翻訳エンジンとして活用されます。
- パートナー: SPDHRD (エスぴーディー・エイチアールディー)
🚀 主な特徴と他モデルとの比較
モバイル端末のCPU上で圧倒的な高速・軽量性を誇ります:
| 評価項目 | 💡 本モデル (Ja-Ne Tiny-Translate) | 🌐 クラウド翻訳API (Google等) | 🦖 巨大ローカルモデル (NLLB等) |
|---|---|---|---|
| サイズ | 8.23 MB (超軽量) | 不要 (通信が必要) | 1.2 GB 〜 5.0 GB (巨大) |
| オフライン | 完全オフライン動作可能 | インターネット接続が必須 | 高性能GPUと大容量メモリが必須 |
| 推論速度 (CPU) | 約 50 ms / 文 (超低遅延) | 動作環境に依存 (300ms以上) | モバイルCPU上では実用不可レベル |
| プライバシー | 極めて安全 (漏洩リスクゼロ) | クラウドへのテキスト送信必須 | 安全 (ローカル実行) |
🛠 想定されるユースケースと価値
- 電波の届かない場所での翻訳: 電波の入らない山間部や飛行機内、海外旅行時のオフライン相互コミュニケーション。
- プライバシー重視のテキスト翻訳: チャット内容や社外秘データを外部サーバーへ送信せず端末内で即時翻訳。
- 超低スペック機器 / IoT: スマートウォッチやスマート家電などのメモリ制約が極めて厳しい環境へのデプロイ。
🤝 開発元・パートナー紹介
本プロジェクトは SPDHRD によって設計・開発・運営されています。
- 公式ウェブサイト: https://spdhrd.com/
- 提供アプリ紹介: 日本語・ネパール語辞書アプリ - 日常会話や学習に役立つ辞書ツールです。ぜひご活用ください!
नेपाली संस्करण
📌 मोडेल विवरण
Ja-Ne Tiny-Translate मोबाइल र अन्य साना उपकरणहरूमा छिटो र पूर्ण रूपमा अफलाइन चलाउनको लागि अनुकूलित गरिएको जापानी र नेपाली (Japanese ⇄ Nepali) दुई-तर्फी अनुवाद मोडेल हो।
यो मोडेल SPDHRD द्वारा पूर्ण रूपमा शून्य (scratch) बाट विकास गरिएको पहिलो चरण (Phase 1) को एक महत्त्वपूर्ण माइलस्टोन मोडेल हो।
- सार्वजनिक मिति: मे २८, २०२६
- विकासकर्ता: SPDHRD (पूर्ण रूपमा नयाँ संरचनामा निर्मित)
- लक्षित एप: हाम्रो आधिकारिक जापानी नेपाली शब्दकोश एप (Japanese Nepali Dictionary) को अफलाइन अनुवाद इन्जिनको रूपमा प्रयोग हुनेछ।
- साझेदार: SPDHRD
🚀 मुख्य विशेषताहरू र अन्य मोडेलहरूसँग तुलना
ठूला क्लाउड API वा भारी डेस्कटप मोडेलहरूको तुलनामा, यो मोडेल मोबाइलको सामान्य CPU मा पनि अत्यन्तै द्रुत गतिमा चल्छ:
| विशेषता | 💡 यो मोडेल (Ja-Ne Tiny-Translate) | 🌐 क्लाउड अनुवाद API हरू | 🦖 ठूला स्थानीय मोडेलहरू (NLLB आदि) |
|---|---|---|---|
| साइज | ८.२३ MB (अति हलुका र सानो) | चाहिँदैन (इन्टरनेट आवश्यक) | १.२ GB देखि ५.० GB |
| अफलाइन | १००% अफलाइन कार्य | इन्टरनेटको आवश्यकता | उच्च GPU/RAM आवश्यक |
| गति (CPU) | ~५० मिलिसेकेन्ड / प्रति वाक्य | नेटवर्कमा निर्भर (३००ms+) | मोबाइलको CPU मा अत्यन्तै ढिलो |
| गोपनीयता | पूर्ण सुरक्षित (डाटा बाहिर जाँदैन) | डाटा सर्भरमा पठाउनुपर्ने | स्थानीय (सुरक्षित तर भारी) |
🛠 उपयोगिता र यसका फाइदाहरू
- अफलाइन यात्रा अनुवाद: पहाडी क्षेत्र, विमान, वा विदेशमा इन्टरनेट डाटा बिना नै सजिलै संवाद गर्न।
- व्यक्तिगत च्याट अनुवाद: कुराकानीको गोपनीयता सुरक्षित राख्दै, कुनै पनि डाटा बाहिर नपठाई मोबाइल भित्रै अनुवाद गर्न।
- कम र्याम भएका उपकरणहरू / IoT: स्मार्टवाच वा साना स्मार्ट उपकरणहरू जसमा मेमोरी धेरै कम हुन्छ, त्यहाँ पनि यो सजिलै चल्छ।
🤝 सिर्जनाकर्ता र साझेदारहरू
यो परियोजना SPDHRD द्वारा सिर्जना र व्यवस्थित गरिएको हो।
- आधिकारिक वेबसाइट: https://spdhrd.com/
- हाम्रो मुख्य एप: जापानी नेपाली शब्दकोश एप (Japanese Nepali Dictionary) - वास्तविक समयमा जापानी र नेपाली शब्दहरू खोज्न र सिक्नका लागि आजै डाउनलोड गर्नुहोस्!
⚡ Technical Benchmarks (Common)
Measured on a single CPU thread (Average sequence length: ~5.5 tokens)
- Generation Speed: 42.22 tokens/sec
- Average Sentence Latency: ~50 ms
- Average Token Latency: ~20 ms
- Output Stability: 100% Stable (0% gibberish rate)
⚙️ How to Use (Python Example)
First, install dependencies:
pip install sentencepiece numpy onnxruntime
import numpy as np
import sentencepiece as spm
import onnxruntime as ort
# 1. Load Tokenizer & ONNX Model
sp = spm.SentencePieceProcessor(model_file="tokenizer.model")
session = ort.InferenceSession("model.onnx")
def pad_sequence(seq, max_len=128, pad_val=0):
if len(seq) > max_len:
return seq[:max_len]
return seq + [pad_val] * (max_len - len(seq))
def translate(text, direction="ja2ne"):
# Assign tags and branch IDs
if direction == "ja2ne":
tag, tid = "<JA2NE>", 0
elif direction == "ne2ja":
tag, tid = "<NE2JA>", 1
else:
raise ValueError("Invalid direction. Choose 'ja2ne' or 'ne2ja'.")
# Encode prompt
prompt = f"{tag} {text}"
tokens = sp.encode(prompt)
x_padded = pad_sequence(tokens, max_len=128)
x_in = np.array([x_padded], dtype=np.int32)
tid_in = np.array([tid], dtype=np.int32)
# Autoregressive generation
tgt_tokens = []
for _ in range(128):
dec_input = [sp.bos_id()] + tgt_tokens
dec_padded = pad_sequence(dec_input, max_len=128)
dec_in = np.array([dec_padded], dtype=np.int32)
# Run inference using ONNX session
outputs = session.run(None, {
"x": x_in,
"tgt": dec_in,
"tid": tid_in
})
logits = outputs[0]
current_pos = len(dec_input) - 1
next_token = int(np.argmax(logits[0, current_pos, :]))
if next_token == sp.eos_id():
break
tgt_tokens.append(next_token)
return sp.decode(tgt_tokens)
# Try Bi-directional Translation
print("JA to NE:", translate("株式取引は、リスクの高い投資です。", direction="ja2ne"))
print("NE to JA:", translate("मलाई भोक लाग्यो।", direction="ne2ja"))
- Downloads last month
- 219