首页 > 其他分享 >使用 GaLore 预训练LLaMA-7B

使用 GaLore 预训练LLaMA-7B

时间:2024-09-16 23:23:50浏览次数:7  
标签:wandb 7B -- galore GaLore LLaMA 数据 下载 per

项目代码:

https://github.com/jiaweizzhao/galoreicon-default.png?t=O83Ahttps://github.com/jiaweizzhao/galore

参考博客:

https://zhuanlan.zhihu.com/p/686686751

创建环境

基础环境配置如下:

  • 操作系统: CentOS 7
  • CPUs: 单个节点具有 1TB 内存的 Intel CPU,物理CPU个数为64,每颗CPU核数为16
  • GPUs: 8 卡 A800 80GB GPUs
  • Python: 3.10 (需要先升级OpenSSL到1.1.1t版本(点击下载OpenSSL),然后再编译安装Python),点击下载Python
  • NVIDIA驱动程序

conda create -n GaLore python=3.10

安装依赖包

pip install -r requirements.txt

其中,requirements.txt 文件为:

torch==2.1.0
transformers==4.31.0
tokenizers
datasets==2.14.6
peft
wandb
loguru
nvitop
lion-pytorch
matplotlib
bitsandbytes
scipy
scikit-learn
evaluate

pip install tensorly

注意:Pytorch 需确保2.1.0以上,不然会报错。

数据集准备

本文使用 C4 数据集进行训练,C4 数据集是由 Google 提供的一个大型预训练数据集,用于训练语言模型。C4 数据集包含了数十亿个网页的内容,经过处理和清洗后形成了一个适合用于训练大型语言模型的数据集。这个数据集可以用于训练各种自然语言处理任务,如文本生成、文本分类

语言建模等。语言建模

由于数据集太大,这里只下载了一个文件大约356317条数据。

wandb 启用离线模式

启用离线模式后,wandb 将不会上传数据,但仍然会记录实验过程中的数据和结果。

wandb  offline
# W&B offline. Running your script from this directory will only write metadata locally. Use wandb disabled to completely turn off W&B.

单张 4090 消费级显卡预训练 LLaMA-7B

接下来,使用单个 GPU(例如:NVIDIA RTX 4090)训练 7B 模型,您所需要做的就是指定 --optimizer=galore_adamw8bit_per_layer ,这会启用 GaLoreAdamW8bit 并进行每层权重更新。通过激活(梯度)检查点(activation checkpointing),您可以将在 NVIDIA RTX 4090 上测试的批量大小保持为 16。

执行命令:

CUDA_VISIBLE_DEVICES=3 torchrun --standalone --nproc_per_node 1 torchrun_main.py \
    --model_config configs/llama_7b.json \
    --lr 0.005 \
    --galore_scale 0.25 \
    --rank 1024 \
    --update_proj_gap 500 \
    --batch_size 16 \
    --total_batch_size 512 \
    --activation_checkpointing \
    --num_training_steps 150000 \
    --warmup_steps 15000 \
    --weight_decay 0 \
    --grad_clipping 1.0 \
    --dtype bfloat16 \
    --eval_every 1000 \
    --single_gpu \
    --optimizer galore_adamw8bit_per_layer

CUDA_VISIBLE_DEVICES=3 torchrun --standalone --nproc_per_node 1 torchrun_main.py --model_config configs/llama_7b.json --lr 0.005 --galore_scale 0.25 --rank 1024 --update_proj_gap 500 --batch_size 16 --total_batch_size 512 --activation_checkpointing --num_training_steps 150000 --warmup_steps 15000 --weight_decay 0 --grad_clipping 1.0 --dtype bfloat16 --eval_every 1000 --single_gpu --optimizer galore_adamw8bit_per_layer

好像是因为连不了外网所以没找到数据集:

解决方法,手动下载数据集,上传到服务器:

 下载地址:https://huggingface.co/datasets/allenai/c4/tree/main/en

同样,模型也要提前下好,放在指定位置:

标签:wandb,7B,--,galore,GaLore,LLaMA,数据,下载,per
From: https://blog.csdn.net/m0_60857098/article/details/142304267

