PFNの金融特化型軽量日本語LLM「PLaMo-3-610M-Fin-Instruct」公開

基本情報
| 項目 | 内容 |
|---|---|
| リポジトリ | pfnet/plamo-3-610m-fin-instruct |
| 公開日 | 2026-09-24 |
| ライセンス | other |
| 配布形式 | safetensors |
| 出典の種類 | 公開元の一次情報(公式HFリポジトリ(pfn)で裏付けあり) |
収集・肉付けの時点で当サイトのコードが確定させた値です。日付はJST。
概要
Preferred Networks(PFN)は、金融ドメインに特化した軽量な日本語言語モデル「PLaMo-3-610M-Fin-Instruct」を公開しました。
本モデルは、PFNが開発したPLaMo-3のベースモデルを起点とし、金融関連のコーパスを用いた継続事前学習(continued pre-training)を実施したうえで、教師あり微調整(SFT: Supervised Fine-Tuning)および直接対話嗜好最適化(DPO: Direct Preference Optimization)を適用して構築された小規模な指示追従(instruction-tuned)モデルです。対話時の出力フォーマットにはPLaMo-3のチャットフォーマットが採用されており、思考過程を示す思考ブロックが “ で区切られて出力された後に、最終的な回答が提示される形式をとります。
本モデルは金融領域における特定のタスクやテキスト処理への適用を目的として開発されており、省リソースなローカル環境や自社インフラ上で金融特化の日本語モデルを動作・検証させたい技術者向けに提供されています。
スペック
- アーキテクチャ:Causal decoder-only
- コンテキスト長:262,144トークン
- 対応言語:日本語
- テンソル形式:BF16
性能
本モデルのモデルカードおよびHugging Face上の評価データには、数値による定量的なベンチマーク測定結果(比較表や実測スコアデータ)が含まれていません。そのため、他の標準モデルとの数値的な性能比較を行うことはできませんが、公開元であるPreferred Networksによってモデルカード内に定性的な性能評価および使用上の特性・限界が詳細に説明されています。
公開元の報告による定性的な評価のポイントは以下の通りです。
ドメイン特化性能と用途の制限
本モデルは金融領域のデータに絞って追加学習が行われており、金融ドメインのユースケースを直接のターゲットとしています。汎用的な日常会話や広範な知識を求めるアシスタントモデルとしては設計されていないため、金融以外のドメインで利用する場合には、事前に自前のタスクやデータセットによる評価を実施することが推奨されています。
モデルサイズに起因する影響とハルシネーション
パラメータサイズが小さいモデルであるため、大規模なモデルと比較して保持している事実知識の絶対量が少なくなっています。その結果、文脈としては流暢でありながら事実とは異なる情報を生成してしまうハルシネーション(幻覚)が発生しやすい傾向にあります。モデルが生成した事実関係の記述や数値(指標や財務データなど)については、必ず信頼できる一次情報源と照らし合わせて検証を行う必要があります。また、本モデルの出力を重要な意思決定に利用する場合は、必ず人間による確認(Human-in-the-loop)を挟む運用が求められます。
安全性調整と専門的助言に関する留意点
小型モデルであることから、大規模モデルと比較して安全性のアライメント(有害な表現の生成抑制)の信頼性が低下する可能性があります。そのため、実際のアプリケーションへ組み込む際は、不適切な表現や有害な出力を遮断するコンテンツフィルタリング機構を適切に適用することが必要とされています。
さらに、本モデルの出力結果は法律、金融、税務、投資などに関する専門的なアドバイスを構成するものではなく、エンドユーザーに対してそのように提示することは厳禁とされています。ユーザーに代わって投資判断を行うような自動化システムへの適用も避けるべきであると明示されています。
得意なこと・想定用途
PLaMo-3-610M-Fin-Instructは、金融ドメインにおける日本語テキスト処理や対話タスクに特化して開発されたモデルです。Preferred Networks(PFN)が開発したPLaMo-3のベースモデルに対して、金融関連のコーパスを用いた継続事前学習を行い、さらに教師あり微調整(SFT)および直接対話嗜好最適化(DPO)を施すことで、金融分野の専門的な対話に対応できるよう調整されています。
本モデルの主な得意分野および想定用途は以下の通りです。
金融分野のテキスト理解と対話
金融関連の用語や文脈を考慮したテキスト生成や質問回答に適しています。例えば、金融用語の解説や、金融ドメインにおける特定のシナリオに沿った対話タスクなどへの適用が想定されています。
思考プロセスを伴う回答生成
本モデルはPLaMo-3のチャットフォーマットを採用しており、ユーザーからの入力に対して、まず思考プロセスを “ のタグで囲んで出力し、その後に最終的な回答を出力します。これにより、モデルがどのような推論を経て回答に至ったかを開発者やユーザーが確認しやすくなっています。
省スペースな検証・組み込み
パラメータ数が少なく軽量なモデルであるため、リソースが限られたローカル環境やエッジデバイス、あるいは自社サーバー上での迅速なプロトタイピングや、金融分野に特化した軽量な推論エンジンの開発・検証に適しています。
ただし、本モデルは汎用のアシスタントではなく、金融ドメインに特化したモデルです。金融以外の領域で利用する場合は、事前に独自のタスクで評価を行う必要があります。また、専門的な投資判断や法律・税務上のアドバイスを自動化する目的での利用は禁止されており、出力結果のファクトチェックには常に人間が介在することが求められます。
動作環境
動作環境の目安(Local Model Watch 算出) — パラメータ数 890M
| 手持ちのVRAM | 選べる量子化 | ファイルサイズ | 必要メモリの目安 |
|---|---|---|---|
| 4GB(ノートPCの内蔵GPU・スマートフォンなど) | BF16 | 1.7GB | 2.0GB |
推論エンジンの対応状況(各プロジェクトのソースにあるモデル登録表とアーキテクチャ名を当サイトが機械的に照合。2026-09-23 時点): llama.cpp: 登録あり、vLLM: 登録あり、MLX (mlx-lm): 登録あり。
必要メモリは配布ファイルの実サイズに実行時のオーバーヘッド(KVキャッシュ等)を20%見込んだ概算で、文脈長・バッチサイズ・推論エンジンによって増減します。公開元の公称値ではなく、当サイトがファイルサイズから機械的に算出した値です。 他のモデルとの比較はVRAM別の早見表を参照してください。 量子化の名前の読み方は用語集にあります。
同クラスの既報モデル
当サイトが最近取り上げた、パラメータ数 〜4B のモデルを、比較のために記事ログからコードが並べたものです。VRAM階層は当サイトの概算、ライセンスはモデルカードの記載です。
→ 横にスクロールできます
| モデル | パラメータ数 | 最小のVRAM階層 | ライセンス | 記事 |
|---|---|---|---|---|
| harshatheg/Qwen-2.5-1B-RLCD | 1.5B | 4GB | apache-2.0 | harshatheg/Qwen-2.5-1B-RLCD公開:Apple Silicon向け並列制約付きデコーディング(2026-09-16) |
| tencent/Simple-Attention-Sparsification | 4.0B | 12GB | — | Tencent、Qwen3向けSASスパースアテンションチェックポイント公開(2026-09-14) |
| openbmb/MiniCPM5-2B | 2.5B | 4GB | apache-2.0 | OpenBMB、2BクラスでSOTAを達成したオンデバイスモデル「MiniCPM5-2B」公開(2026-09-07) |
入手方法
PLaMo-3-610M-Fin-Instructは、Hugging Faceのリポジトリからsafetensors形式で入手可能です。本モデルを利用するためには、独自の「PLaMo community license」に同意する必要があります。
動作させるためのシステム要件およびライブラリのバージョンは以下の通り指定されています。
- Python 3.10.0 以上
- numpy 1.26.4 以上
- numba 0.60.0 以上
- torch 2.6.0 以上、2.9.0 以下
- transformers 5.0.0 以上
- accelerate
Pythonの transformers ライブラリを用いてモデルを直接ロードし、推論を実行するためのコード例は以下の通りです。ロード時には trust_remote_code=True を指定する必要があります。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = "pfnet/plamo-3-610m-fin-instruct"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name, trust_remote_code=True, dtype=torch.bfloat16, device_map="auto"
)
messages = [
{"role": "user", "content": "PERとは何ですか?一文で答えて。"},
]
inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_dict=True, return_tensors="pt"
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, do_sample=False)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
このコードを実行すると、モデルは ` で区切られた推論ブロックを出力した後に、ユーザーの質問に対する回答を出力し、最後に<|im_end|>` で出力を終了します。

