- 生成モデル:
llm = LLM(model=..., task="generate")(task=generate のみ) - プーリングモデル:
llm = LLM(model=..., task="embed")(task={embed,classify,reward} のみ) - 成功すると、生成モデルはテキストを返し、プーリングモデルは隠れ状態を返します。
カスタムモデルの統合 #
git clone --depth 1 https://github.com/vllm-project/vllm/- Transformers リポジトリにファイルを追加し、vllm/model_executor/models ディレクトリに配置します。
既存のモデルエグゼキューター #
https://github.com/vllm-project/vllm/tree/main/vllm/model_executor/models
Hugging Face Transformer リポジトリ #
.gitattributes
Git の動作を設定します。通常は大きな重みファイルの Git LFS 追跡を設定します。 推論時には使用されません。
config.json
モデルアーキテクチャとハイパーパラメーター(モデル種別、層数、隠れサイズ、 アテンションヘッド数、語彙サイズ、位置エンコーディング、dtype、アーキテクチャ クラス)を定義します。
generation_config.json
EOS/PAD トークン ID、サンプリング設定、最大出力長など、デフォルトの生成動作を 定義します。呼び出し時のパラメーターで上書きできます。
model.safetensorsormodel-x-of-y.safetensorsモデルの重みの一部です。シャーディングにより、巨大な単一ファイルを避けます。 シャードの境界は必ずしも層に対応しません。model.safetensors.index.json
すべてのパラメーター名を、それを含むシャードに対応付けます。たとえば model.layers.0… → model-00001-of-00024.safetensors のようになります。 通常は重みの合計サイズも記録します。
tokenizer_config.json
トークナイザーのメタデータ(トークナイザークラス、最大長、特殊トークン、 正規化オプション、多くの場合はチャットテンプレート)です。
tokenizer.json
語彙、分割、正規化、BPE ルール、後処理を含む、「fast tokenizer」パイプライン 全体のシリアライズデータです。
vocab.json
テキストトークンまたはバイト表現を整数のトークン ID に対応付けます。
merges.txt
小さな記号をより大きなトークンへ結合する方法を記述した、順序付き BPE マージ ルールです。
コメント
GitHub で閲覧・コメントする(投稿にはログインが必要です)