Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[LLM] Adds Llama 3.1 reference implementation code #781

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

Elnifio
Copy link
Contributor

@Elnifio Elnifio commented Jan 8, 2025

Adds the initial Llama 3.1 reference implementation.

@Elnifio Elnifio requested a review from a team as a code owner January 8, 2025 08:00
Copy link

github-actions bot commented Jan 8, 2025

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

FROM ${NEMO_BASE_IMAGE} AS nemo-base-image

RUN pip uninstall transformers -y
RUN pip install transformers blobfile
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please freeze the versions for reproducibility


RUN pip uninstall transformers -y
RUN pip install transformers blobfile
RUN pip install prettytable
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as above


### Steps to run and time

To train Llama 3.1 405B, we need to fill out all fields in [config.sh](./config.sh). This file contains all configurations for Slurm cluster access and job submission configurations, directory mappings, containers, and model configurations.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have an example config.sh file with all these values filled out so users know what the paths should point to or what the contents for these values should look like? For example mention what the contents of the tokenizer path should look like and where it should be saved. Maybe also state that these paths need to be mounted (if that's necessary) during docker run.


We use Mixtral 8x22B tokenizer in this benchmark. Tokenizer files can be downloaded [here](https://huggingface.co/mistralai/Mixtral-8x22B-v0.1/tree/main). Only the five files containing tokenizer-related contents (`special_tokens_map.json`, `tokenizer.json`, `tokenizer.model`, `tokenizer.model.v1`, `tokenizer_config.json`) are needed.

### Data preprocessing
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Once the processed data is uploaded to MLC, please move these sections to an appendix and just share instructions on how to download the processed data.


exp_name = size

if size == "8b":
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mention that 8b and 70b are there only for debugging and that the benchmark is actually llama3.1 405b to avoid confusion

model_group.add_argument(
"--size",
type=str,
default="8b",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change default to 405b

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants