The State of Generative AI
You might have seen a lot of things about AI tools such as ChatGPT (opens in a new tab), BART (opens in a new tab), LLaMA (opens in a new tab), Whisper (opens in a new tab), stable-diffusion (opens in a new tab) and many more. This article will not be teaching you about how it works, but it will try to mention interesting projects related to AI that I have found.
AI vs. You
Personally, I'm not afraid of AI replacing my job while some people are concerning and signing letters to pause the AI research and model training. If you think humans are capable of creating an AI model that can entirely replace themselves, you might be watching too much movies. We're not there yet. Both of us, AI and human, are different and good at doing different things. Human's ability to remember and constantly learning are far more superior than AI right now.
For example, ChatGPT is a large language model, so it's basically a massive collection of data that have been crawled from the internet. Think of it as a search engine that is capable of understanding some human languages (Khmer language excluded 😂). It gives us answers based on its knowledge that it has been trained on. Some common answers are correct while some are completely wrong. I always think of it as a Contents Generator Machine.
If you're still scared of it, you should get your hands dirty with AI and ML to get better understanding of how it works under the hood.
Anaconda
Do not install pip
or python
directly in your computer. Always use Anaconda. It helps you run anything related to Python without pain.
# create an env
conda create -n scared_of_ai python==3.10
# activate your env
conda activate scared_of_ai
When installing dependencies, use this
python -m pip install transformers accelerate
Instead of
pip install transformers accelerate
Gradio
A library for building interactive Web UI for machine learning models that can be accessed via web browsers because most people who are good at ML/AI are lazy to build easily accessible GUIs for average users like us.
Hugging Face
A website for hosting and downloading pretrained models that made by you or other people in the community. There are three terms that you should understand:
-
Datasets - a bunch of data that might be useful for building or fine-tuning machine learning models.
openslr
(opens in a new tab) - contains many audio files that saying random and nonsense stuff in the texts.google/fleurs
(opens in a new tab) Same asopenslr
, but has more labels such asmale
orfemale
is speaking.beans
(opens in a new tab) a collection bean photos.
-
Models - Once you've trained a datasets you'll get large binary files that's unusable if you don't import it back into library like PyTorch or transformers
-
Spaces - Gradio apps hosted on Hugging Face servers.
Hugging Face is really similar to GitHub but for machine learning.
Jupyter Notebook
A web UI that you can execute Python and scripts from a remote or local machine with isolated environments. No Anaconda needed!
Google Colab
It's a Jupyter Notebook running on Google servers.
Fine-tuning or Transfer learning
A process for converting/modifying a machine learning model to do similar tasks that the current model is incapable of or can be used to narrow down the scope of a machine learning model into specific needs.
For example, let's say we have a pretained MobileNet model that can understand 1,000 classes of images, and we want to fine-tune it to understand only two classes such as Apple or Orange. This process is very common!