ホームへ戻る

GitHub Repo

Transformersのメンテナー、serveのサンプリング不備を確認 正のtemperatureでも貪欲デコードが使われる可能性

10月19日の報告によると、一部のモデルではserveに正のtemperatureを渡してもランダムサンプリングが有効にならない。メンテナーは問題を認め、修正を整理し直すと述べたが、正式な修正を確認できるリリースはまだない。

Sarang · Public domain · Image source
zh-Hant

Hugging Face Transformersの軽量推論サービスで、生成パラメーターの受け渡しに不備が見つかった。10月19日に投稿された報告では、transformers serve経由でMistral-7B-Instruct-v0.3を呼び出し、temperatureを1.5に設定しても、同じプロンプトを10回入力すると毎回まったく同じ回答が返された。報告時の環境は5.21.0.dev0、Apple MPSで、連続バッチ処理は無効だった。この結果をすべての正式リリースや実行バックエンドにそのまま当てはめることはできない。問題報告

問題の要点は、APIのtemperatureパラメーターと下位の生成モードの対応にある。提案者によると、サービスは温度がゼロの場合にdo_sample=Falseを設定する一方、正の温度の場合にはサンプリングを有効にしていなかった。モデルの生成設定でdo_sampleが有効になっていなければ、生成は貪欲デコードのままになる。公式ドキュメントでも、ランダムサンプリングを有効にするにはdo_sample=Trueが必要であり、temperatureだけでは生成モードを切り替えられないと説明されている。生成戦略のドキュメント

同日に提出された修正案は、temperatureがゼロでない場合にサンプリングを有効にし、設定の構築を検証するテストを追加するものだった。提案者はローカルで修正を適用したところ、10回の呼び出しで10種類の回答が得られたと報告した。その後、メンテナーのSunMarcは、現在のデフォルト設定ではtemperatureを変更しても貪欲デコードが続く可能性があると認めた。ただし、パラメーター処理は提案より複雑だとして、別途整理し、ほかの推論エンジンとの整合性を取ると述べた。確認時点で提案はまだマージされておらず、ローカルでの結果は上流で修正が完了したことを意味しない。修正案とメンテナーの返信

これは評価やエージェントの実験に直接影響する。公式ドキュメントでは、serveはローカル環境やセルフホスト環境での利用、評価、中程度の負荷を想定しており、互換性のあるチャットエンドポイントも提供している。これを踏まえると、エンジニアリングチームがtemperatureを上げて複数の候補回答を得ようとしても、この不備によって期待した探索が行われず、回答の多様性に関する判断が狂う可能性がある。サービスのドキュメント

今後は、代替の修正案、正式リリース、トップレベルのtemperatureとモデルの生成設定のどちらが優先されるかを追う必要がある。デプロイを検証する際は、実際に渡されるサンプリングフラグを確認し、複数のプロンプトで出力分布を比較するのがよい。同じプロンプトを繰り返すだけでは、サンプリングが無効だと単独で証明するには不十分だ。

出典

  1. [serve] Sampling not enabled for positive temperature #49734
  2. [serve] Fix sampling not enabled for positive temperature #49732
  3. Generation strategies
  4. Serve CLI