相关文章

  • AI大语言模型LLM学习-本地部署大语言模型(Ollama)
    系列文章1.AI大语言模型LLM学习-入门篇2.AI大语言模型LLM学习-Token及流式响应3.AI大语言模型LLM学习-WebAPI搭建4.AI大语言模型LLM学习-基于Vue3的AI问答页面5.AI大语言模型LLM学习-语义检索(RAG前导篇)6.AI大语言模型LLM学习-RAG技术及代码实现7.AI大语言模型LL......
  • 实现 Excel 文件导入到向量数据库(Milvus),并支持 先查询知识库(Milvus),然后再查询大模型(Ol
    为了实现Excel文件导入到向量数据库(Milvus),并支持先查询知识库(Milvus),然后再查询大模型(Ollama)的功能,以下是具体的实现步骤:1.导入Excel数据到向量数据库(Milvus)首先,您需要将Excel文件中的数据向量化,并将这些向量导入到Milvus数据库中。可以使用pandas读取Excel文件,使用......
  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调-unsloth(让微调起飞)-单机单卡-V100(十七)
    一、前言  本篇文章将在v100单卡服务器上,使用unsloth去高效微调QWen2系列模型,通过阅读本文,您将能够更好地掌握这些关键技术,理解其中的关键技术要点,并应用于自己的项目中。  使用unsloth能够使模型的微调速度提高2-5倍。在处理大规模数据或对时间要求较高的场景下......
  • autogen示例九:llamaindex的智能pandasai
            相信对于许多从事Python数据分析工作的小伙伴来说,大家都对尝试使用PandasAI所带来的智能化便捷性充满兴趣。然而,由于缺乏OpenAI的API密钥,许多人只能望洋兴叹,无法真正体验到这一技术带来的便利。        现在有一种替代方案,可以让我们绕过这个限制,那......
  • 《地铁:离去》游戏启动故障:0xc000007B错误的快速排查与修复
    遇到《地铁:离去》游戏中显示0xc000007B错误代码时,不必慌张,以下是一系列简便的排查与解决步骤,助您顺畅启动游戏:1.DirectX&VisualC++重置:•首先,确认您的系统中DirectX和VisualC++Redistributable是否为最新。这些组件对游戏运行至关重要。前往微软下载最新DirectX,同时安......
  • ️ LLaMA-Omni: 人机口头交互的全新体验
    在人工智能飞速发展的今天,大语言模型(LLM)已经成为我们日常生活中不可或缺的助手。然而,大多数LLM仍然局限于文本交互,这在某些场景下可能会显得不够便捷。想象一下,当你双手沾满面粉正在厨房忙碌时,如果能直接用语音向AI助手询问下一步的烹饪步骤,那该有多方便啊!......
  • 大模型微调j技术:GaLore、BAdam、Adam-mini、DoRA、LongLoRA、LLaMA Pro、Mixture-of-D
    引言1.1大模型微调的重要性随着人工智能技术的飞速发展,大型语言模型(LLMs)如GPT-3、BERT等已经成为自然语言处理(NLP)领域的核心技术。这些模型通过在大规模文本数据上的预训练,掌握了丰富的语言知识和统计特征。然而,尽管这些预训练模型在通用任务上表现出色,但在特定任务或领......
  • 零基础入门AI:一键本地运行各种开源大语言模型 - Ollama
    零基础入门AI:一键本地运行各种开源大语言模型-OllamaAI大模型全套学习资料“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了......
  • 如何通过LlamaIndex工作流程简化我的研究和演示
    LlamaIndex最近引入了一项新功能:Workflows。这对于那些希望创建兼具可靠性和灵活性的AI解决方案的人来说非常有用。为什么呢?因为它允许你通过控制流程定义定制化步骤。它支持循环、反馈和错误处理。就像一个AI驱动的流水线。但与通常实施为有向无环图(DAG)的典型流水线不同,Workf......
  • 关于RTX 4090 微调llama2模型时出现nvcc fatal : Unsupported gpu architecture 'comp
    RTX4090是现在普通人可以轻松获取的最好的显卡了。运算速度仅次于专业图形卡TeslaA100,A800,H100RTX4090显卡是可以单卡推理llama27b和13b模型的,7b模型占用缓存14G左右,13b模型单卡推理显存占用在23G多点(只是运行一段时间容易爆显存),所以普通人都是可以使用llama2大语言模型。......