业余开发者自训 7B 模型登顶 Leaderboard
展示按教程学习的非专业开发者也能训练出高性能开源模型,降低 LLM 开发门槛。
展示按教程学习的非专业开发者也能训练出高性能开源模型,降低 LLM 开发门槛。
始终查看我的 space 以了解我的模型的最新基准测试结果!
https://huggingface.co/spaces/CultriX/Yet_Another_LLM_Leaderboard
T: 🟦 Model: CultriX/MistralTrix-v1 📑 Average: 73.39 ARC: 72.27 HellaSwag: 88.33 MMLU: 65.24 TruthfulQA: 70.73 Winogrande: 80.98 GSM8K: 62.77
目前在 LLM 排行榜上排名第 1 的 7B LLM,哇!我根本没有料到这个结果,在 LLM 和计算机科学方面我根本不是专业人士,只是个喜欢钻研和折腾的人。
对于那些想知道我是如何做到这一点的人,答案是我只是尝试自己应用了这篇精彩文章中概述的技术:https://towardsdatascience.com/fine-tune-a-mistral-7b-model-with-direct-preference-optimization-708042745aac 因此,所有功劳基本上都归功于写那篇文章的人。他免费提供了我用来训练这个模型的确切 Colab notebook,以及一个很好的 GitHub 页面,我希望他不会介意我分享:https://github.com/mlabonne/llm-course/ 所以非常感谢他分享他的知识,并在这个过程中教会了我一些东西!
我尝试自己量化模型,我对此基本上也没有什么头绪,但在我测试时似乎运行良好:https://huggingface.co/CultriX/MistralTrix-v1-GGUF
我要再说一遍:"我是一个完全的初学者,所以如果这些最后效果不好,不要感到惊讶。"
你已被警告 :)
(在单个 Colab GPU 上训练,用时不到几小时)
MistralTrix-v1 是一个 zyh3826/GML-Mistral-merged-v1 模型,使用 Intel 的 neural-chat-7b-v3-1 数据集通过 Direct Preference Optimization (DPO) 进一步微调而成。它在多个基准测试上超过了原始模型(见结果)。
它直接受到 Intel/neural-chat-7b-v3-1 的作者描述的 RLHF 过程的启发,以改进性能。我使用了相同的数据集并将其重新格式化以应用 ChatML 模板。
训练该模型的代码可在 Google Colab 和 GitHub 上获得。微调在具有 40GB VRAM 的 Google Colab A-1000 GPU 上耗时约一小时。
peft_config = LoraConfig(
r=16,
lora_alpha=16,
lora_dropout=0.05,
bias="none",
task_type="CAUSAL_LM",
target_modules=['k_proj', 'gate_proj', 'v_proj', 'up_proj', 'q_proj', 'o_proj', 'down_proj']
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
load_in_4bit=True
)
model.config.use_cache = False
ref_model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16,
load_in_4bit=True
)
training_args = TrainingArguments(
per_device_train_batch_size=4,
gradient_accumulation_steps=4,
gradient_checkpointing=True,
learning_rate=5e-5,
lr_scheduler_type="cosine",
max_steps=200,
save_strategy="no",
logging_steps=1,
output_dir=new_model,
optim="paged_adamw_32bit",
warmup_steps=100,
bf16=True,
report_to="wandb",
)
dpo_trainer = DPOTrainer(
model,
ref_model,
args=training_args,
train_dataset=dataset,
tokenizer=tokenizer,
peft_config=peft_config,
beta=0.1,
max_prompt_length=1024,
max_length=1536,
)
CultriX/MistralTrix-v1 的模型树
使用 CultriX/MistralTrix-v1 的 Spaces 26 个