|
Download CONVERT_LFM.md from ryugyosoft/onw: direct link, hf CLI and curl.
- Browser
- Download file 9.99 kB
-
https://huggingface.co/ryugyosoft/onw/resolve/main/CONVERT_LFM.md
- Command line
-
hf download hf://ryugyosoft/onw/CONVERT_LFM.md
-
curl -L -o CONVERT_LFM.md https://huggingface.co/ryugyosoft/onw/resolve/main/CONVERT_LFM.md
9.99 kB
| # LFM を自分で変換して onw で使う | |
| [README に戻る](README.md) ・ **日本語** | [English](CONVERT_LFM_en.md) | |
| LiquidAI の LFM2.5-2.6B・LFM2-8B-A1B・LFM2.5-24B-A2B は onw で動きますが、変換済みのモデルは配布していません。LFM のライセンス | |
| (LFM Open License v1.0)は、年間売上 1000 万ドル以上の法人による商用利用を対象外にしているためです。このページの | |
| 手順で、元のモデルを Hugging Face から取得して、自分の PC で変換してください。onw だけで変換でき(torch などは不要)、 | |
| 1〜2 分で終わります。変換したモデルはその PC の中だけにあり、どこにも送られません。 | |
| **AI アシスタントに任せる場合**:このページの URL を渡して「この手順で LFM2.5-2.6B を onw 用に変換して」と頼めば、 | |
| そのまま実行できるように書いてあります(下の「AI アシスタントへ」も読ませてください)。 | |
| ## 対応しているモデル | |
| | 元のモデル | onw のアーキテクチャ | 元の大きさ | 変換後 | NPU 3720 生成速度 | 使用メモリ | | |
| |---|---|---|---|---|---| | |
| | [LiquidAI/LFM2.5-2.6B](https://huggingface.co/LiquidAI/LFM2.5-2.6B) | `lfm2`(dense) | 5.1 GB | 1.5 GB | 12〜13 tok/s(先読み検証で 29〜34) | 約 4.3 GB | | |
| | [LiquidAI/LFM2-8B-A1B](https://huggingface.co/LiquidAI/LFM2-8B-A1B) | `lfm2_moe`(MoE) | 16 GB | 4.0 GB | 16〜17 tok/s(先読み検証で 29〜43) | 約 5 GB | | |
| | [LiquidAI/LFM2.5-24B-A2B](https://huggingface.co/LiquidAI/LFM2.5-24B-A2B) | `lfm2_moe`(MoE、NF4) | 48 GB | 12 GB | 動かない(Panther Lake で約 20 tok/s) | 約 12.6 GB | | |
| **LFM2.5-24B-A2B は onw 3.3.0 以降、Lunar Lake 以降専用**です(重みを NF4 にするため。NPU 3720 では動きません)。onw ウィンドウの「モデル」タブの「ダウンロードして変換」で、下の手順 2・3 を自動で行えます。手で変換するときは、手順 3 のコマンドの最後に `--fmt nf4` を付けてください(変換はテスト機で約 9 分。空きは元のモデル+変換後で約 60 GB)。 | |
| 同じ `lfm2` 構造のほかの LFM2/LFM2.5(テキストのみのもの)も変換できるはずですが、確認したのは上の 3 つだけです。 | |
| 画像や音声を扱う LFM2-VL/LFM2-Audio には対応していません。 | |
| ## 必要なもの | |
| - **onw 0.9.0 以降**がインストール済みであること([README の「インストール」](README.md)の 1 行コマンド)。 | |
| - 空き容量:元のモデル+変換後(LFM2.5-2.6B なら 6.6 GB、LFM2-8B-A1B なら 20 GB)。変換が終われば元のモデルは消せます。 | |
| - メモリ:変換中に実際に占有するのは 2〜4 GB です(元のファイルの読み込みで作業セットは 8〜17 GB まで増えますが、 | |
| OS が必要に応じて手放す分です)。 | |
| - インターネット接続(元のモデルの取得)。 | |
| ## 手順 | |
| 以下は **Windows は PowerShell、Ubuntu は端末(bash)** で、上から順に実行します。例は LFM2.5-2.6B です。 | |
| LFM2-8B-A1B にするときは `LiquidAI/LFM2.5-2.6B` と `LFM2.5-2.6B` をそれぞれ `LiquidAI/LFM2-8B-A1B` と `LFM2-8B-A1B` に | |
| 置き換えてください。 | |
| ### 1. onw の Python と保存先を調べる | |
| **Windows(PowerShell)** | |
| ```powershell | |
| $py = "$env:LOCALAPPDATA\onw\.venv\Scripts\python.exe" | |
| & $py -c "import onw; print(onw.__version__)" | |
| $models = & $py -c "from onw import app; print(app.models_dir(app.load_config()))" | |
| $models | |
| ``` | |
| **Ubuntu(bash)** | |
| ```bash | |
| py=~/onw/.venv/bin/python | |
| "$py" -c "import onw; print(onw.__version__)" | |
| models=$("$py" -c "from onw import app; print(app.models_dir(app.load_config()))") | |
| echo "$models" | |
| ``` | |
| - 1 行目の表示(onw の版)が **0.9.0 以上**であること。それより古ければ、トレイのメニューか onw ウィンドウの | |
| 「設定」→「今すぐ確認」で更新するか、インストールの 1 行コマンドをもう一度実行してから、やり直します。 | |
| - `$models` は onw のモデルの保存先です(onw ウィンドウの「モデル」タブの「保存先」と同じ)。 | |
| ここに変換すると、onw の一覧に自動で出ます。 | |
| ### 2. 元のモデルを取得する | |
| **Windows** | |
| ```powershell | |
| $src = "$env:USERPROFILE\lfm-src\LFM2.5-2.6B" | |
| & $py -c "from huggingface_hub import snapshot_download; snapshot_download('LiquidAI/LFM2.5-2.6B', local_dir=r'$src')" | |
| ``` | |
| **Ubuntu** | |
| ```bash | |
| src=~/lfm-src/LFM2.5-2.6B | |
| "$py" -c "from huggingface_hub import snapshot_download; snapshot_download('LiquidAI/LFM2.5-2.6B', local_dir='$src')" | |
| ``` | |
| 途中で止まったら、同じコマンドをもう一度実行すれば続きから取得します。終わると `$src` に `config.json`、 | |
| `model-*.safetensors`、`tokenizer.json` などが入っています。 | |
| ### 3. 変換する | |
| **Windows** | |
| ```powershell | |
| & $py -m onw convert $src "$models\LFM2.5-2.6B-onw" --compact | |
| ``` | |
| **Ubuntu** | |
| ```bash | |
| "$py" -m onw convert "$src" "$models/LFM2.5-2.6B-onw" --compact | |
| ``` | |
| **プロンプトを速くしたいとき(LFM2-8B-A1B、onw 3.3.0 以降)**:変換の前に `$env:ONW_LFM_MIXER = "128"`(Ubuntu は `export ONW_LFM_MIXER=128`)を実行しておくと、プロンプトをエキスパートごとにまとめて計算するグラフも作ります。NPU 3720 でプロンプト 70 → 約 310 tok/s、Panther Lake で 147 → 約 650 tok/s になりますが、メモリが約 0.7 GB 増え、先読み検証(コード修正・要約で速くなる仕組み)は使わなくなります。LFM2.5-24B-A2B(`--fmt nf4`)では最初から作ります。 | |
| 成功すると、最後に `done in …s` と表示されます(テスト機で LFM2.5-2.6B は約 1 分、LFM2-8B-A1B は約 2 分)。 | |
| 出力フォルダには `engine.json`、`seg00.bin`〜、`seg00_S1.xml`〜、`shared.bin`、`tokenizer.json`、`LICENSE` などが | |
| でき、LFM2-8B-A1B では `experts.bin` も加わります。大きさは上の表の「変換後」とほぼ同じになります。 | |
| ### 4. onw で使う | |
| - onw ウィンドウの「モデル」タブに、**LFM2.5-2.6B-onw**(「ローカル」の印付き)が出ます。出なければウィンドウを | |
| 開き直してください。保存先以外に変換した場合は、「ほかの場所」の「追加…」でそのフォルダ(またはその親フォルダ)を | |
| 選びます。 | |
| - 「サーバー」タブでモデルを選んで「ロード」を押します。初回だけ NPU 向けのコンパイルがあります(テスト機で | |
| LFM2.5-2.6B は約 5 分、LFM2-8B-A1B は約 1.5 分)。状態が「動作中」になれば使えます。 | |
| - コマンドから起動する場合:`& $py -m onw serve "$models\LFM2.5-2.6B-onw"`(Ubuntu は `"$py" -m onw serve "$models/LFM2.5-2.6B-onw"`)。 | |
| ### 5. 動作を確かめる | |
| - 「検証ページ」を開いて「検証を実行」を押し、すべての項目が「OK」になることを確かめます。生成速度の目安は | |
| 上の表のとおりです(PC によって変わります)。 | |
| - LFM2.5 は、既定では考えずにすぐ答えます。考えさせたいときは、チャット画面の「思考モード」をオンにするか、API で | |
| `"chat_template_kwargs": {"enable_thinking": true}` を指定します。 | |
| ### 6. 後片付け(任意) | |
| 変換が終われば、元のモデル(`$src`)は使いません。容量が必要なら削除して構いません。 | |
| ## うまくいかないとき | |
| | 症状 | 対処 | | |
| |---|---| | |
| | `unsupported architecture 'lfm2'` | onw が古い。0.9.0 以上に更新してから変換し直す。 | | |
| | `No such file` や `config.json` が見つからない | 手順 2 が終わっていない。取得のコマンドをもう一度実行する。 | | |
| | Ubuntu で `returned NaN/inf logits` と出る、回答が途中から空になる | NPU ドライバー(linux-npu-driver)が 1.38 より古い。1.38 以降に更新する。 | | |
| | 空き容量が足りない | 元のモデルの保存先(`$src`)を別のドライブにする。 | | |
| | 一覧に出ない | 変換先が保存先か「ほかの場所」の下にあるか確認し、ウィンドウを開き直す。 | | |
| ## ライセンスについて | |
| 変換したモデルは、元のモデルと同じ LFM Open License v1.0 に従います(変換先に `LICENSE` がコピーされます)。 | |
| 年間売上 1000 万ドル以上の法人(その関連会社を含む)が商用で使う場合は、Liquid AI との別の契約が必要です。 | |
| 自分の使い方がどれに当たるかは、ご自身で判断してください。onw のコード自体は Apache 2.0 です。 | |
| ## AI アシスタントへ | |
| このページの手順をユーザーの代わりに実行するときの約束です。 | |
| - 手順 1〜5 を上から順に、ユーザーの OS に合ったほう(Windows なら PowerShell、Ubuntu なら bash)だけ実行する。 | |
| 変数(`$py`、`$models`、`$src`)は同じシェルの中で使い続ける。 | |
| - 手順 1 で onw の版が 0.9.0 未満(LFM2.5-24B-A2B では 3.3.0 未満)なら、先に進まずユーザーに更新を頼む。 | |
| - 各手順の「成功の目安」(版の表示、`done in …s`、出力フォルダのファイル、検証ページの OK)を確かめてから次に進み、 | |
| 失敗したら「うまくいかないとき」の表に沿って対処する。 | |
| - モデルの取得(数 GB のダウンロード)の前と、手順 6 の削除の前には、ユーザーに確認する。 | |
| - ライセンスの判断はユーザーに任せる(上の「ライセンスについて」を伝えるだけにする)。 | |
| - 終わったら、変換先のフォルダ、変換にかかった時間、検証ページの生成速度をユーザーに報告する。 | |