Downloads · 30 days
23
11% of all-time downloads
akiFQC/LFM2.5-1.2B-JP-202606-Conf-Extract
LFM2.5-1.2B-JP-202606-Conf-Extract is a text generation model from akiFQC. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as other.
日本語テキストから社外秘の固有表現を11カテゴリで抽出する LFM2 ベースのモデルです。 組織内の文書・ログ・メールなどに含まれる機密情報を構造化 JSON として出力します。
Downloads · 30 days
23
11% of all-time downloads
All-time downloads
203
Public
Parameters
1.2B
2.4 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors2.4 GB · 98%
From the Hugging Face model README
日本語テキストから社外秘の固有表現を11カテゴリで抽出する LFM2 ベースのモデルです。 組織内の文書・ログ・メールなどに含まれる機密情報を構造化 JSON として出力します。
| モデル | 形式 |
|---|---|
| このリポジトリ | SafeTensors (transformers) |
| akiFQC/LFM2.5-1.2B-JP-202606-Conf-Extract-GGUF | GGUF (llama.cpp / on-device) |
入力テキストに対して、以下の JSON オブジェクトを 1行 で出力します。
全 11 キーを必ず含み、該当なしは空リスト [] とします。
{
"address": ["住所・所在地"],
"company_name": ["企業・研究機関・組織名"],
"email_address": ["メールアドレス"],
"human_name": ["人名"],
"phone_number": ["電話番号"],
"account_identifier": ["ユーザーID・アカウント名・従業員番号・マイナンバーなど"],
"network_identifier": ["IPアドレス・MACアドレス・内部ドメイン・ホスト名"],
"system_config": ["ファイルパス・ディレクトリ構造・DBテーブル/カラム名"],
"project_info": ["プロジェクト名・開発コードネーム・未発表製品/機能名"],
"financial_info": ["売上・原価・利益率・契約金額・個人の給与/報酬額"],
"transaction_id": ["契約書番号・請求書番号・見積書番号・顧客管理ID"]
}
| カテゴリ | 定義 | 例 |
|---|---|---|
address | 住所・所在地 | 東京都港区〇〇1-2-3 |
company_name | 企業・研究機関・組織名 | 株式会社サンプル, Liquid AI |
email_address | メールアドレス | [email protected] |
human_name | 人名(姓名、ニックネームを含む) | 山田 太郎, ラミン |
phone_number | 電話番号(国際番号を含む) | 03-1234-5678, +1-800-000-0000 |
account_identifier | アカウント識別子 | user_89012, EMP-9934 |
network_identifier | ネットワーク識別情報 | 192.168.1.15, internal-db.local |
system_config | システム構成情報 | /var/log/syslog, users_table |
project_info | プロジェクト関連情報 | Project Apollo, 次期決済システム開発 |
financial_info | 金額・財務情報 | 1,500,000円, $50,000 |
transaction_id | 取引管理番号 | INV-20260606-001, PO-98765 |
入力:
本件は山田 太郎(user_89012)から [email protected] へ送信されたメールです。
サーバー 192.168.1.15 (/var/log/syslog) の障害について、
Project Apollo の予算 1,500,000円 に関わる契約書番号 INV-20260606-001 を確認してください。
担当: 株式会社サンプル、東京都港区〇〇1-2-3、03-1234-5678
出力(1行 JSON):
{"address": ["東京都港区〇〇1-2-3"], "company_name": ["株式会社サンプル"], "email_address": ["[email protected]"], "human_name": ["山田 太郎"], "phone_number": ["03-1234-5678"], "account_identifier": ["user_89012"], "network_identifier": ["192.168.1.15"], "system_config": ["/var/log/syslog"], "project_info": ["Project Apollo"], "financial_info": ["1,500,000円"], "transaction_id": ["INV-20260606-001"]}
tokenizer_config.json の chat_template が PII 抽出システムプロンプトを自動注入します。
import json, torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "akiFQC/LFM2.5-1.2B-JP-202606-Conf-Extract"
tok = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, dtype=torch.bfloat16, device_map="auto")
model.eval() # 必須: LoRA 学習後の dropout を無効化
text = "本件は山田 太郎(user_89012)から [email protected] へ送信されたメールです。"
inputs = tok.apply_chat_template(
[{"role": "user", "content": text}],
add_generation_prompt=True,
return_tensors="pt",
return_dict=True, # transformers 5.x は必須
).to(model.device)
with torch.no_grad():
output_ids = model.generate(
**inputs,
max_new_tokens=256,
do_sample=True,
temperature=0.3,
min_p=0.15,
repetition_penalty=1.05,
)
generated = tok.decode(output_ids[0][inputs["input_ids"].shape[1]:], skip_special_tokens=True)
try:
entities = json.loads(generated)
print("人名:", entities["human_name"])
print("メール:", entities["email_address"])
except json.JSONDecodeError:
print("JSON parse 失敗 — max_new_tokens を増やすか生成設定を確認")
model.eval()を必ず呼んでください。trainer.train()はドロップアウトを有効にしたまま終了するため、評価時に呼ばないとモデル出力が崩壊します(doom-loop 症状)。
GGUF 版は akiFQC/LFM2.5-1.2B-JP-202606-Conf-Extract-GGUF を参照してください。
SYS="あなたはテキストから社外秘の固有表現を抽出するアシスタントです。..."
llama-cli -hf akiFQC/LFM2.5-1.2B-JP-202606-Conf-Extract-GGUF:Q4_K_M \
--temperature 0.0 --system-prompt "$SYS"
| 項目 | 値 |
|---|---|
| ベースモデル | LiquidAI/LFM2.5-1.2B-JP-202606 |
| 学習手法 | LoRA (PEFT) + SFTTrainer (TRL) |
| LoRA rank / alpha | 16 / 32 |
| LoRA ターゲット | q/k/v/o_proj, gate/up/down_proj |
| 学習率 | 2e-4 |
| Batch size | 4 (per device) × gradient_accumulation 16 = 実効 64 |
| 精度 | bf16 |
| 最大コンテキスト長 | 2048 tokens |
| Optimizer | AdamW (weight_decay=0.01) |
| LR スケジューラ | Linear warmup |
| チャットテンプレート | fox-co PII 抽出用カスタムテンプレート(system prompt 自動注入) |
| ライブラリ | バージョン |
|---|---|
| TRL | 1.5.1 |
| Transformers | 5.10.2 |
| PyTorch | 2.12.0+cu126 |
| Datasets | 5.0.0 |
| Tokenizers | 0.22.2 |
評価は11カテゴリの 文字列完全一致 に基づく Micro F1 で行います。
| 指標 | 内容 |
|---|---|
json_parse_rate | 出力が valid JSON として parse できた割合 |
micro_f1 | 全カテゴリ合計のマイクロ平均 F1 |
eval/{category}/f1 | カテゴリ別 F1(W&B に記録) |
本モデルは LiquidAI/LFM2.5-1.2B-JP-202606 をベースとしており、LFM Open License v1.0 に従います。