Hub documentation

モデルのダウンロード統計

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

モデルのダウンロード統計

モデルのダウンロード回数はどのようにカウントされますか?

モデルのダウンロード回数をカウントすることは容易ではありません。1つのモデルリポジトリには、複数のファイル(シャード化されたモデルの場合、複数のモデル重みファイルを含む)や、ライブラリによって異なる形式(GGUF、PyTorch、TensorFlow など)が含まれる可能性があるためです。ダウンロードの二重カウント(1回のモデルダウンロードを複数回のカウントとして扱うこと)を避けるために、Hub はダウンロードカウントに使用するクエリファイルのセットを利用しています。この処理にはユーザーからの情報送信は行われず、追加の呼び出しも発生しません。カウントはサーバーサイドで実行され、Hub がダウンロード用にファイルを配信する際に実施されます。

これらのファイルへのすべての HTTP リクエスト(GET および HEAD を含む)はダウンロードとしてカウントされます。デフォルトでは、ライブラリが指定されていない場合、Hub は config.json をデフォルトのクエリファイルとして使用します。それ以外の場合は、クエリファイルは各ライブラリによって異なり、Hub は pytorch_model.bin や adapter_config.json などのファイルを参照する場合があります。

異なるライブラリ用のクエリファイルはどれですか?

デフォルトでは、Hubはconfig.json、config.yaml、hyperparams.yaml、params.json、meta.yamlを確認します。一部のライブラリは、独自のフィルター(countDownloadsの指定)によってこれらのデフォルトをオーバーライドします。これらのオーバーライドを定義するコードはオープンソースです。例えば、nemoライブラリの場合、.nemo拡張子を持つすべてのファイルがダウンロード数のカウントに使用されます。

ライブラリ用のクエリファイルを追加できますか?

はい、こちらから Pull Request を作成できます。VFIMamba へのダウンロードメトリクスの追加を示す最小限の例を以下に示します。詳細については、統合ガイドを参照してください。

GGUFファイルはどのように処理されますか?

GGUFファイルは自己完結型であり、特定のライブラリに依存しないため、すべてがダウンロード数にカウントされます。これにより、ユーザーがリポジトリ全体をクローンした場合にダウンロード数が二重にカウントされる可能性がありますが、ほとんどのユーザーやインターフェースでは、リポジトリごとに単一のGGUFファイルをダウンロードします。

diffusers はどのように処理されますか?

diffusers ライブラリは特殊なケースであり、そのフィルターは内部コードベース内で設定されています。このフィルターにより、diffusers とタグ付けされたリポジトリでは、ライブラリ経由で読み込まれるファイルと、トップレベルの safetensors をユーザーが手動でダウンロードする必要がある UI 経由で読み込まれるファイルの両方がカウントされます。

filter: [
		{
			bool: {
				/// Include documents that match at least one of the following rules
				should: [
					/// Downloaded from diffusers lib
					{
						term: { path: "model_index.json" },
					},
					/// Downloaded from diffusers lib through modular pipelines
					{
						term: { path: "modular_model_index.json" },
					},
					/// Direct downloads (LoRa, Auto1111 and others)
					/// Filter out nested safetensors and pickle weights to avoid double counting downloads from the diffusers lib
					{
						regexp: { path: "[^/]*\\.safetensors" },
					},
					{
						regexp: { path: "[^/]*\\.ckpt" },
					},
					{
						regexp: { path: "[^/]*\\.bin" },
					},
				],
				minimum_should_match: 1,
			},
		},
	]
}

モデルにより詳細なダウンロードデータが必要な場合はどうすればよいですか?

より詳細なダウンロードデータが必要な場合、例えば:

  • config.jsonとモデルの重みを区別します。
  • CI/CD パイプラインからダウンロードを除外します。
  • またはユーザーを重複排除する(つまり、ユニークなダウンロード数をカウントする)

その後、Publisher Analytics、特にgranular logs機能により、組織が公開したすべてのモデルとデータセットについて、匿名化されたリクエストレベルのアクセスログを提供できます。

ほとんどの組織が独自のルールを適用したいと考えているため、これらは生のログとして提供されます。

Update on GitHub