Hub documentation
모델 다운로드 통계
모델 다운로드 통계
모델의 다운로드 횟수는 어떻게 집계되나요?
모델의 다운로드 횟수를 세는 것은 자명한 작업이 아닙니다. 단일 모델 저장소에는 여러 파일이 포함될 수 있으며, 이는 여러 모델 가중치 파일(예: 샤드된 모델)과 라이브러리(GGUF, PyTorch, TensorFlow 등)에 따라 다른 형식을 포함합니다. 다운로드를 중복 집계하는 것을 방지하기 위해(예: 모델의 단일 다운로드를 여러 다운로드로 집계하는 것), 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 기능을 통해 조직이 게시한 모든 모델과 데이터셋에 대한 익명화된 요청 수준 액세스 로그를 제공할 수 있습니다.
대부분의 조직이 자체적인 커스텀 규칙을 적용하기를 원하므로, 이는 원시 로그(raw logs)로 제공됩니다.
Update on GitHub