【从0到1,训练大模型,从llama3开始】

摘要:

随着大模型越来越多,大家肯定眼花缭乱。不知道选择哪个好,换句话说,不知道哪个才适合自己。
通过社长的实操:chatgpt3.5、gpt4、gpt4o、llama3、通义千问、豆包等大模型,总结是:大家都很好,都能一定程度上的帮助你。
不过怎么说呢,他们什么都懂,但是,什么都不精。
比如:我想写一个sql,他们都可能给你一个错误的版本,只有当你跑完,发现错误之后,告诉他们,他们才会意识到自己的错误,然后重新给你生成一个。这样就导致一个问题,你不敢真正意义上的相信他们。可能在让他们帮你写代码的时候,他们直接偷懒或者把重要的部分写错了,你完全不知道,真正上线的时候,已经晚了。
怎么样才能避免这个问题呢?
只能微调,通过庞大的数据量告诉他,你想要的答案,你想要的回答方式,你想要的是什么。。。

谷歌Colab

当真正想对模型进行微调的时候,你会发现,自己的电脑配置好像不够,可能勉强能够运行大模型,但是在对模型进行大数据量训练的时候,算力的支持上需要更高的性能硬件配置。
这种情况只有## 标题两种解决方案:
1、买更高配置的电脑
2、租用、借用可以进行这种效果的服务器
我们现在呢,就租用谷歌的colab吧。它每天都可以免费使用2小时以上,对进行简单大模型的训练上,算力勉强够了。

使用unsoth

GitHub地址:https://github.com/unslothai/unsloth
详细你可以看它的readme,简单点说,直接用他们的训练步骤,你就可以训练了。

首先,打开GitHub地址,找到你要训练的模型,然后点Start for free。
在这里插入图片描述
然后你可以看到一个谷歌Colab的文件,点击复制,会在你自己的colab上复制一份。
下面,我贴上我的,你们到时候,复制到自己的colab上,一步步使用就行了。
地址是:https://colab.research.google.com/drive/1ltGhvWMWJAMx986V1if9E6_WFD_pZclE#scrollTo=bDp0zNpwe6U_

装环境

%%capture
!pip install "unsloth[colab-new] @ git+https://github.com/unslothai/unsloth.git"
!pip install --no-deps "xformers<0.0.27" "trl<0.9.0" peft accelerate bitsandbytes

选择要训练的模型,可以从huggingface中选择

from unsloth import FastLanguageModel
import torch
max_seq_length = 2048 # Choose any! We auto support RoPE Scaling internally!
dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+
load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False.

# 4bit pre quantized models we support for 4x faster downloading + no OOMs.
fourbit_models = [
    "unsloth/mistral-7b-v0.3-bnb-4bit",      # New Mistral v3 2x faster!
    "unsloth/mistral-7b-instruct-v0.3-bnb-4bit",
    "unsloth/llama-3-8b-bnb-4bit",           # Llama-3 15 trillion tokens model 2x faster!
    "unsloth/llama-3-8b-Instruct-bnb-4bit",
    "unsloth/llama-3-70b-bnb-4bit",
    "unsloth/Phi-3-mini-4k-instruct",        # Phi-3 2x faster!
    "unsloth/Phi-3-medium-4k-instruct",
    "unsloth/mistral-7b-bnb-4bit",
    "unsloth/gemma-7b-bnb-4bit",
    "hfl/llama-3-chinese-8b-instruct-v3"
    # Gemma 2.2x faster!
] # More models at https://huggingface.co/unsloth

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name = "hfl/llama-3-chinese-8b-instruct-v3",
    max_seq_length = max_seq_length,
    dtype = dtype,
    load_in_4bit = load_in_4bit,
    # token = "hf_...", # use one if using gated models like meta-llama/Llama-2-7b-hf
)

## 配置参数

```bash
model = FastLanguageModel.get_peft_model(
    model,
    r = 16, # Choose any number > 0 ! Suggested 8, 16, 32, 64, 128
    target_modules = ["q_proj", "k_proj", "v_proj", "o_proj",
                      "gate_proj", "up_proj", "down_proj",],
    lora_alpha = 16,
    lora_dropout 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱码社长

一分钱不嫌少,谢谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值