Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add CLIP-ViT-L-scope #1022

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

Lewington-pitsos
Copy link

No description provided.

Comment on lines 215 to 218
"clip-scope": {
prettyLabel: "CLIP-ViT-L-scope",
repoName: "CLIP-ViT-L-scope",
repoUrl: "https://github.com/Lewington-pitsos/vitsae",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @Lewington-pitsos, thanks for opening a PR :) Just to understand, what is the library here? For what I can see:

  • clip-scope seems like a generic name that is not mentioned in both the model card and the github repo
  • clipscope seems to be a Python library ("from clipscope import ConfiguredViT, TopKSAE" in the model card) but can't see how to install it. At least it doesn't seem to be on PyPI.
  • CLIP-ViT-L-scope is a very specific name (the name of the repo on the Hub)
  • vitsae is the name of the repo on the Hub. Is it planned to be a published library at some point?

I'm asking this because depending on what you plan to do here, the integration with the Hub could change. Typically, do you think other repos might use the same library in the future or will it be a "one-shot"? We usually recommend to have a consistent naming between the library and repo tags to avoid confusion. Also, the name of the library is usually different from the name of the repo on the Hub, especially when multiple models are linked to the same library.

repoName: "CLIP-ViT-L-scope",
repoUrl: "https://github.com/Lewington-pitsos/vitsae",
filter: false,
countDownloads: `path_extension:"pt"`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

By doing so, any download of any pt file in the model will count as a new download. This means that if a user downloads the full repo, we will count it as X downloads (~80?). It's ok to do so if you think users will only download files one by one depending on their use case.

Another problem is that all downloads are tracked as 1 metric and you won't be able to know if users are more interested by a layer or another. A solution for this would be to create N models on the Hub (1 per layer for instance) and then create a Collection so group them all. For example you can find all models related to the Gemma scope release in this collection: https://huggingface.co/collections/google/gemma-scope-release-66a4271f6f0b4d4a9d5e04e2. A benefit of having a collection of models is that downloads will be tracked for each model individually, giving you more insights on the usage of your library.

If you worry about the cost of maintaining all these repos, I'd recommend automating the upload and consistency between model cards using a script based on huggingface_hub. Let me know what you think :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In terms of tracking, these models are all derived from the same training process and a common use case for them should be to compare how they perform against one another. In a sense collectively they comprise a single tool. https://huggingface.co/google/gemma-scope-2b-pt-res from which we took inspiration takes a similar approach and places large numbers of related models together as a single "model".

Makes sense to keep countDownloads: path_extension:"pt", in that case!

@Lewington-pitsos
Copy link
Author

Lewington-pitsos commented Nov 14, 2024

Thanks for the super quick feedback, I have tried to make the names more consistent as suggested, I have also changed the repo to point to the github repo for using the files (clipscope) rather than the one I used to train the models (vitsae). The clipscope repo is much more likely to be used by others in future than vitsae.

I seem to be able to access the clipscope pypi package (https://pypi.org/project/clipscope/) and pip install clipscope from the usage section works for me, does it fail for you?

In terms of tracking, these models are all derived from the same training process and a common use case for them should be to compare how they perform against one another. In a sense collectively they comprise a single tool. https://huggingface.co/google/gemma-scope-2b-pt-res from which we took inspiration takes a similar approach and places large numbers of related models together as a single "model".

Personally I am most interested in the extent to which people are using the tool in any respect than I am in which parts of it are being used most.

Copy link
Contributor

@Wauplin Wauplin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarification @Lewington-pitsos! Then I think it makes sense to integrate the library as mentioned below.

Also, to make it connected to your model repo on the Hub, you'll have to edit the model card metadata to add library_name: clipscope here. Once that's done and the comments below are addressed, we should be able to merge :)

Comment on lines +215 to +217
"clip-vit-l-scope": {
prettyLabel: "CLIP-ViT-L-scope",
repoName: "CLIP-ViT-L-scope",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
"clip-vit-l-scope": {
prettyLabel: "CLIP-ViT-L-scope",
repoName: "CLIP-ViT-L-scope",
"clipscope": {
prettyLabel: "clipscope",
repoName: "clipscope",

Given the library is https://github.com/Lewington-pitsos/clipscope, I'd recommend to tag the model as "clipscope" instead.

repoName: "CLIP-ViT-L-scope",
repoUrl: "https://github.com/Lewington-pitsos/vitsae",
filter: false,
countDownloads: `path_extension:"pt"`,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In terms of tracking, these models are all derived from the same training process and a common use case for them should be to compare how they perform against one another. In a sense collectively they comprise a single tool. https://huggingface.co/google/gemma-scope-2b-pt-res from which we took inspiration takes a similar approach and places large numbers of related models together as a single "model".

Makes sense to keep countDownloads: path_extension:"pt", in that case!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants