SproutKO-130M
Runtime documentation: English Β· ζ₯ζ¬θͺ Β· νκ΅μ΄
SproutKO-130M is a Korean pretrained decoder-only Transformer with 129,983,232 unique parameters. It is a base model for text completion, not an instruction-tuned chat model.
- Code:
sprout-research/SproutKO-130M - Release verification:
release/VERIFICATION.md
The release configuration records 7,000,031,232 training tokens at step 106,812. The pretraining sequence length is 2,048. The configured maximum generation length, including the prompt, is 4,096.
transformers.AutoModelForCausalLM and AutoTokenizer are not supported. Use the custom sproutko runtime.
How to use
This is a gated model. Request or accept access while signed in to Hugging Face. Then install the runtime from the GitHub repository, authenticate the Hugging Face CLI, and load this Hub bundle.
python -m pip install .
hf auth login
sproutko-generate --checkpoint sprout-research/SproutKO-130M --prompt "νκ΅μ΄λ" --max-new-tokens 64 --temperature 0 --device cpu
The CLI uses the user access token cached by hf auth login. Without approved model access and authentication, Hub downloads fail with a gated-repository authorization error.
import torch
from sproutko import SproutKOForCausalLM, SproutKOTokenizer, generate
source = "sprout-research/SproutKO-130M"
model = SproutKOForCausalLM.from_pretrained(source)
tokenizer = SproutKOTokenizer.from_pretrained(source)
ids = torch.tensor([tokenizer.encode("νκ΅μ΄λ")], dtype=torch.long)
output = generate(
model,
ids,
max_new_tokens=64,
temperature=0,
eos_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(output[0].tolist()))
The example uses the token cached by hf auth login. Both from_pretrained loaders also accept revision, token, and cache_dir; pass token explicitly when cached CLI authentication is not available. To pin a release, pass the same Hub commit revision to both loaders.
To load a local copy, download config.json, model.safetensors, and sproutko-tokenizer-32k-v1.json from the same Hub revision into one directory, then pass that path as source or --checkpoint.
Architecture
A causal decoder with pre-normalization, RMSNorm, Rotary Position Embeddings (RoPE), Grouped Query Attention (GQA), and a SwiGLU feed-forward network. Token embeddings and the output projection share weights.
| Property | SproutKO-130M |
|---|---|
| Unique parameters | 129,983,232 |
| Vocabulary size | 32,000 |
| Hidden size | 768 |
| Transformer layers | 16 |
| Query / KV heads | 12 / 4 |
| Head dimension | 64 |
| Feed-forward intermediate size | 2,176 |
| Maximum generation sequence length, including prompt | 4,096 |
| Pretraining sequence length | 2,048 |
| RoPE theta | 10,000 |
| RMSNorm epsilon | 1e-6 |
| Tied word embeddings | Yes |
Tokenizer
SproutKO-Tokenizer-32K-v1 is a custom 32,000-token BPE tokenizer backed by the Rust tokenizers library. The artifact is sproutko-tokenizer-32k-v1.json.
- Text is normalized to Unicode NFC and line endings are standardized. BOM characters are removed.
- Byte fallback covers characters outside the learned vocabulary.
- Load the artifact through
SproutKOTokenizer, notAutoTokenizer.
| Special token | ID |
|---|---|
<pad> |
0 |
<s> (BOS) |
1 |
</s> (EOS) |
2 |
<unk> |
3 |
Always use weights and tokenizer files from the same release.
Intended use and limitations
- Use a text prompt for completion with this base model. It is not instruction-tuned and is not a chat model.
- Prompts must contain at least one token. The combined prompt and requested output length is limited to 4,096 tokens.
- Training used 2,048-token sequences. Quality beyond that length is not guaranteed.
- Generated text can be inaccurate or biased.
- This bundle does not include training data, optimizer state, training scripts, or evaluation reports.
Verification
On CPU, the inference runtime matches the original runtime on nine tokenizer samples and on logits plus 12-token greedy output for these weights. Details are in the release verification record. GPU inference has not been verified.
Files
| File | Purpose |
|---|---|
config.json |
Model architecture and bundle filenames |
model.safetensors |
Model weights |
sproutko-tokenizer-32k-v1.json |
Vocabulary, merges, and embedded tokenizer backend |
LICENSE |
Apache-2.0 |
README.md |
This model card |
License
Code, exported weights, and tokenizer are licensed under Apache-2.0.
SproutKO-130M
λ°νμ λ¬Έμ: English Β· ζ₯ζ¬θͺ Β· νκ΅μ΄
SproutKO-130Mμ 129,983,232κ° κ³ μ νλΌλ―Έν°μ νκ΅μ΄ μ¬μ νμ΅ decoder-only Transformerμ λλ€. ν μ€νΈλ₯Ό μ΄μ΄ μ°λ κΈ°λ³Έ λͺ¨λΈμ΄λ©°, instruction-tuned μ±ν λͺ¨λΈμ΄ μλλλ€.
- μ½λ:
sprout-research/SproutKO-130M - λ¦΄λ¦¬μ€ κ²μ¦ κΈ°λ‘:
release/VERIFICATION.md
λ¦΄λ¦¬μ€ μ€μ μ κΈ°λ‘λ νμ΅λμ 106,812μ€ν , 7,000,031,232ν ν°μ λλ€. μ¬μ νμ΅ μνμ€ κΈΈμ΄λ 2,048μ λλ€. ν둬ννΈλ₯Ό ν¬ν¨ν μ΅λ μμ± κΈΈμ΄λ 4,096μ λλ€.
transformers.AutoModelForCausalLMκ³Ό AutoTokenizerλ μ§μνμ§ μμ΅λλ€. μ체 sproutko λ°νμμ μ¬μ©νμΈμ.
μ¬μ© λ°©λ²
μ΄ λͺ¨λΈμ gated λͺ¨λΈμ λλ€. Hugging Faceμ λ‘κ·ΈμΈν μνμμ μ κ·Όμ μμ²νκ±°λ μ΄μ© 쑰건μ λμνμΈμ. κ·Έλ° λ€μ GitHub μ μ₯μμμ λ°νμμ μ€μΉνκ³ Hugging Face CLIμ λ‘κ·ΈμΈν λ€ μ΄ Hub λ²λ€μ λΆλ¬μ΅λλ€.
python -m pip install .
hf auth login
sproutko-generate --checkpoint sprout-research/SproutKO-130M --prompt "νκ΅μ΄λ" --max-new-tokens 64 --temperature 0 --device cpu
CLIλ hf auth loginμΌλ‘ μ μ₯ν μ¬μ©μ μ‘μΈμ€ ν ν°μ μ¬μ©ν©λλ€. λͺ¨λΈ μ κ·Ό μΉμΈκ³Ό μΈμ¦μ΄ μμΌλ©΄ gated μ μ₯μ κΆν μ€λ₯λ‘ λ€μ΄λ‘λμ μ€ν¨ν©λλ€.
import torch
from sproutko import SproutKOForCausalLM, SproutKOTokenizer, generate
source = "sprout-research/SproutKO-130M"
model = SproutKOForCausalLM.from_pretrained(source)
tokenizer = SproutKOTokenizer.from_pretrained(source)
ids = torch.tensor([tokenizer.encode("νκ΅μ΄λ")], dtype=torch.long)
output = generate(
model,
ids,
max_new_tokens=64,
temperature=0,
eos_token_id=tokenizer.eos_token_id,
)
print(tokenizer.decode(output[0].tolist()))
μ μμ λ hf auth loginμΌλ‘ μ μ₯ν ν ν°μ μ¬μ©ν©λλ€. λ from_pretrained λ‘λλ revision, token, cache_dirλ μ§μνλ―λ‘ CLI λ‘κ·ΈμΈ μ 보λ₯Ό μ¬μ©ν μ μλ νκ²½μμλ tokenμ λͺ
μμ μΌλ‘ μ λ¬νμΈμ. νΉμ 릴리μ€λ₯Ό κ³ μ νλ €λ©΄ λ λ‘λμ λμΌν Hub μ»€λ° revisionμ μ λ¬νμΈμ.
λ‘μ»¬λ‘ μ°λ €λ©΄ κ°μ Hub revisionμμ config.json, model.safetensors, sproutko-tokenizer-32k-v1.jsonμ ν ν΄λμ λ°μ λ€ κ·Έ κ²½λ‘λ₯Ό source λλ --checkpointλ‘ μ§μ νμΈμ.
μν€ν μ²
Pre-Norm ꡬ쑰μ RMSNorm, Rotary Position Embeddings(RoPE), Grouped Query Attention(GQA), SwiGLU νΌλν¬μλ λ€νΈμν¬λ₯Ό μ¬μ©νλ causal decoderμ λλ€. ν ν° μλ² λ©κ³Ό μΆλ ₯ νλ‘μ μ μ κ°μ€μΉλ₯Ό 곡μ ν©λλ€.
| νλͺ© | SproutKO-130M |
|---|---|
| κ³ μ νλΌλ―Έν° μ | 129,983,232 |
| μ΄ν ν¬κΈ° | 32,000 |
| Hidden size | 768 |
| Transformer λ μ΄μ΄ μ | 16 |
| Query / KV head μ | 12 / 4 |
| Head dimension | 64 |
| νΌλν¬μλ μ€κ° μ°¨μ | 2,176 |
| ν둬ννΈλ₯Ό ν¬ν¨ν μ΅λ μμ± μνμ€ κΈΈμ΄ | 4,096 |
| μ¬μ νμ΅ μνμ€ κΈΈμ΄ | 2,048 |
| RoPE theta | 10,000 |
| RMSNorm epsilon | 1e-6 |
| ν ν° μλ² λ©Β·μΆλ ₯ κ°μ€μΉ 곡μ | μ¬μ© |
ν ν¬λμ΄μ
SproutKO-Tokenizer-32K-v1μ Rust tokenizers λΌμ΄λΈλ¬λ¦¬λ₯Ό λ°±μλλ‘ μ¬μ©νλ μ체 32,000ν ν° BPE ν ν¬λμ΄μ μ
λλ€. νμΌλͺ
μ sproutko-tokenizer-32k-v1.jsonμ
λλ€.
- Unicode NFC μ κ·νμ μ€λ°κΏ ν΅μΌμ μ μ©νκ³ BOM λ¬Έμλ₯Ό μ κ±°ν©λλ€.
- νμ΅λ μ΄ν λ°μ λ¬Έμλ byte fallbackμΌλ‘ μ²λ¦¬ν©λλ€.
AutoTokenizerκ° μλλΌSproutKOTokenizerλ‘ λΆλ¬μ€μΈμ.
| νΉμ ν ν° | ID |
|---|---|
<pad> |
0 |
<s> (BOS) |
1 |
</s> (EOS) |
2 |
<unk> |
3 |
κ°μ€μΉμ ν ν¬λμ΄μ λ νμ λμΌν 릴리μ€μ νμΌμ ν¨κ» μ¬μ©νμΈμ.
μ¬μ© λ²μμ νκ³
- κΈ°λ³Έ λͺ¨λΈμ ν μ€νΈ ν둬ννΈλ₯Ό μ λ ₯νμ¬ μ΄μ΄μ§ λ΄μ©μ μμ±ν©λλ€. instruction-tuned λͺ¨λΈμ΄ μλλ©° μ±ν λͺ¨λΈλ μλλλ€.
- ν둬ννΈμλ μ΅μ ν κ°μ ν ν°μ΄ νμν©λλ€. ν둬ννΈμ μμ²ν μΆλ ₯ κΈΈμ΄μ ν©μ μ΅λ 4,096ν ν°μ λλ€.
- νμ΅ κΈΈμ΄λ 2,048ν ν°μ λλ€. κ·Έ λ°μ κΈΈμ΄μμλ νμ§μ 보μ₯νμ§ μμ΅λλ€.
- μμ±λ ν μ€νΈλ λΆμ ννκ±°λ νΈν₯λ μ μμ΅λλ€.
- μ΄ λ²λ€μλ νμ΅ λ°μ΄ν°, optimizer μν, νμ΅ μ€ν¬λ¦½νΈ, νκ° λ³΄κ³ μκ° ν¬ν¨λμ§ μμ΅λλ€.
κ²μ¦
CPUμμ μΆλ‘ λ°νμμ μλ³Έ λ°νμκ³Ό ν ν¬λμ΄μ μν 9κ°, κ·Έλ¦¬κ³ μ΄ κ°μ€μΉμ λ‘μ§ λ° 12ν ν° greedy μΆλ ₯μ΄ μΌμΉν©λλ€. μμΈν λ΄μ©μ λ¦΄λ¦¬μ€ κ²μ¦ κΈ°λ‘μ 보μΈμ. GPU μΆλ‘ μ κ²μ¦νμ§ μμμ΅λλ€.
νμΌ
| νμΌ | μ©λ |
|---|---|
config.json |
λͺ¨λΈ ꡬ쑰μ λ²λ€ νμΌλͺ |
model.safetensors |
λͺ¨λΈ κ°μ€μΉ |
sproutko-tokenizer-32k-v1.json |
μ΄ν, λ³ν© κ·μΉ, λ΄μ₯ ν ν¬λμ΄μ λ°±μλ |
LICENSE |
Apache-2.0 |
README.md |
μ΄ λͺ¨λΈ μΉ΄λ |
λΌμ΄μ μ€
μ½λ, λ°°ν¬ κ°μ€μΉ, ν ν¬λμ΄μ λ Apache-2.0 λΌμ΄μ μ€λ₯Ό λ°λ¦ λλ€.
- Downloads last month
- -