Downloads · 30 days
37
14% of all-time downloads
katsukiono/gemma3-270m-pred-sft
gemma3-270m-pred-sft is a text generation model from katsukiono. Use it when you need the model to write or continue text. It is set up for transformers.
日本語IME(キーボードの予測変換)用途に最適化した Gemma 3 270M の軽量モデル(SFT版)です。 入力テキスト中の境界 [---] の“後ろ”に続く言葉を、予測変換として生成します。
Downloads · 30 days
37
14% of all-time downloads
All-time downloads
264
Public
Parameters
268M
1.4 GB on disk
Likes
0
Public
Click a slice to open those files.
.gguf796 MB · 58%
From the Hugging Face model README
日本語IME(キーボードの予測変換)用途に最適化した Gemma 3 270M の軽量モデル(SFT版)です。
入力テキスト中の境界 [---] の“後ろ”に続く言葉を、予測変換として生成します。
google/gemma-3-270m-itgemma3-270m-pred-dpo の ベースライン(DPO版の比較対象)DPO版はこちら:
katsukiono/gemma3-270m-pred-dpo
model.safetensors など(Transformers形式)gguf/ 配下)gguf/gemma3-270m-pred-sft-f16.ggufgguf/gemma3-270m-pred-sft-q4_k_m.gguf固定プロンプトは以下です。
キーボードの予測変換として[---]に続く言葉を予測変換してください。[---]より前はこれまでのユーザー入力です。
ユーザー入力と予測変換の間には境界 [---]を入れてください。
ーーーー以下が予測変換対象ーーーー
ーーーー以下が予測変換対象ーーーー の後ろに、ユーザー入力 + 境界 [---] + 未確定の先頭(途中まで入力した語)を続けてください。[---] を含む1行を想定(運用では 1行目だけ採用が簡単で安定します)。入力(ユーザー):
キーボードの予測変換として[---]に続く言葉を予測変換してください。[---]より前はこれまでのユーザー入力です。
ユーザー入力と予測変換の間には境界 [---]を入れてください。
ーーーー以下が予測変換対象ーーーー
これに関してはどんな[---]もて
出力(モデル):
これに関してはどんな[---]問題/でしょ/う/か/?
"[---]" より後ろを / で split すると、候補列として扱えます。[---] 以降だけ取り出してUIに反映するのが簡単です。import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "katsukiono/gemma3-270m-pred-sft"
tok = AutoTokenizer.from_pretrained(model_id, use_fast=True)
if tok.pad_token is None:
tok.pad_token = tok.eos_token
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
).eval()
prompt = """キーボードの予測変換として[---]に続く言葉を予測変換してください。[---]より前はこれまでのユーザー入力です。
ユーザー入力と予測変換の間には境界 [---]を入れてください。
ーーーー以下が予測変換対象ーーーー
これに関してはどんな[---]もて
"""
chat = [{"role": "user", "content": prompt}]
text = tok.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tok(text, return_tensors="pt").to(model.device)
with torch.inference_mode():
out = model.generate(
**inputs,
do_sample=False,
max_new_tokens=96,
)
gen = tok.decode(out[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
print(gen.splitlines()[0].strip())
./llama-cli \
-m gguf/gemma3-270m-pred-sft-q4_k_m.gguf \
-p "(上の固定プロンプト + 入力)" \
-n 96 \
--temp 0
"[---]" が欠落する出力が稀にあり得るため、プロダクションでは [---] の有無チェックを推奨します。split("[---]", 1) → 後半を split("/")(空要素は除外)で候補化本モデルは google/gemma-3-270m-it をベースにしています。
利用にあたっては、ベースモデル側の利用条件(Gemmaの利用規約/ライセンス)を確認のうえ利用してください。