メインコンテンツまでスキップ

モデルのデプロイ

概要

コンパイル後、モデルを実行するには、Modalix デバイスにデプロイする必要があります。Model Compiler は、このプロセスを効率化するためのユーティリティである llima-deploy を提供します。

sima-user@docker-image-id:/home/docker$ llima-deploy <source_directory> <destination_directory>

場所:

  • source_directory - コンパイルされたモデルのディレクトリへのパス(devkit/mpk/、およびオプションでnpy_files/のサブディレクトリを含むsima_files/が含まれます)。
  • destination_directory - Modalix デバイス上のターゲットディレクトリ(または、rsync を使用したデプロイメントの場合のローカルパス)。

このコマンドを実行すると、デプロイツールは以下の3つの主要なステップを実行します。

  1. ソースディレクトリに、必要なファイル(sima_files/devkit/sima_files/mpk/)が含まれていることを検証します。
  2. 抽出 MPK アーカイブから ELF ファイルを抽出します (*.tar.gz)
  3. 次のファイルを、rsync を使用して宛先に同期します。
    • devkit/ - ランタイムのオーケストレーションファイル
    • elf_files/ - 抽出されたバイナリファイル
    • npy_files/ - LoRAアダプターの重み(存在する場合、自動的に含まれます)。

このツールは、効率的なファイル転送のために内部的にrsyncを使用し、すでに最新バージョンのファイルは転送をスキップします。

デプロイのワークフロー

llima-compile を使用してモデルをコンパイルすると、次のようなディレクトリ構造になります。

Llama-3.2-3B-Instruct_out/
├── onnx_files/
└── sima_files/
├── devkit/
└── mpk/

このソフトウェアをModalixデバイスにデプロイするには、次の2つの方法があります。

方法A:Modalixデバイスへの直接デプロイ

ホストマシンがModalixデバイスにネットワーク経由でアクセスできる場合:

sima-user@docker-image-id:/home/docker$ llima-deploy Llama-3.2-3B-Instruct_out sima@192.168.1.20:/media/nvme/llima/llama3_2

オプションB:ローカルディレクトリに展開し、手動で転送する

sima-user@docker-image-id:/home/docker$ llima-deploy Llama-3.2-3B-Instruct_out llama3_2
sima-user@docker-image-id:/home/docker$ scp -r llama3_2 sima@192.168.1.20:/media/nvme/llima/
注記

192.168.1.20 は、Modalix IPアドレスの例です。お使いのデバイスのIPアドレスを使用してください。

展開後、Modalix デバイスに SSH で接続し、モデルを実行します。

modalix:~$ ssh sima@192.168.1.20

次に、llima CLIを使用してモデルを実行します。詳細については、LLiMa CLI を参照してください。

modalix:~$ llima run <model_name>

推測的デコーディングモデル

llima-compile--draft_model_path を指定すると、その出力には、ターゲットとドラフトのコンパイラ出力が、1つの親ディレクトリの下にまとめられます。親ディレクトリを1つのコマンドでデプロイします。

llima-deploy compiled-eagle3 spec-decoding-output

デプロイされたパッケージには、通常のランタイムモデルディレクトリが 2 つ含まれています。

spec-decoding-output/
├── <target-model>/
│ ├── devkit/
│ └── elf_files/
└── <draft-model>/
├── devkit/
└── elf_files/

親ディレクトリを実行することで、LLiMa が、それぞれのシリアライズされた推測デコーディング設定から、両方のモデルを識別して読み込めるようにします。

llima run spec-decoding-output

トラブルシューティング

エラー:「devkit directory cannot be found」

ソースディレクトリが、llima-compile の出力ディレクトリであることを確認してください。このディレクトリには、sima_files というサブディレクトリが含まれている必要があります。

エラー:「mpk directory cannot be found」

コンパイルが正常に完了したことを確認してください。sima_files/mpk/ ディレクトリには、.tar.gz ファイルが含まれている必要があります。

デプロイに時間がかかっています

  • 圧縮機能付きの rsync を使用してください。このツールは、デフォルトで rsync -aP を使用します。
  • Modalix にモデルをデプロイし、NVMe ストレージを使用することで、モデルの読み込みを高速化できます。
  • 変更されたファイルのみをデプロイすることを検討してください。 --resume コンパイル中に