What is Huggingface?
Open-source large language models are powerful and plentiful. The rapid pace of their development makes them difficult to discover. Where can we get hold of them, and how can AI practitioners share their work?
The AI community building the future. The platform where the machine learning community collaborates on models, datasets, and applications. - Huggingface
First things first: what is up with the name?
A "Hugging Face" is an emoji. It's an image of a smiling face with open hands, similar to the "thinking face" 🤔 or the "face with hand over mouth" 🤭 emojis, except that the Hugging Face emoji 🤗 features two open hands that are meant to convey an incoming hug.
The company Huggingface is named after that emoji because it was originally a chatbot provider intended to be a kind of artificial friend for young people, as opposed to an AI marketplace similar to Github, which is what it is now.
Founded in 2016, the company was built around a chatbot application and, showing its open-source roots, released the model that enabled the chatbot's AI capabilities. The code they open-sourced is the highly influential and well-known Transformers library; the name coming from the celebrated paper Attention is All You Need. Today Transformers is one of the most widely adopted libraries for machine learning (ML) models.
With the release of this library and its somewhat surprising level of adoption, Huggingface suddenly found itself in a situation where they could pull off a classic startup pivot, moving from running a chatbot to becoming what they are now—a hub for open source AI, a place to store artifacts like models and datasets, and most importantly, a community of AI practitioners.
What Does Huggingface Do?
The easiest way to think of Huggingface is as a kind of Github, but for AI artifacts. Instead of storing code, it stores artifacts related to artificial intelligence, such as models and datasets. It is a platform for AI builders to find, create, and discuss AI—a place where they can share their work. Models and datasets are quite different from code in that code is relatively easy to store and easy to understand in terms of the ability to create "diff" versions, build out pull requests, and so on. We have a long history of doing this sort of thing, but now, with AI, many of these needs are new. Huggingface is building out a platform that meets those needs and, in doing so, provides a kind of marketplace that allows for a network effect in terms of the discoverability and usability of AI models.
- Models
An AI model is like a giant set of numbers, also called parameters, that takes what we give it—perhaps a prompt, an instruction, or an image—and then sifts it through its internal structure, which is effectively a black box, and produces an output. While some larger models are capable of generalized tasks, Huggingface's raison d'être is that there will be many more smaller open source models than large commercial models and that these more numerous open models will need a community and a marketplace to support their use and success.
- Datasets
Training models on data is essential for their functionality. This data, a dataset, is extremely important to how the model works. Interestingly, we can "fine-tune" existing models, which means taking an existing model and adapt it to new uses using datasets that we, or others, provide. In this way, a platform like Huggingface with many available models and datasets allows for the combination and fine-tuning of these resources to create new and interesting models.
- Spaces
Huggingface Spaces allows you to build, host, and share machine-learning applications. Spaces was designed as an easy way to build and have a working prototype to demonstrate the capabilities of your model. What's the point of building a model if you can't use it? Spaces lets you build and share these ML applications.
- Collaboration
As with Github, you can follow other users and projects to keep up to date with what they are doing. You can also discuss the models and datasets using the platform, asking questions and getting answers.
- Open LLM Leaderboard
If we have many open models, how do we know which ones are the best? One way is to provide some sort of test harness, run these models through it, and then rank the models based on the results, and this is exactly what Huggingface provides. However, it is important to approach any ranking with caution, as it can be manipulated and may not align with your specific goals, but it does offer a certain level of discoverability.
- Infrastructure
Apart from Spaces, Huggingface also provides infrastructure and partnerships to deploy AI models. For example, if you want to easily deploy your model and run it on an NVIDIA A100, you can, but it will cost you. However, the process will be easy and straight-forward.
- Transformers library and other documentation and code
Their participation in open source, with the creation and ongoing development of the Transformers library and other tools, is clearly valuable to the ecosystem. There is a vibrant ecosystem of frameworks such as TensorFLow, Keras, Transformers (which has support for both TensorFlow and PyTorch), PyTorch, etc.
- Autotrain
When a company like Huggingface has a marketplace and the ability to provide code libraries and AI infrastructure, there is also the opportunity to provide solutions that make things easier for end users. Building and fine-tuning models requires highly technical work, but it can also become repetitive as the same processes are used repeatedly, creating potential for automation. Huggingface is doing just that with things like Autotrain, a system that allows you to easily train a custom model with just a few clicks.
An AI Sharing Platform
Huggingface has done a great service by using its open source roots to create a platform for people to build and share their AI work. It remains to be seen what the business model will look like, something I will be writing about in future post.
With that all in mind, here's my Huggingface account. Thanks for reading!