mirror of
https://github.com/mlabonne/llm-course.git
synced 2024-01-14 16:32:03 +03:00
updated notebook
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
"provenance": [],
|
||||
"machine_shape": "hm",
|
||||
"gpuType": "V100",
|
||||
"authorship_tag": "ABX9TyPNl/WKBYXOzuJCP/puYm6d",
|
||||
"authorship_tag": "ABX9TyMElK+4/0JPkM9Cs0WQVGXA",
|
||||
"include_colab_link": true
|
||||
},
|
||||
"kernelspec": {
|
||||
@@ -37,7 +37,7 @@
|
||||
"\n",
|
||||
"❤️ Created by [@maximelabonne](), based on Younes Belkada's [GitHub Gist](https://gist.github.com/younesbelkada/9f7f75c94bdc1981c8ca5cc937d4a4da).\n",
|
||||
"\n",
|
||||
"This notebook runs on a T4 GPU with high RAM. (Last update: 23 Jul 2023)\n"
|
||||
"This notebook runs on a T4 GPU with high RAM. (Last update: 26 Jul 2023)\n"
|
||||
],
|
||||
"metadata": {
|
||||
"id": "OSHlAbqzDFDq"
|
||||
@@ -88,19 +88,19 @@
|
||||
"dataset_name = \"mlabonne/guanaco-llama2-1k\"\n",
|
||||
"\n",
|
||||
"# Fine-tuned model name\n",
|
||||
"new_model = \"llama-2-7b-guanaco\"\n",
|
||||
"new_model = \"llama-2-7b-miniguanaco\"\n",
|
||||
"\n",
|
||||
"################################################################################\n",
|
||||
"# QLoRA parameters\n",
|
||||
"################################################################################\n",
|
||||
"\n",
|
||||
"# Lora attention dimension\n",
|
||||
"# LoRA attention dimension\n",
|
||||
"lora_r = 64\n",
|
||||
"\n",
|
||||
"# Alpha parameter for Lora scaling\n",
|
||||
"# Alpha parameter for LoRA scaling\n",
|
||||
"lora_alpha = 16\n",
|
||||
"\n",
|
||||
"# Dropout probability for Lora layers\n",
|
||||
"# Dropout probability for LoRA layers\n",
|
||||
"lora_dropout = 0.1\n",
|
||||
"\n",
|
||||
"################################################################################\n",
|
||||
@@ -140,7 +140,7 @@
|
||||
"per_device_eval_batch_size = 4\n",
|
||||
"\n",
|
||||
"# Number of update steps to accumulate the gradients for\n",
|
||||
"gradient_accumulation_steps = 1\n",
|
||||
"gradient_accumulation_steps = 2\n",
|
||||
"\n",
|
||||
"# Enable gradient checkpointing\n",
|
||||
"gradient_checkpointing = True\n",
|
||||
@@ -228,6 +228,11 @@
|
||||
"model.config.use_cache = False\n",
|
||||
"model.config.pretraining_tp = 1\n",
|
||||
"\n",
|
||||
"# Load LLaMA tokenizer\n",
|
||||
"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)\n",
|
||||
"tokenizer.pad_token = tokenizer.eos_token\n",
|
||||
"tokenizer.padding_side = \"right\" # Fix weird overflow issue with fp16 training\n",
|
||||
"\n",
|
||||
"# Load LoRA configuration\n",
|
||||
"peft_config = LoraConfig(\n",
|
||||
" lora_alpha=lora_alpha,\n",
|
||||
@@ -237,11 +242,6 @@
|
||||
" task_type=\"CAUSAL_LM\",\n",
|
||||
")\n",
|
||||
"\n",
|
||||
"# Load LLaMA tokenizer\n",
|
||||
"tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)\n",
|
||||
"tokenizer.pad_token = tokenizer.eos_token\n",
|
||||
"tokenizer.padding_side = \"right\" # Fix weird overflow issue with fp16 training\n",
|
||||
"\n",
|
||||
"# Set training parameters\n",
|
||||
"training_arguments = TrainingArguments(\n",
|
||||
" output_dir=output_dir,\n",
|
||||
@@ -290,9 +290,25 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"%load_ext tensorboard\n",
|
||||
"%tensorboard --logdir results/runs"
|
||||
],
|
||||
"metadata": {
|
||||
"id": "crj9svNe4hU5"
|
||||
},
|
||||
"execution_count": null,
|
||||
"outputs": []
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"source": [
|
||||
"# Ignore warnings\n",
|
||||
"logging.set_verbosity(logging.CRITICAL)\n",
|
||||
"\n",
|
||||
"# Run text generation pipeline with our next model\n",
|
||||
"prompt = \"What is a large language model?\"\n",
|
||||
"pipe = pipeline(task=\"text-generation\", model=model, tokenizer=tokenizer, max_length=200)\n",
|
||||
"result = pipe(\"Tell me a joke\")\n",
|
||||
"result = pipe(f\"<s>[INST] {prompt} [/INST]\")\n",
|
||||
"print(result[0]['generated_text'])"
|
||||
],
|
||||
"metadata": {
|
||||
|
||||
Reference in New Issue
Block a user