-
Notifications
You must be signed in to change notification settings - Fork 562
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
base: master
Are you sure you want to change the base?
Conversation
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 |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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": |
There was a problem hiding this comment.
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", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change default to 405b
Adds the initial Llama 3.1 reference implementation.