Back home

オープンソースモデルが公開された後、最初に脆弱になるのはバージョンロックです。

モデルの重みは引き続き取得できますが、修正されたバージョンは再現できない可能性があります。

オープンソース モデルが公開された後、通常は修正バージョンが最初に緩和され、ウェイト ファイルが最も安定していることがよくあります。

ウェアハウス名とモデル名はまだ存在しますが、評価の実行、回帰の実行、およびトラフィックの接続に使用される実際の入力は、多くの場合同じものではありません。今日プルしたのは main で、来週も同じパスになりますが、トークナイザー、テンプレート、量子化パッケージ、デフォルトの dtype、さらには README の推奨パラメーターが変更されています。ネット上で見かけるのは「モデルが消える」のではなく、「同じモデル名が別の成果物になる」ということです。

モデルへのアクセスを何度か引き継いだ後、最も無視されやすい値がデフォルト値であることがわかります。通常、ウェイト ファイルは誰かによって監視されていますが、デフォルトのタグ、デフォルトの画像、デフォルトのテンプレート、およびデフォルトのキャッシュ ディレクトリは放置されることがよくあります。同期ウィンドウがスタックしている場合、またはミラー ステーションが重みだけを同期し、構成は同期していない場合、チームは突然、自分たちが保持しているのが再現可能なバージョンではなく、漂流する一連の名前であることに気づくでしょう。

デフォルトの入り口は重さよりもドリフトしやすいです。

ウェイト ファイルは静的ですが、エントリは静的ではありません。

model-name:latest この書き方は簡単そうに見えますが、問題は「いつ更​​新するか」という問題を外部に委ねていることです。アップストリームがトークナイザーを変更したり、チャット テンプレートを追加したり、定量化パッケージを再入力したりすると、アクセス パーティの動作もそれに応じて変化します。評価スコアの変動はわずかかもしれませんが、オンラインのアウトプットは静かにトーンを変えます。トラブルシューティングの際に最も厄介な部分はここです。ログではすべてが正常に見えますが、実際には別の入力が呼び出されています。

本当に不快なのは、変化そのものではなく、変化に境界線がないという事実である。名前が変更されていない限り、回帰、グレースケール、および事故のレビューでは、結果に焦点を当てて理由を推測することしかできません。モデル名はそこに表示され続けていますが、チームは今日入手したものが先週ベースラインを実行したものと同じ製品であるかどうかを確認する方法がありません。

画像、テンプレート、量子化パッケージは一緒に凍結する必要があります

重量を固定するだけでは十分ではありません。

オープンソース モデルが実際にワークフローに入った後は、通常、複数の .bin または .safetensors が含まれます。また、トークナイザー、チャット テンプレート、推論フレームワーク パラメーター、定量化ファイル、ダウンロード イメージ、起動スクリプト、キャッシュ パスも提供されます。そのうちのどれかがずれると、最終的には「モデルが悪くなった」ことが示される可能性があります。実際、変更されるのはモデルではなく、納品パッケージであることがよくあります。

model:
  repo: example/model
  revision: 8f3c1a2
  tokenizer_revision: 8f3c1a2
  cache_dir: /opt/model-cache

このタイプの構成は冗長に見えますが、イメージが可用性を担当し、バージョン番号とハッシュが再現性を担当し、起動スクリプトが一貫した推論パラメータを担当します。これらの層がいずれもなければ、いわゆる「すでに公開されている」モデルは半完成品としか考えられません。アクセス側にとって最も重要なことは、ダウンロードできるかどうかではなく、ダウンロードしたコンテンツが 3 週間後も同じ結果を生み出すことができるかどうかです。

本当に保存する必要があるのは、再現する能力です

オープンソースモデルが公開された後、チームが守る必要があるのは、謎の入り口ではなく、再現性です。

再現性が中断されると、評価ベースラインが変動し、A/B 結果が歪み、事故の再生が基準を失います。誰もが「先週は正常だった」という言葉を使って問題について議論するまでに、バージョン管理は基本的に失敗しています。この時点でモデルの機能について話すのはあまり意味がありません。修正バージョン、イメージ同期、ハッシュ検証、ロールバック パスを強化することによってのみ、その効果について話し続ける資格が得られます。

このタイプのモデルは、Web サービスというよりはソフトウェア成果物に似ています。 Web ページが壊れていても 500 が表示されますが、モデルのバージョンは変動しており、多くの場合、出力内でゆっくりと変化するだけです。表面的には名前は同じですが、実際にはシステムの半分が変更されています。

FAQ

What to read next

Related

Continue reading