andyqin18's picture
Finished Milestone1
5b45a77
|
raw
history blame
No virus
3.5 kB
# AI Project: Finetuning Language Models - Toxic Tweets
Hello! This is a project for CS-UY 4613: Artificial Intelligence. I'm providing a step-by-step instruction on finetuning language models for detecting toxic tweets.
# Milestone 1
This milestone includes setting up docker and creating a development environment on Windows 11.
## 1. Enable WSL2 feature
The Windows Subsystem for Linux (WSL) lets developers install a Linux distribution on Windows.
```
wsl --install
```
Ubuntu is the default distribution installed and WSL2 is the default version.
After creating linux username and password, Ubuntu can be seen in Windows Terminal now.
Details can be found [here](https://learn.microsoft.com/en-us/windows/wsl/install).
![](milestone1/wsl2.png)
## 2. Download and install the Linux kernel update package
The package needs to be downloaded before installing Docker Desktop.
However, this error might occur:
`Error: wsl_update_x64.msi unable to run because "This update only applies to machines with the Windows Subsystem for Linux"`
Solution: Opened Windows features and enabled "Windows Subsystem for Linux".
Successfully ran update [package](https://docs.microsoft.com/windows/wsl/wsl2-kernel).
![](milestone1/kernal_update_sol.png)
## 3. Download Docker Desktop
After downloading the [Docker App](https://www.docker.com/products/docker-desktop/), WSL2 based engine is automatically enabled.
If not, follow [this link](https://docs.docker.com/desktop/windows/wsl/) for steps to turn on WSL2 backend.
Open the app and input `docker version` in Terminal to check server running.
![](milestone1/docker_version.png)
Docker is ready to go.
## 4. Create project container and image
First we download the Ubuntu image from Docker’s library with:
```
docker pull ubuntu
```
We can check the available images with:
```
docker image ls
```
We can create a container named *AI_project* based on Ubuntu image with:
```
docker run -it --name=AI_project ubuntu
```
The `–it` options instruct the container to launch in interactive mode and enable a Terminal typing interface.
After this, a shell is generated and we are directed to Linux Terminal within the container.
`root` represents the currently logged-in user with highest privileges, and `249cf37645b4` is the container ID.
![](milestone1/docker_create_container.png)
## 5. Hello World!
Now we can mess with the container by downloading python and pip needed for the project.
First we update and upgrade packages by: (`apt` is Advanced Packaging Tool)
```
apt update && apt upgrade
```
Then we download python and pip with:
```
apt install python3 pip
```
We can confirm successful installation by checking the current version of python and pip.
Then create a script file of *hello_world.py* under `root` directory, and run the script.
You will see the following in VSCode and Terminal.
![](milestone1/vscode.png)
![](milestone1/hello_world.png)
## 6. Commit changes to a new image specifically for the project
After setting up the container we can commit changes to a specific project image with a tag of *milestone1* with:
```
docker commit [CONTAINER] [NEW_IMAGE]:[TAG]
```
Now if we check the available images there should be a new image for the project. If we list all containers we should be able to identify the one we were working on through container ID.
![](milestone1/commit_to_new_image.png)
The Docker Desktop app should match the image list we see on Terminal.
![](milestone1/app_image_list.png)