mlcommons / training

Reference implementations of MLPerf™ training benchmarks
https://mlcommons.org/en/groups/training
Apache License 2.0
1.62k stars 560 forks source link

Add MLCube implementation for llama2 #749

Open davidjurado opened 5 months ago

davidjurado commented 5 months ago

MLCube for Llama 2

MLCube™ GitHub repository. MLCube™ wiki.

Project setup

An important requirement is that you must have Docker installed.

# Create Python environment and install MLCube Docker runner 
virtualenv -p python3 ./env && source ./env/bin/activate && pip install pip==24.0
pip install mlcube-docker
# Fetch the implementation from GitHub
git clone https://github.com/mlcommons/training && cd ./training
git fetch origin pull/749/head:feature/mlcube_llama2 && git checkout feature/mlcube_llama2
cd ./llama2_70b_lora/mlcube

Inside the mlcube directory run the following command to check implemented tasks.

mlcube describe

Extra requirements

Install Rclone in your system, by following these instructions.

MLCommons hosts the model for download exclusively by MLCommons Members. You must first agree to the confidentiality notice.

When finishing the previous form, you will be redirected to a Drive folder containing a file called CLI Download Instructions, follow the instructions inside that file up to step: #3 Authenticate Rclone with Google Drive.

When finishing this step a configuration file for Rclone will contain the necessary data to download the dataset and models. To check where this file is located run the command:

 rclone config file

Default: ~/.config/rclone/rclone.conf

Finally copy that file inside the workspace folder that is located in the same path as this readme, it must have the name rclone.conf.

MLCube tasks

Download dataset.

mlcube run --task=download_data -Pdocker.build_strategy=always

Train.

mlcube run --task=train -Pdocker.build_strategy=always

Here is a video explaining the demo steps:

IMAGE ALT TEXT HERE

Download demo dataset.

mlcube run --task=download_demo -Pdocker.build_strategy=always

Train demo.

mlcube run --task=demo -Pdocker.build_strategy=always

Execute the complete pipeline

You can execute the complete pipeline with one single command.

mlcube run --task=download_data,train -Pdocker.build_strategy=always
mlcube run --task=download_demo,demo -Pdocker.build_strategy=always
github-actions[bot] commented 5 months ago

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