ekzhang/openjev-sglang

Jev-compatible API endpoint based on open models (prefill-only)

何を解決するか

TypeSafe/Jev HTTP APIのサーバー実装を提供し、Qwen3.6-35B-A3Bモデルを用いて高効率な分類およびスコアリングタスクを実行できるようにします。1回のリクエスト内で複数の質問(Noul、Choice、Score)に対する高速な1トークン出力のニーズに特化しており、長文生成のオーバーヘッドを回避します。

動作方法

サーバーはSGLangを推論バックエンドとして使用し、Rustフロントエンド、ルーティングキャッシュ、および分割可能なプレフィルCUDAグラフを採用しています。リクエストが到着すると、ネイティブチャットテンプレートを一度レンダリングし、共通プレフィックスと複数の質問サフィックスに分割します。共通プレフィックスでSGLangのルーティングキャッシュを事前ウォームアップし、その後、プレフィックスと各質問サフィックスを並列でバックエンドに送信します。各呼び出しは1トークンのみを要求(max_new_tokens=1)し、特定の回答ラベルの対数確率を取得します。これらの確率は安定したsoftmaxで再正規化され、最終的な回答(例:Choiceのargmax、Scoreの重み付き和)が決定されます。

対象ユーザー

Jev APIと互換性のある高スループット・低レイテンシの分類APIが必要な開発者。特にModalを介してNVIDIA B200 GPUにデプロイするケースを想定しています。

特徴

  • 高効率推論: プレフィル+最初のトークン読み出しのアプローチにより、自己回帰生成を回避します。
  • ルーティングキャッシュ: 複数の質問間で共通するプロンプトプレフィックスを再利用することでパフォーマンスを最適化します。
  • B200最適化: SGLangのRustフロントエンドを活用し、B200 GPU向けに設計されています。
  • 複数質問対応: 1リクエストあたり最大64の質問を処理可能で、各質問に複数の選択肢を含められます。
  • Modal統合: Modalでの簡単なデプロイとオートスケーリングを内蔵サポートしています。

関連

  • プロジェクト
  • プロジェクト
  • Dispatch
  • プロジェクト
  • Dispatch