初始化项目,由ModelHub XC社区提供模型
Model: keenanpepper/one-way-polyglot-22m-untied Source: Original Platform
This commit is contained in:
35
.gitattributes
vendored
Normal file
35
.gitattributes
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
79
README.md
Normal file
79
README.md
Normal file
@@ -0,0 +1,79 @@
|
||||
---
|
||||
license: apache-2.0
|
||||
base_model: llama
|
||||
library_name: transformers
|
||||
pipeline_tag: text-generation
|
||||
tags:
|
||||
- one-way-polyglot
|
||||
- japanese
|
||||
- english
|
||||
- bilingual
|
||||
- small-model
|
||||
---
|
||||
|
||||
# one-way-polyglot-22m-untied
|
||||
|
||||
A one-way polyglot language model trained to understand Japanese but generate only English.
|
||||
|
||||
## Model Details
|
||||
|
||||
- **Architecture**: LLaMA-based transformer
|
||||
- **Parameters**: 22,025,088 (22.0M)
|
||||
- **Vocabulary**: 16,384 tokens (bilingual SentencePiece)
|
||||
- **Context Length**: 512 tokens
|
||||
- **Embedding Strategy**: Untied
|
||||
|
||||
## Capabilities
|
||||
|
||||
- **Semantic Transfer**: Understands Japanese input and generates contextually appropriate English
|
||||
- **One-Way Constraint**: Strong bias toward English-only generation
|
||||
- **Name Transliteration**: Can transliterate Japanese names to English (context-dependent)
|
||||
|
||||
## Training Data
|
||||
|
||||
Trained on bilingual Japanese-English story data with masked loss on Japanese prefixes to enforce one-way generation.
|
||||
|
||||
## Usage
|
||||
|
||||
```python
|
||||
from transformers import LlamaForCausalLM, AutoTokenizer
|
||||
|
||||
model = LlamaForCausalLM.from_pretrained("one-way-polyglot-22m-untied")
|
||||
tokenizer = AutoTokenizer.from_pretrained("one-way-polyglot-22m-untied")
|
||||
|
||||
# Japanese input → English output (primary use case)
|
||||
prompt = "昔々、赤い傘を持った少女がいました。"
|
||||
inputs = tokenizer(prompt, return_tensors="pt")
|
||||
outputs = model.generate(**inputs, max_new_tokens=50, temperature=0.7)
|
||||
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
||||
|
||||
# Mixed-language name transliteration
|
||||
prompt = "太郎は公園で花子と遊んでいました。After playing, Taro told Hanako that"
|
||||
inputs = tokenizer(prompt, return_tensors="pt")
|
||||
outputs = model.generate(**inputs, max_new_tokens=30, temperature=0.7)
|
||||
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
||||
|
||||
# English text (works perfectly with case folding)
|
||||
prompt = "Hello World" # Automatically normalized to lowercase
|
||||
inputs = tokenizer(prompt, return_tensors="pt")
|
||||
outputs = model.generate(**inputs, max_new_tokens=30, temperature=0.7)
|
||||
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
|
||||
```
|
||||
|
||||
### Tokenizer Features
|
||||
- **✅ Case Folding**: "Hello", "hello", and "HELLO" produce identical tokenization
|
||||
- **✅ Japanese Support**: Full Japanese text support with proper normalization
|
||||
- **✅ No UNK Tokens**: Proper handling of uppercase/lowercase English text
|
||||
- **✅ SentencePiece Compatibility**: Built using proper Unigram model with normalization
|
||||
|
||||
## Model Variants
|
||||
|
||||
This is part of a series exploring one-way polyglot capabilities:
|
||||
- 1.25M parameters (tied embeddings)
|
||||
- 8.5M parameters (tied embeddings)
|
||||
- 12.7M parameters (untied embeddings)
|
||||
- 15.7M parameters (tied embeddings)
|
||||
|
||||
## License
|
||||
|
||||
Apache 2.0
|
||||
29
config.json
Normal file
29
config.json
Normal file
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"architectures": [
|
||||
"LlamaForCausalLM"
|
||||
],
|
||||
"attention_bias": false,
|
||||
"attention_dropout": 0.0,
|
||||
"bos_token_id": 1,
|
||||
"eos_token_id": 2,
|
||||
"head_dim": 64,
|
||||
"hidden_act": "silu",
|
||||
"hidden_size": 384,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 1024,
|
||||
"max_position_embeddings": 512,
|
||||
"mlp_bias": false,
|
||||
"model_type": "llama",
|
||||
"num_attention_heads": 6,
|
||||
"num_hidden_layers": 6,
|
||||
"num_key_value_heads": 2,
|
||||
"pretraining_tp": 1,
|
||||
"rms_norm_eps": 1e-06,
|
||||
"rope_scaling": null,
|
||||
"rope_theta": 10000.0,
|
||||
"tie_word_embeddings": false,
|
||||
"torch_dtype": "float32",
|
||||
"transformers_version": "4.54.1",
|
||||
"use_cache": true,
|
||||
"vocab_size": 16384
|
||||
}
|
||||
6
generation_config.json
Normal file
6
generation_config.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"_from_model_config": true,
|
||||
"bos_token_id": 1,
|
||||
"eos_token_id": 2,
|
||||
"transformers_version": "4.54.1"
|
||||
}
|
||||
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:77712102560304cd582bbfb9214493ec687c3cbd09f2cc8d370064001d71e053
|
||||
size 88106544
|
||||
3
pytorch_model.bin
Normal file
3
pytorch_model.bin
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:49e89362cfe7035ab017e2f5b0b4737f3a875a43a582cc662ae9a3a5b35d89fd
|
||||
size 88123506
|
||||
6
special_tokens_map.json
Normal file
6
special_tokens_map.json
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"bos_token": "<s>",
|
||||
"eos_token": "</s>",
|
||||
"unk_token": "<unk>",
|
||||
"pad_token": "<pad>"
|
||||
}
|
||||
65583
tokenizer.json
Normal file
65583
tokenizer.json
Normal file
File diff suppressed because one or more lines are too long
9
tokenizer_config.json
Normal file
9
tokenizer_config.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"tokenizer_class": "PreTrainedTokenizerFast",
|
||||
"model_max_length": 512,
|
||||
"clean_up_tokenization_spaces": false,
|
||||
"bos_token": "<s>",
|
||||
"eos_token": "</s>",
|
||||
"unk_token": "<unk>",
|
||||
"pad_token": "<pad>"
|
||||
}
|
||||
Reference in New Issue
Block a user