WizMap
Exploring and interpreting large embeddings in your browser!
wizmap.mp4 |
||
🚀 Live Demo |
What is WizMap?
WizMap is a scalable interactive visualization tool to help you easily explore large machine learning embeddings. With a novel multi-resolution embedding summarization method and a familiar map-like interaction design, WizMap allows you to navigate and interpret embedding spaces with ease.
✅ | Scalable to millions of embedding point |
✅ | Multi-resolution embedding summaries |
Fast embedding search | |
Multimodal data (text and image) | |
✅ | Animated embedding evolution |
Support computational notebooks (e.g., Jupyter, Colab, VS Code) | |
✅ | Sharable URLs |
WizMap Gallery
DiffusionDB Prompts + Images | ACL Paper Abstracts | IMDB Review Comments |
1.8M text + 1.8M images | 63k text | 25k text |
CLIP Embedding |
all-MiniLM-L6-v2 Embedding |
all-MiniLM-L6-v2 Embedding |
Submit a PR to add your WizMap here! You can share your WizMap using a unique URL.
Web Demo
For a live web demo, visit: https://poloclub.github.io/wizmap.
Get Started
Clone or download this repository:
git clone [email protected]:poloclub/wizmap.git
Install the dependencies:
npm install
Then run WizMap:
npm run dev
Navigate to localhost:3000. You should see WizMap running in your browser :)
Use My Own Embeddings
To use WizMap with your embeddings, you first need to install the wizmap
Python library.
pip install wizmap
Then take a look at this notebook for a detailed guide. Spoiler alert: You'll be up and running with just two function calls from the wizmap
library. These two JSON files contain pre-computed embedding summaries, distributions, and the original embedding data.
After generating the JSON files, you have two options to use WizMap.
- Browser: You can click the folder icon on the bottom right of the WizMap demo and enter the URLs to the JSON files in the pop-up window.
- Notebook: If you are familiar with computational notebooks (e.g., Jupyter Notebook, VSCode Notebook, Colab), you can directly use WizMap in your favorite notebook platform with
wizmap.visualize()
.
Share My WizMap
You can easily share your embedding maps with collaborators by copying the unique URL of WizMap from your browser. For example, the URL below points to an IMDB embedding in WizMap.
https://poloclub.github.io/wizmap/?dataURL=https%3A%2F%2Fhuggingface.co%2Fdatasets%2Fxiaohk%2Fembeddings%2Fresolve%2Fmain%2Fimdb%2Fdata.ndjson&gridURL=https%3A%2F%2Fhuggingface.co%2Fdatasets%2Fxiaohk%2Fembeddings%2Fresolve%2Fmain%2Fimdb%2Fgrid.json
Credits
WizMap is created by Jay Wang, Fred Hohman, and Polo Chau.
Citation
To learn more about WizMap, please read our research paper (published at ACL'23 System Demonstration).
@article{wangWizMapScalableInteractive2023,
title = {{{WizMap}}: {{Scalable Interactive Visualization}} for {{Exploring Large Machine Learning Embeddings}}},
shorttitle = {{{WizMap}}},
author = {Wang, Zijie J. and Hohman, Fred and Chau, Duen Horng},
year = {2023},
url = {http://arxiv.org/abs/2306.09328},
urldate = {2023-06-16},
archiveprefix = {arxiv},
journal = {arXiv 2306.09328}
}
License
The software is available under the MIT License.
Contact
If you have any questions, feel free to open an issue or contact Jay Wang.